天天看点

要想做好软件测试工作,就要学会思考并问为什么

编写背景:

  故事1:搜索列表页的一个神奇bug

  问题现象:一个已经测试通过并上线的商品搜索列表页,页面功能很简单、有搜索的筛选项、商品展示、商品翻页功能。通常大家在测试翻页功能时,基本测试点都是测试上一页、下一页、具体页数、页数输入框(正常、异常);有意思的是这个搜索列表结果有500多个商品1百页,我就一直点击下一页、一页一页的浏览商品,当浏览到第24页时,发现浏览器访问报错提示连接不上;访问其它网站或该网站的其它功能就正常。

  问题分析:此处的点击下一页的翻页程序代码,每翻一页,url请求就会多加一串字符

  “swifrpiduwmh0gchjpy2vfq05zojuwmdxkaw1ppnbyawnlx0nowtp7mcbutya1mdb9ihbyawnlx0nowto1mda8smltat5wcmljzv9dtlk6ez

  agve8gntawfsbwcmljzv9dtlk6ntawpeppbwk+chjpy2vfq05zon”;

  这串字符出现6次以上后,url访问长度超过2k浏览器请求就会参数丢失,导致页面访问报错

  5个思考点:

  思考1:为什么测试的时候没有发现呢?其中一个测试人员说,这个场景很少有人想到。

  思考3:对比其它网站,为什么别的网站没有这种问题呢?开发在设计上没有考虑这种情况?

  思考4:为什么开发没有自测发现这个问题?我在想,开发没有考虑到url会有问题

  最后我想,还好这个场景不常见,影响范围没有很大的杀伤力。

  故事2:两个bug还是1个bug

  现象:一个问题是:商品买满打xx折,从购物车进入到订单提交页中,商品总结算金额显示不正确;另一个问题是:商品买满减xx元,从购物车进入到订单提交页中,商品总结算金额显示不正确。开发认为这是1个bug,因为都是商品总结算金额显示不正确;我认为是2个bug,因为是两个不同的测试用例场景得出的问题,不能因为现象一样就认为是一个bug,同时怀疑代码里面的处理逻辑是不一样的。

  5个思考点?

  思考1:站在用户角度,如果是用户发现的,我们告诉用户是1个问题?用户能明白吗?

  思考2:站在开发设计角度,需要知道那个地方的实现逻辑都是一个类或方法吗?即使是一个类或方法,当参数不一样时内部处理逻辑一样吗?找个时间问具体写代码的开发人员问问就知道了?

  思考3:下次碰到此类开发管理人员该如何相处?我在想:只要改了就行,不能和这类人去纠结1个还是2个,因为道不同不能理解;但是测试工作总结时要算成2个。

  思考4:为什么不能报成1个bug,因为当把多个bug放到1个bug里报时,如何有效跟踪?(比如:开发修改转测后,测试验证有一部分没有修改好,这个bug会来回修复、打开);如何有效做bug分析?(测试任务结束后,如何分类分析bug的错误类型及开发工作改进建议数据分析)。

  思考5:为什么这么明显的bug开发没有自测出来?开发做自测了吗?这样的开发管理人员管理的开发团队,转测出现这样低级的bug,消耗了多少不必要的测试成本(测试环境部署+bug报告跟踪和验证时间)和开发修复版本成本?降低了多少工作效率?这类bug有多少?

  最后我想:我要通过什么方法来改变?

====================================分割线================================

最新内容请见作者的github页:http://qaseven.github.io/

继续阅读