一、前言
正常来说,我们在测试缺陷的时候都是按照case来测试的,但是有些场景,例如说发散思维这种场景,就会找到一些比较不太正常、不好复现的缺陷,然后如果要辅助研发修复,就会极为痛苦。
二、场景描述
大概我遇到这样的问题是一年多以前吧,当时是测试某个输入法APP的物理键盘的功能,安装输入法APP后,连接物理键盘,在持续输入一段中英文混合字符后回车停止输入,就发现候选词展示后,字符不断自己重复输入,直到死循环。
三、缺陷比喻
在发现缺陷的瞬间,看到的现象就是手离开键盘了,程序还在自己打字,并且都是重复不停的字,就好像透明人在有思维打字。
四、场景复现
想到了几个场景复现的办法,描述如下:
1. 根据字符
前面提到了,其实输入的字符就是中英文混合的字符,那么输入一段中文,输入一段英文,混合输入应该就可以复现,然而并无!
2.根据候选词栏/候选词列表展示
简要描述一下候选词栏,就是例如你输入'nihao',如果选择的是中文输入法,就会展示一系列候选词如'你好',‘你好吗’,‘你号’
点击候选词栏的展开(小箭头按钮)就是候选词列表。
于是尝试了候选词栏和候选词列表两种方式没有复现。
3.根据行为习惯
不知道大家能否感受到,每个人打字都会有自己的习惯,例如有的人会打一个词直接上屏,有的人会三五个字回车,有的人会一句话一个逗号,在上面符合常理的推断后,开始自闭,然后就尝试无意识按照人的行为习惯来推测问题,比如说 我有意识模仿行为,这个缺陷出现的概率就会比较低,因为是按照特定思维,特定步骤来的,特定的东西会局限住开拓性。然后无意识的打字,反而复现的概率较高,,但是无意识的行为又不能准确复现。
4.结合行为习惯固定复现操作
既然无意识的行为习惯可以复现,我就开始按照之前的打字习惯,重复总结,尝试记录每次我都做了什么,后来发现我会中英文穿插去选择候选词,并且每到一句话完成就会回车,综合每次的行为就准确复现了上述问题。
五、总结
其实我相信,每个测试或者编程的同行业者,都有一些自己的行为习惯,可能会令我们工作上获得益处或者头痛,大家都理性看待就好,人生是旷野而非轨道,无需每个人都只有一面。