博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
要想做好软件测试工作,就要学会思考并问为什么
阅读量:6453 次
发布时间:2019-06-23

本文共 2059 字,大约阅读时间需要 6 分钟。

编写背景:

  最近亲自在跟两个重要项目,感受很多,明天准备写其中一个项目的项目总结在组内分享,有一个还在背后默默关注。

  在深圳工作1年了,每当组内的测试人员出现一些很常识的问题和过的测试人员回答的一些问题;非常明显的感觉到南北测试人员水平和对测试工作理解的差异,在深圳想找到有共鸣的人好难啊。

  今天写这个,只是把工作中的一些片段和场景与大家分享,希望测试新人在做测试工作中多一些执着、多一些思考和多问为什么?

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

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

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

  “swIFRPIDUwMH0gcHJpY2VfQ05ZOjUwMDxKaW1pPnByaWNlX0NOWTp7MCBUTyA1MDB9IHByaWNlX0NOWTo1MDA8SmltaT5wcmljZV9DTlk6ez

  AgVE8gNTAwfSBwcmljZV9DTlk6NTAwPEppbWk+cHJpY2VfQ05ZOn”;

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

  5个思考点:

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

  思考2:测试人员如何能测试出这种问题呢?我在想,聪明的办法那就是对设计实现熟悉了解,了解开发是如何实现的,应该可以想出来这个地方会有问题。另一个办法就是增加这样的测试点,用脚本来测试这种大数据量的功能极限测试。

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

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

  思考5:我们如何改进和提高呢?我在想,测试除了要补充;开发要整理出搜索结果列表页的一些设计规范,同时要参考和同行对比;开发要对系统的实现逻辑加强极限测试。

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

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

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

  分析:为什么这种问题在我过去工作8年的公司和开发团队,没有开发管理人员认为这类bug是1个,而认为是2个;而这位开发管理人员认为是1个;我在想:原因是这位开发管理人员很害怕bug?还是这位开发管理人员很不喜欢看到很多的bug,因为今天我们测试两个页面,4小时报了35个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/

转载地址:http://ztwzo.baihongyu.com/

你可能感兴趣的文章
JMeter IP欺骗压测
查看>>
Serializers 序列化组件
查看>>
最简单的RPC框架实现
查看>>
Servlet 技术全总结 (已完成,不定期增加内容)
查看>>
[JSOI2008]星球大战starwar BZOJ1015
查看>>
CountDownLatch与thread-join()的区别
查看>>
linux下MySQL安装登录及操作
查看>>
centos 7 部署LDAP服务
查看>>
揭秘马云帝国内幕:马云的野心有多大
查看>>
topcoder srm 680 div1
查看>>
算法专题(1)-信息学基本解题流程!
查看>>
模拟文件系统
查看>>
使用SSH连接Windows10 Ubuntu (WSL),Pycharm
查看>>
poj2155
查看>>
CSS动画之转换模块
查看>>
swift - UITextField 的用法
查看>>
检索和关闭游标+检索游标+关闭游标
查看>>
[开源]KJFramework.Message 智能二进制消息框架 -- 性能提升
查看>>
iOS项目分层
查看>>
CocosCreator 小知识
查看>>