测试的7项基本原则

原则1 测试说明缺陷的存在,而不能说明缺陷不存在
  测试可以证明存在缺陷,但不能证明不存在缺陷,测试降低了软件中存在未发缺陷的可能性,但即使没有发现缺陷,测试也无法证明其对象的正确性。
  
原则2 穷尽测试是不可能的
  进行穷尽测试(输入和前提条件的所有组合)是不可行的,除非是小型的案例。应用风险分析,测试技术和优先级确定测试工作量,而不是试图进行穷尽测试。
  
原则3 测试的尽早介入可以节省时间和成本
  为了尽早发现缺陷,应该在软件开发生存周期中尽早启动静态和动态测试活动。测试的尽早介入有时被称为测试的左移。在软件开发生存周期的早期进行测试有助于减少或消除代价高昂的变更。

原则4 缺陷的集群效应
  通常在少数模块中包含了大部分在发布前测试中发现的缺陷,或者是造成大部分运行失效的原因。预测的缺陷集群和在测试或操作中实际观察到的缺陷集群,应该作为风险分析的重要输入,并用来集中测试工作量。

原则5 杀虫剂悖论
  如果多次重复同样的测试,最终这些测试将不再能够发生任何新的缺陷。为了发现新的缺陷,可能需要更改现有的测试用例和测试数据,并且可能需要编写新的测试(测试不再能有效发现缺陷,就像杀虫剂在一段时间对杀死昆虫不再有效一样)。但是在某些情况下,杀虫剂悖论也有好处,例如在自动回归测试中,发现的回归缺陷数量相对较少。

原则6 测试活动依赖于测试周境
  测试在不同周境下是不同的。比如,安全关键工业控制软件的测试不同于电子商务移动应用。另一个例子,在敏捷项目中进行的测试不同于在顺序生存周期项目中的测试。

原则7 不存在缺陷的谬论
  有些组织期望测试员能够运行所有可能的测试并发现所有可能的缺陷,但是这是不可能的。另外,期望仅仅发现并修复大量缺陷就能确保系统的成功,这是一个谬论(即错误的信念)。例如,穷尽测试所有指定的需求并修复发现的所有缺陷,仍然可能会生产出一个难以使用,或无法满足用户需求和期望,或于其他竞争产品相比更差的系统。

posted @ 2020-10-21 10:56  liujuan2728  阅读(1272)  评论(0编辑  收藏  举报