本篇文章主要来谈软件测试的策略。

第一,关于选择测试方法:选择最合适当前项目的测试方法,

在做软件测试的时候,需要根据不同的项目,不同的开发模式,开发阶段,项目的轻重缓急来选择测试方法,做好测试工作的统筹。

例如一款社交软件发版比较紧张,无论如何,首先需要保证它的聊天功能是正常的。而对于频繁发版的部分,适当地考虑使用自动化技术来代替重复的手工测试。

第二,角色与职责:需要在测试策略中,明确定义各个角色,以及该角色的职责。

在一个项目中,有产品经理(负责输出需求文档等)、项目经理(统筹项目的规划)、开发工程师(编码)、测试经理(统筹测试工作,制定测试计划等)、测试工程师(测试用例设计开发及测试实施等)等,这一系列的角色,需要明确理解各自的职责。只有分工明确了,工作才能高效开展。如果出现职责模糊不清,就容易发生互相推卸责任的情况。

第三,环境需求:描述测试时需要的系统环境(软件,服务器),包括软硬件以及网络环境等。
在澄清环境需求的时候,测试组织可以了解到项目对于环境的性能要求,同时,环境搭建的成本,是随着性能要求水涨船高的。那么测试环境是否要迎合这一系列的要求,如果不能够比较真实地模拟真实环境,将来上线又会带来多大的未知风险?

第四,风险分析:影响测试过程的风险都应尽早被识别出来,而且必须有相应的解决办法以便清除或者减轻这些风险。

如果一个软件频繁发版时,质量难以保证,那么就需要不断地对新功能进行测试。但是时间和精力都是有限的,因此,测试的负责人需要考虑到时间和人力方面的风险。

第五,测试进度评估:测试进度主要是评估完成测试所需要的时间。

关于项目的进度,首先需要明确测试范围(比如增加一个模块,部分功能是否会因此受到影响,则对其重点测试),再根据测试资源的多少来制定能被各方面认可的测试进度计划。

第六、回归测试:用来保证之前修复的 bug 不会影响软件的其他部分而进行的重新测试。

测试人员需要找到一个方法来确定哪些测试用例应该在回归测试中运行,不能太多,因为资源有限,也不能太少,否则会达不到必要的测试强度。

第七,优先级:测试范围内的各个模块,重要程度都不一样,同时,测试资源有限,为测试的模块排定优先级就显得十分必要。

以上就是本篇文章所要分享的内容,欢迎各位大牛指正。你的指正,能让我在测试之路上快速成长。

Leo Never Stop Fighting!


↙↙↙阅读原文可查看相关链接,并与作者交流