Chapter 16 SOFTWARE TESTING TECHNIQUES 软件系统的开发包括一系列生产活动 软件测试是软件质量保证的关键元素。代表 了规约、设计和编码的最终检查。软件开发 组织把30%-40%的时间和精力花在测试上是 不足为怪的。 161软件测试基础 从心理角度说,测试是摧毁性的,而不是建 设性的。测试要求开发者放弃刚开发的软件 是正确的观念,并克服发现错误时的心理矛 盾
Chapter 16 SOFTWARE TESTING TECHNIQUES 软件系统的开发包括一系列生产活动。 软件测试是软件质量保证的关键元素。代表 了规约、设计和编码的最终检查。软件开发 组织把30%--40%的时间和精力花在测试上是 不足为怪的。 16.1 软件测试基础 从心理角度说,测试是摧毁性的,而不是建 设性的。测试要求开发者放弃刚开发的软件 是正确的观念,并克服发现错误时的心理矛 盾
Chapter 16 SOFTWARE TESTING TECHNIQUES 161.1测试目标 测试目标规则: (1)测试是一个为了寻找错误而运行程 序的过程。 (2)一个好的测试用例是指很可能找到 迄今为止尚未发现的错误的用例 (3)一个成功的测试是指揭示了迄今为 止尚未发现的错误的测试
Chapter 16 SOFTWARE TESTING TECHNIQUES 16.1.1 测试目标 测试目标规则: (1)测试是一个为了寻找错误而运行程 序的过程。 (2)一个好的测试用例是指很可能找到 迄今为止尚未发现的错误的用例。 (3)一个成功的测试是指揭示了迄今为 止尚未发现的错误的测试
Chapter 16 SOFTWARE TESTING TECHNIQUES 16.1.2测试原则 在设计有效的测试用例之前,软件工程师必 须理解软件测试的基本原则。 (1)所有的测试都应追溯到用户需求。 (2)应该在测试工作真正开始前的较长时间内 就进行测试计划。 (3) Pareto原则应用于软件测试。 Pareto原则: 测试发现的错误中的80%很可能起源于程序模 块中的20% (4)测试应从“小规模”开始,逐步转向“大 规模
Chapter 16 SOFTWARE TESTING TECHNIQUES 16.1.2 测试原则 在设计有效的测试用例之前,软件工程师必 须理解软件测试的基本原则。 (1)所有的测试都应追溯到用户需求。 (2)应该在测试工作真正开始前的较长时间内 就进行测试计划。 (3)Pareto原则应用于软件测试。Pareto原则: 测试发现的错误中的80%很可能起源于程序模 块中的20%。 (4)测试应从“小规模”开始,逐步转向“大 规模
Chapter 16 SOFTWARE TESTING TECHNIQUES (5)为了达到最佳效果,应该由独立的 第三方来构造测试。 1613可测试性 软件的可测试性就是一个计算机程 序能够被测试的容易程度
Chapter 16 SOFTWARE TESTING TECHNIQUES (5) 为了达到最佳效果,应该由独立的 第三方来构造测试。 16.1.3 可测试性 软件的可测试性就是一个计算机程 序能够被测试的容易程度
Chapter 16 SOFTWARE TESTING TECHNIQUES 162测试用例设计 产品在出厂前都是要经过严格测试的 下面我们考虑两种对任何产品都适用的一般 测试方法: (1)若了解产品的功能,则构造测试,以证实 各功能完全可执行,同时在各功能中寻找错 误;这种方法被称为黑盒测试 (2)若了解产品的内部构造,则构造测试,以 确保“所有齿轮吻合”,即内部操作依据规 约执行,而且所有的内部构件被充分利用 这种方法被称为白盒测试
Chapter 16 SOFTWARE TESTING TECHNIQUES 16.2 测试用例 设计 产品在出厂前都是要经过严格测试的。 下面我们考虑两种对任何产品都适用的一般 测试方法: (1)若了解产品的功能,则构造测试,以证实 各功能完全可执行,同时在各功能中寻找错 误;这种方法被称为黑盒测试。 (2)若了解产品的内部构造,则构造测试,以 确保“所有齿轮吻合”,即内部操作依据规 约执行,而且所有的内部构件被充分利用。 这种方法被称为白盒测试