你好,我是小牛。
今天借之前小牛面试某大厂测开的一道真实面试题,来聊一下如何保证被测软件测试质量?或者说保证软件测试质量都有哪些手段方式?
这类问题其实比较经典,其它的诸如此类的问题还有你是如何保证软件测试测试用例覆盖度的等等。
这些问题都是开发性问题,不像技术类问题会就是会,不会直接卡死。
但恰恰这类问题可以反映出一个测试人员的测试思维怎么样,平常日常工作中有没有站在一个更好的维度比如管理者的角度去思考问题,而不仅仅是一个测试用例的执行者。
下面借助这道经典的开放性面试题来聊一下这道题都有哪些回答思路:
首先几乎所有的公司都会有测试流程,不同的公司可能不一样,但大同小异。那么为什么要有完善的测试流程呢?不就是为了保证软件产品质量吗?
除此之外,还会引入自动化,测试平台等技术手段等等,这些其实本质上都是更好的为测试服务,保证软件质量,一起坚守好软件产品上线前的最后一道防线。
这么一分析的话,这道题目的答案就很容易了,相当于把一个很大有些宽泛的问题拆分成了下面具体形象的两个小问题。
软件测试人员是如何通过完善的测试流程保证软件产品质量的?以及可以引入哪些技术手段保证软件产品质量?
接下来具体答案来了!
一.需求评审,设计评审。
这个是测试的最初阶段,对应开发,产品,测试一起讨论需求方案的可行性,技术方案的实现可行性,头脑风暴。当然这个阶段一般产品占据主导权。
这个阶段的引入也是为了从源头上把控软件产品质量,防止后期出现频繁更改需求满足业务场景,毕竟方向错了,满盘皆输。
二.测试用例评审。
这个就是测试占据主导权了,对于比较大的需求,一般可以先用xmind脑图梳理出业务场景,然后使用excel细化测试用例。
最后拉上开发,产品,一条一条去过测试点,看有没有遗漏疏忽的,这是提高测试用例覆盖度比较重要的手段,同时也可以保证软件产品质量。
三.交叉测试。
这种一般是针对比较大的,而且相对重要的需求。一个人写好测试用例,然后多人去执行测试用例,防止疏忽漏测。
四.回归测试。
一般上线前会进行回归测试,主要防止开发修改代码时,尤其是一些底层代码改动,会牵连到之前的功能,所以要做深度回归,至于回归范围,一般和开发进行一起评估即可。
五.产品走查。
把控软件产品质量不仅只有测试参与,产品也会进行主流程验证,看是否符合当时需求设定,毕竟想实现什么效果产品是最了解的。
六.线上生产验证。
一般公司上线为了减少对用户的影响,都会选择晚上12点后进行上线,这时候进行线上生产验证可以第一时间发现问题,进行代码回滚。将损失降低到最低。
七.引入自动化回归测试。
一般用途目的有两种:
引入自动化就属于是技术手段,可以更加高效,覆盖更全的的保证软件产品质量。
以上,说了这么多,面试时肯定说的越全越好了,我在面试时,面试官就一直追问还有吗?
这篇文章不涉及具体技术,但是可以很好地提升测试思维,站在更好的角度去看问题,保证产品软件质量。希望可以起到抛转引玉的作用,其它开放性问题一通百通。
最后,牛哥推出了一个白嫖模拟面试服务。已经帮很多位小伙伴进行模拟面试了,反馈很不错,准备坚持搞下去。