【如何保证测试质量】避免误解案例、操作习惯、惯性思维等原因导致的测试失误
有时候做大量的测试执行时,特别是对熟悉的产品迭代开展测试,会发生一些因测试人员操作习惯、惯性思维等导致的测试失误,相信各位测试同事在工作中都遇到过。
误解案例步骤则容易发生在测试新人初次接触复杂流程的案例中。
先做一些定义
- 测试案例设计已经覆盖该测试点
- 案例颗粒度适中。例如:预期结果写了“CARD_INFO表登记正确”,不具体写到每一个发生变化的数据字段
- 发生变化的数据确实出现在测试人员视野里
- 流程内出现的提示看似正常实则异常。例如:输入户口号后闪过一个什么提示,不处理也能跑通流程,测试人员以为是加载过程或网络不稳定之类的问题便直接忽略。
- 测试步骤编写来自熟练人员的角度,新人可能误会其中一些步骤。
我自己的经历-缺少一个步骤
犯错过程
第一次是新手时期遇到的,当时作为测试人员,执行另一个同事负责的测试项目,其中有一部分案例的流程是这样的:我的数据先在A平台做一些处理,再把数据私聊发给同事甲,同事在B平台做一个处理后,通知我继续执行后续步骤。我的数据明面上没有发生变化,我继续在C平台检查后可以完成一条案例。
在这个过程中,我没看懂案例,无视了中间步骤,但又以为自己看懂了,所以即不把数据交给中间处理的同事,也不去询问项目负责人案例准确的操作流程。而偏偏这些数据不需要中间处理,也能跑完测试流程,只是会缺失一部分后台数据登记,以及B平台相关的记录为空。
当我很畅快的执行完二十条案例后,同事甲才来询问测试负责人:“为什么没有收到需要中间处理的数据呢?” 我才发现闯祸了,我缺少了一个步骤,二三十条案例需要重新执行。 此时项目剩余时间已经不多了,同事加班帮我完成了执行出错的案例,我很愧疚也很感动,泪目。
后续就是跟领导讨论我这次遇到的问题,以及下次如何应对此类不熟悉的项目。这段经历是我在新手时期比较大的一个教训,获得很大的提升。
收获的经验教训
- 参与不熟悉的项目,一定要学会需要的工具、平台等,确保操作准确;
- 测试别人设计的案例时,考虑到不同的人设计方法不同,一定要核对步骤和检查点,避免检查不到位或者步骤错误。类似特种部队行动前要对表。
经历2-忽略视野内习以为常的元素
过程
具体的错误场景已经记不清了。我们组内最常测试的几个产品,由于使用频率非常高,操作页面跳转非常熟练,就像大多数时候安装软件一样狂点下一步、不仔细阅读页面上的内容,只关注最终结果。
在一次案例数量比较多,又主要为前端页面手工执行的测试项目里,我们从其他组借来两位新人临时补充人手。而新人对产品不熟悉,每一个点击、每一页跳转都认真执行,也非常关注页面上出现的所有元素。新人在测试中果然发现了一处问题,在某个页面的表格内有元素未被正确翻译,例如存期"M03"显示成了“M:03”。我记得该项目不止有这么微小的显示错误,但时间久远记不清了。
导致该缺陷的原因是前端开发的编码有误,而前期分析时未把这些表格列为测试点,正是由于组内开发和测试都非常熟悉页面,认为我方开发没做改动,不需要测试。而正好前一段时间有另外一组开发优化了前端代码调用的一个组件,导致了显示格式的变化。
从测试的角度思考
- 前期分析设计:我们以为没有变化的功能如果调用了不少其他开发组提供的组件,那就有可能存在未被告知的改动。应对措施有加强联系、设计对应组件的覆盖型测试案例等。
- 测试执行怎么做到认真仔细: 我这里想举个例子,达美航空1141号航班空难正是因为不仔细执行起飞前检查单,在襟翼检查项脱口而出“确认”却没有实际目视检查襟翼开关,才导致了起飞时失速坠毁。飞机的各项检查单内容其实就是测试行业的测试案例,一定要仔细确认每一项元素,粗心会酿成大祸。所以设计案例时尽量把检查点列出,执行案例时也应该依次检查各个检查点,检查各个元素。