一个软件测试必问面试题——除了功能测试,你还会做什么测试?性能、自动化、兼容性…
引言
用例设计是测试工程师的必备技能。所以在面试时会有一个用例设计的问题,比如:给你一个杯子怎么测试?扫码支付怎么测试?面试官会挑一个大家非常熟悉的产品的一个功能让设计用例。
面试官到底想考察什么?
衡量一个人员的水平,主要测试的广度和深度两个方面,这是面试官最关心的。
什么是测试的广度?
除了功能测试,你还会做什么测试?性能、自动化、兼容性… 我总结一个图供参考,欢迎大家关注公众号:测试人追风,获取软件测试大厂面试资料/。
什么是测试深度?
就拿扫码支付这个例子来说吧。 大家设计用例时可能会设计,这个码能不能扫成功、会不会自动化刷新、如果扫非本App码会怎么样、光线不好怎么办、容不容易扫出来、支付是否能成功、各种支付方式、使用红包、支付失败怎么办… 这些场景都比较基础。
二维码到底是什么?它是怎么存储数据的?如果存储URL的话,可以存储多少数据,数据多是不是不容易扫了
支付过程用https传输,是怎么传输的,什么TLS握手,如果用Burp Suite拦截,修改支付金额能支付成功吗?
支付时比较卡,怎么定位卡的原因,怎么用Time Profiler定位到卡顿地方
接口有性能问题,怎么定位,什么是Full GC,怎么用jstat、jstack、jmap定位问题…
这就是测试的深度
怎么回答到这个问题?
这个是什么App,什么功能确定后。要冷静,不要马上回答。即使像微信这种常用软件,也很难一下想到所有场景。可以打开App先看一下有那些功能,这样可以帮助想场景。就像看着需求做探索性测试一样。然后从测试广度设计用例,这样面试官会觉得你不仅会功能测试,其他方面都懂。自己比较擅长那一块可以多设计一些用例,让面试官感受到你某些方面技术真的很专业。