软件测试需要遵循如下原则:
1) 应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。
由于原始问题的复杂性,软件本身的复杂性和抽象性,软件开发中各个阶段工作的多样性,以及参加开发各种层次人员之间工作的配合关系等因素,使得开发的每个环节都可能发生错误。所以我们不应把软件测试仅仅看作软件开发的一个独立阶段,而应当把它贯穿到软件开发的各个阶段中。坚持在软件开发的各个阶段的技术评审,这样才能在开发过程中尽早发现和预防错误,把出现的错误克服在早期,以提高软件质量。—–全过程测试(+评审)
2) 测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成。
3) 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。
所谓合理的输入条件是指能验证程序正确的输入条件,而不合理的输入条件是指异常的、临界的、可能引起问题异变的输入条件。用不合理的输入条件测试程序时,往往比用合理的输入条件进行测试能发现更多的错误。
4) 充分注意测试中的群集现象。
测试时不要被一开始发现的若干错误所迷惑,找到了几个错误就以为问题已经解决,不需要继续测试。经验表明,测试后程序中残存的错误数目与该程序的错误检出率成正比。在被测程序段中,若发现错误数目多,则残存错误数目也比较多。这种错误群集性现象,已为许多程序的测试实践所证实。
5) Good-enough原则
这是一种权衡投入/产出比的原则,在投入与收益上取得平衡。测试既不要不充分,也不要过分。Zero-Bug是一种理想,Good-enough是我们的原则。
6) 严格执行测试计划,排除测试的随意性。
7) 应当对每一个测试结果做全面检查。
有些错误的征兆在输出实测结果时已经明显地出现了,但是如果不仔细地全面地检查测试结果,就会使这些错误被遗漏掉。所以必须对预期的输出结果明确定义,对实测的结果仔细分析检查,抓住征兆,暴露错误。
8) 妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。