软件测试发展 40 多年长期实践总结归纳出基本的测试原理与测试特性准则,被业界普遍接受和遵循。对测试设计、执行和管理均具有工程指导意义
软件测试
     原理 1: 测试可以证明缺陷存在,但不能证明缺陷不存在  测试可证明软件产品是失败的,即说明软件中有缺陷但测试不能证明软件中没有缺陷。
     原理 2: 穷尽测试是不可能的测试若考虑所有可能的输入值及其组合,并结合所有前置条件穷尽测试是不可能的。实际测试过程中必须根据风险和优先级,控制测试工作量。
     原理 3: 测试活动应尽早开始在软件生命周期中,测试活动应尽早实施,并聚焦于定义的目标上,尽早发现缺陷。
     原理 4: 缺陷集群性通常情况下,缺陷并非平均而是集群分布,大多数的缺陷只存在于测试对象的小部分中。所谓的缺陷集群性,即‘8/2 现象’
     原理 5: 杀虫剂悖论若同样的测试用例被一再重复执行, 则会减少测试的有效性。先前没有发现的缺陷反复使用同样的测试用例也不会被重新发现。战胜这种“抗药性”,应对测试用例进行修正或更新,从而发现更多的缺陷。
软件测试
     原理 6: 测试依赖于测试内容测试必须与应用系统运行环境及使用中固有风险相适应。没有两个系统可以完全相同的方式进行测试。对于每个软件系统,测试出口准则等应依据其使用的环境分别量体定制
     原理 7: 没有失效就是有用的系统是一种谬论测试找到 Bug、 并修正缺陷,并非保证整个系统达到用户预期要求