软件测试原则:
1.测试显示缺陷的存在
测试可以显示缺陷的存在,但不能证明系统不存在缺陷。测试可以减少软件中存在为被发现缺陷的可能性,但即使测试没有范县任何缺陷,也不能证明软件或系统是完全正确的。
2.穷尽测试是不可能的
除了小型项目,进行完全(各种输入和前提条件的组合)的测试是不可能的。通过运用风险分析和不同系统功能的测试优先级,来确定测试的关注点,从而替代穷尽测试。
3.测试尽早介入
在软件或系统开发生命周期中,测试活动应该尽可能早的介入,并且应该将关注点放在已经定义的测试目标上。
4.缺陷集群性(80-20原则)
版本发布前进行的测试所发现的大部分缺陷和软件运行失效是由于少数软件模块引起的。
5.杀虫剂悖论
采用同样的测试用例多次重复进行测试,最后将不再能够发现新的缺陷。为了克服这种“杀虫剂悖论”,测试用例需要进行定期评审和修改,同时需要不断增加新的不同的测试用例来测试软件或系统的不同部分,从而发现潜在的更多的缺陷。
6.测试活动依赖于测试背景
针对不同的测试背景,进行的测试活动也是不同的。比如,对安全关键的软件进行测试,与对一般的电子商务软件的测试是不一样的。
7.没有失效不代表系统是可用的
系统的质量特性不仅仅是功能要求,还包括很多其他方面的要求,比如稳定性,可用性,兼容性等。假如系统无法使用,或者系统不能完成用户的需求和期望,那么此系统的研发是失败的,同时在系统中发现和修改缺陷也是没有任何意义的。