
刚入行的测试人如何快速判定软件问题,已经工作一段时间的测试人如何成长?废话不说,直接上干货!
如何快速找出程序/软件问题
01
先测试变更部分(如新增需求、修改过bug的代码),再测试没有变更的部分。
因为:修改和更新意味着有新的风险。
02
先测试核心部分(如重点功能、核心需求),再测试辅助功能。
因为:有限时间内,测试完关键和常用功能,意味着完成产品基本功能的测试。
03
先测试功能,再测试性能。
因为:只有功能正常后,测试性能再有意义,否则功能改动后,之前的性能测试报告就变得无用。
04
先测试常用场景,再测试少见场景。
因为:有限的时间内,完成常用场景测试能尽量覆盖用户使用场景,避免基本错误出现。
05
先测试影响大的问题,再测试影响小的问题。
因为:影响大的问题造成的破坏大于影响小的问题。
如何提供一份具有信服力的测试报告
01
收集和提供测试评估证据,如测试环境、复现方法、复现频率、故障现象截图/视频录像等。
因为:足够的证据和信息能够减少测试人员与开发人员的沟通成本,能够帮助开发人员快速地定位故障代码。
02
尽量使用逻辑的表达方式,如given……when……then,表述已知xx条件下,进行xx操作,产生xx结果。
因为:测试人员在梳理逻辑性的同时,可以加深对故障诱因的确定,且逻辑清晰的表达方式能让开发人员快速地理清前因后果。
03
进行有效地拓展推论,如当前故障的波及影响,可能影响的其他模块或功能。
因为:有的故障(如接口故障)可能对其他模块产生影响,在分析当前故障影响时,推论对其他模块的波及能够提前发现隐藏的波及故障。
测试人员如何进行思考
01
技术性思考,如理解程序/软件内部结构、数据流转过程、状态变换等等。
因为:只有了解软件内部运作,才能进行更深入的测试,挖掘深层故障。
02
创造性思考,如对观察到的现象进行有效推论,寻找可能存在的问题,或对使用工具/测试方法进行想象,寻找更有效的工具。
因为:创造性思考,拓展性推论更能“奇兵制胜”,提高测试效率。
03
批判性思考,如不要“人云亦云”,观察到某个可能是故障的现象时,不要因为开发人员的否定而放弃,要坚持“寻找真相”,哪怕最终证明的确不是故障。
因为:开发人员也有可能局限于部分场景,判断失误,在“寻找真相”的过程中,能够加深对程序/软件的理解,收集足够的证据完成判断。
04
实用性思考,纸上得来终觉浅,需知此时要躬行。只有付诸实践的思考才能有结果,否则终如纸上谈兵。
因为:即使全面的思考和有效的推论也难免有所遗漏,只有在实践过程中,不断改进和优化,才能将思考的方案、方法与现实情况有机结合。
如何在实践中进行探索
01
向前探索,从已知探索未知。
如:某个界面配置页面,点击“下一项”试试。
02
向后探索,从当前状态返回前置状态。
如:某个界面配置页面,点击“上一项”试试。
03
横向探索,跳出当前状态,切换到其他状态。
如:某个界面配置页面,未完成配置,刷新页面试试。
如何快速产生探索性测试思路
01
测试程序边界,常用的边界值测试法。
如:某个输入窗口限定输入1-100,试试1和100的输入值测试。
02
测试所有错误信息,即异常代码处理。
如:程序运算溢出导致内存增加,溢出异常频发出现可能导致内存溢出。
03
测试非默认配置。
如:软件安装会提供默认选项配置,试试非默认配置。
04
测试极限测试。
如:在硬件资源告警时,测试程序运行情况。
很多人说测试是需要经验的,的确,有经验的指导能够帮助测试人员更好地测试。“测试经验谈”第一部分就先到这里吧~

如若转载,请注明出处:https://www.yiheng8.com/2803.html