1
软件测试的基本原则
为了有效地进行软件测试,软件测试人员应理解和遵循以下基本原则。
(1)应当把“尽早地和不断地进行软件测试”作为软件测试人员的座右铭
由于软件系统的复杂性和抽象性,软件开发各个阶段的多样性,以及开发过程中各个
阶段人员之间工作的配合关系等因素,使得软件开发的各个阶段都可能产生错误。所以不
应把软件测试仅仅看作软件开发的一个独立阶段,而应当把它贯穿到软件开发的各个阶段
中,坚持在软件开发的各个阶段进行技术评审,这样才能在软件开发过程中尽早发现和预
防错误,杜绝某些隐患,提高软件质量。
(2)软件开发人员应避免测试自己开发的程序
人们常常由于各种原因而产生一些不愿意否定自己的心理,认为揭露自己程序中的问
题不是一件愉快的事情。这一心理状态就成为测试自己编写程序的障碍。另外,软件开发
人员对软件规格说明理解错误而引入的问题则更难发现。如果由别人来测试软件开发人员
编写的程序,可能会更客观、更有效,并更容易取得成功。但要区分程序测试和程序调试
(debuging),调试程序由软件开发人员自己来做可能更有效。
(3)测试用例应由测试输入数据和与之对应的预期输出结果两部分组成
在进行测试之前应当根据测试的要求选择测试用例(Test Case),测试用例不但需要测
试的输入数据,而且需要针对这些输入数据的预期输出结果。如果对测试的输入数据没有
给出预期的输出结果,那么就缺少检验实测结果的基准,就有可能把一个似是而非的错误
结果当成正确结果。
(4)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件
合理的输入条件是指能验证程序正确性的输入条件,而不合理的输入条件是指异常
的、临界的、可能引起问题变异的输入条件。在测试程序时,人们常常倾向于过多地考虑
合法的和期望的输入条件,以检查程序是否做了它应该做的事情,而忽视了不合法的和预
想不到的输入条件。事实上,软件系统在投入运行以后,用户的使用往往不遵循事先的约
定,使用了一些意外的输入条件,如用户在键盘上按错了键或输入了非法的命令。如果软
件对这种异常情况不能做出适当的反应,给出相应的信息,那么就容易产生故障,轻则输
出错误的结果,重则导致软件失效。因此,软件系统处理非法命令的能力也必须在测试时
受到检验。用不合理的输入条件测试程序时,往往比用合理的输出条件进行测试更能发现
错误。
(5)充分注意软件测试时的群集现象
测试时不要以为找到了几个错误就不需要继续测试了。在所测试的程序中,若发现的
错误数目较多,则残存的错误数目也比较多,这种错误群集现象已被许多程序的测试实践
证实。根据这一现象,应当对错误群集的程序进行重点测试,以提高测试效率。
(6)严格执行测试计划,排除测试的随意性
测试计划的内容要完整、描述要明确,并且不要随意更改。
(7)应当对每一个测试结果做全面检查
有些错误的征兆在输出测试结果时已经明显地出现了,但是如果不仔细、全面地检查
测试结果,就会使这些错误被遗漏掉。所以必须对预期的输出结果明确定义、对测试结果
仔细分析检查、暴露错误。
(8)妥善保存测试过程中产生的各种数据和文档
对于测试过程中产生的测试计划、测试用例、出错统计和分析报告等数据和文档应妥
软件测试任务驱动教程
2
善保存,为日后维护提供方便。
(9)注意回归测试的关联性
回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象
并不少见。