从不同的角度,软件测试会有不同的测试原则。
根据测试目的的不同,软件测试有以下12项基本原则:
1、尽早地和不断地进行软件测试
尽早地测试,尽早地发现和解决问题,可以极大地降低成本,可以保证软件高效地开发;不断地进行测试,将测试活动贯穿整个开发过程,可以保证软件开发的质量。
2、避免由程序员测试自己的程序(这里的测试不包括单元测试工作),应该由独立专业的软件测试机构来完成
软件测试需要站在客观的角度找出代码中隐藏的问题,而开发人员对于自己的程序只会愿意验证软件是正确的,所以,软件测试应当由独立专业的测试人员进行。
3、设计测试用例时,应当包含合理的输入条件和不合理的输入条件
软件测试不能只验证正常的情况,还应验证在异常的情况软件能否正常反应。软件通过正常测试,只能说是“能用”,软件通过异常测试,才能说是“好用”。
4、测试用例应当由测试输入数据和与之对应的预期输出结果两部分组成
测试用例不仅要有输入数据,还应有测试步骤和预期的输出结果。这样测试人员才可以按照测试用例来执行测试,在测试完成后,将实测的结果与预期的输出结果比较,以此判断该测试用例是否通过。
5、充分注意测试中的集群现象,测试后遗留的缺陷数目与已发现的缺陷数目成正比
软件测试不能因为发现几个缺陷就沾沾自喜,要意识到可能还要更多的缺陷没有发现,需要重新设计测试用例或者增加新的测试用例。
6、严格执行测试计划,排除测试的随意性
软件测试应当制定测试计划,对测试环境、测试对象、测试方法、测试进度进行策划,测试依据计划执行,测试过程可以得到控制。
7、测试时间应当尽量宽松,不要希望在短时间内可以完成高水平的测试
好的测试需要充足的时间来完成。测试计划、设计、执行以及对测试结果的分析,都需要有足够的时间来完成。
8、妥善保存测试计划、测试用例、缺陷统计和最终分析报告,为维护提供方便
各种测试文档和测试记录,不仅反映了软件的质量状况,同时也反映了软件开发的历程。所以,维护好这些文档和记录,就能够为后续的软件维护提供便利。
9、每一个测试结果都要避免出现不可再现的测试
软件测试是需要再现的,如果测试不能再现,怎么对更改后的软件进行验证呢?
10、如果在某一代码段中发现的缺陷越多,根据测试集群原理,在该代码段可能还潜伏这更多的缺陷
所以应当对出现错误群集的程序段进行重点测试,以提高测试投资的效益。
11、让最好的程序员去进行测试的工作,不要为了测试变得容易而更改程序
优秀的程序员有着丰富的开发经验,这有助于他们设计出更有效的测试用例。测试是为了发现软件中存在问题,确保软件的质量,而软件的质量是设计出来的,所以不要为了方便测试去更改程序,那就是捡了芝麻丢了西瓜。
12、设计软件系统要保证集成到系统中的每个模块仅集成一次,注意确保软件的可测性
如果设计质量很高,比如满足设计模式的6大原则,使得每个模块仅集成一次,确保软件的可测试,这样,会使得测试人员也能把精力放在找出更高质量的缺陷,而不是那些因设计质量低下带来的低级错误。
源自公众号 软件工程之思