2.1.5 软件缺陷的构成 24 2.1.6 修复软件缺陷的代价 25 2.2 软件测试的分类 26 2.3 静态测试和动态测试 26 2.3.1 产品评审 28 2.3.2 静态分析 29 2.3.3 验证和确认 29 2.4 主动测试和被动测试 30 2.5 黑盒测试和白盒测试 30 2.6 软件测试层次 31 2.7 软件测试工作范畴 33 2.7.1 测试分析 34 2.7.2 测试策略制订 35 2.7.3 测试计划 35 2.7.4 测试设计 36 2.7.5 测试执行 36 2.7.6 测试结果和过程评估 37 小结 39 思考题 39 实验1 完成一个简单的测试过程 40 第3章 软件测试方法 42 3.1 基于直觉和经验的方法 42 3.1.1 Ad-hoc 测试方法和 ALAC 测试方法 43 3.1.2 错误推测法 43 3.2 基于输入域的方法 44 3.2.1 等价类划分法 45 3.2.2 边界值分析法 45 3.3 基于组合及其优化的方法 47 3.3.1 判定表法 49 3.3.2 因果图法 50 3.3.3 Pairwise 方法 51 3.3.4 正交实验法 53 3.4 基于逻辑覆盖的方法 54 3.4.1 判定覆盖 55 3.4.2 条件覆盖 55 3.4.3 判定-条件覆盖 57 3.4.4 条件组合覆盖 57 3.4.5 基本路径覆盖 58 3.5 基于缺陷模式的测试 59