12.1.1软件测试的原则
软件测试是为了发现错误而执行程序的过程,它并不可能找出所有的错误,但是却可以减少潜在的错误或缺陷。人们在长期进行软件测试实践的过程中,不断地总结出一些软件测试的经验或原则,可供参考。
1)完全测试是不可能的。测试并不能找出所有的错误。由于时间、人员、 资金或设备等方面的限制,不可能对软件产品进行完全的测试。在设计测试用例时,也不可能考虑到软件产品所有的执行请款或路径。
2)测试中存在风险。每个软件测试人员都有自己独特的思维习惯或思考问题的方式,在设计测试用例或者进行产品测试时,难免思考问题不全面。
3)软件测试只能表明缺陷的存在,而不能证明软件产品已经没有缺陷。软件测试只是查找软件缺陷的过程,即使测试人员使用了大量的测试用例和不同的测试方法对软件产品进行测试,测试成功以后也不能说明软件产品已经准确无误,完全符合用户的需求。
4)软件产品中潜在的错误数与已发现的错误数成正比。通常情况下,软件产品中发现的错误越多,潜在的错误就越多。
5)让不同的测试人员参与到测试工作中。
6)让开发小组和测试小组分立,开发工作和测试工作不能由同一部分人来完成。
7)尽早并不断地进行测试,使测试工作贯穿于整个软件开发的过程中。
8)在设计测试用例时,应包括输人数据和预期的输出结果两部分,并且,输人数据不仅应读包括合法的情况,还应该包括非法的输人情况。
9)要集中测试容易出错的或者错误多的模块。
10)应长期保留所有的测试用例。