第1章 软件工程与软件测试 1
1.1 软件工程 1
1.1.1 软件工程的目标及其一般开发过程 1
1.1.2软件过程模型 3
1.2 软件质量 5
1.2.1 质量与质量模型 5
1.2.2软件质量保证 7
1.2.3 ISO 9000和CMM 9
1.3软件测试 10
1.3.1 软件测试的定义及目的 11
1.3.2 软件测试信息流 12
1.3.3 软件测试与软件开发过程的关系 13
1.3.4软件测试与质量保证的区别 14
1.3.5 软件测试的发展历程及趋势 15
1.4软件测试人员的基本素质 16
习题 17
第2章 软件测试的基本知识 18
2.1 软件测试贯穿于整个的软件开发生命周期 18
2.1.1 软件测试中使用的各种术语 18
2.1.2软件测试贯穿于整个的软件开发生命周期 19
2.1.3 软件测试的手段 21
2.2测试模型 23
2.3软件测试的分类 24
2.4软件测试的原则 26
2.5软件测试策略 27
2.6软件测试流程 30
2.6.1 制定测试计划 31
2.6.2设计测试 32
2.6.3实施测试 34
2.6.4执行测试 41
2.6.5评估测试 42
2.7测试的成功经验 43
习题 45
第3章 软件测试的方法和技术 46
3.1软件测试方法概述 46
3.2 白盒测试 47
3.2.1 程序插桩 48
3.2.2逻辑覆盖 51
3.2.3基本路径测试 56
3.2.4程序的静态测试 58
3.2.5其他白盒测试方法简介 61
3.3 黑盒测试 63
3.3.1 等价类划分法 64
3.3.2边界值分析法 65
3.3.3错误推测法 65
3.3.4 因果图法 66
3.3.5场景法 67
3.4测试用例设计 72
3.4.1 测试用例的基本概念 72
3.4.2测试用例的设计步骤 73
3.4.3 测试用例的编写 76
3.4.4测试用例设计实例 79
3.4.5 测试用例的管理 83
习题 84
第4章 软件测试过程 86
4.1软件测试过程概述 86
4.2单元测试 87
4.2.1 单元测试的主要任务 87
4.2.2单元测试的执行过程 89
4.2.3 单元测试技术和测试数据 90
4.2.4单元测试人员 90
4.3.1 集成测试的主要任务 91
4.3.2集成测试方法 91
4.3集成测试 91
4.3.3 集成测试技术和测试数据 94
4.3.4集成测试遵循的原则 95
4.3.5集成测试人员 95
4.4系统测试 95
4.4.1 系统测试的任务 96
4.4.2系统测试技术和测试数据 96
4.4.3 系统测试人员 97
4.5验收测试 97
4.5.1 验收测试的主要任务 97
4.5.2验收测试技术和测试数据 98
4.5.3验收测试人员 99
4.5.4 α、β测试 99
4.6回归测试 99
4.6.1 回归测试技术和测试数据 100
4.6.2 回归测试的范围 101
4.6.3 回归测试人员 101
4.7系统排错 101
习题 103
第5章 软件测试报告与测试评价 104
5.1 软件缺陷的概念和种类 104
5.2正确面对软件缺陷 107
5.3软件缺陷的生命周期 108
5.4软件缺陷的严重性和优先级 109
5.5报告软件缺陷 110
5.5.1 报告软件缺陷的基本原则 110
5.5.2 IEEE软件缺陷报告模板 112
5.5.3 软件缺陷数据库跟踪系统 114
5.5.4手工报告和跟踪软件缺陷 115
5.6分离和再现软件缺陷 116
5.7测试总结报告 117
5.8测试的评测 118
5.8.1 覆盖评测 119
5.8.2质量评测 121
5.8.3 性能评测 124
习题 125
第6章 软件测试项目管理 127
6.1 测试项目管理概述 127
6.1.1 测试项目与测试项目管理 127
6.1.2 测试项目的范围管理 128
6.2测试文档 129
6.2.1 测试文档的作用 129
6.2.2测试文档的类型 130
6.2.3 主要软件测试文档 131
6.3.1 制定测试计划的目的 135
6.3软件测试计划 135
6.3.2制定测试计划的原则 136
6.3.3 制定测试计划时面对的问题 136
6.3.4制定测试计划 137
6.4测试的组织与人员管理 143
6.4.1 测试的组织与人员管理概述 143
6.4.2 测试人员的组织结构 144
6.4.4人员的通信方式 146
6.4.5测试人员管理的激励机制 146
6.4.3 测试人员 146
6.4.6测试人员的培训 147
6.4.7测试的组织与人员管理中的风险管理 148
6.5软件测试过程管理 148
6.5.1 测试项目的跟踪与监控 148
6.5.2测试的配置管理 149
6.5.3软件测试风险管理 150
6.5.4软件测试的成本管理 153
习题 157
第7章 软件测试自动化与软件测试工具 158
7.1软件自动化测试基础 158
7.2 自动化测试的作用和优势 159
7.3软件测试工具分类 165
7.4几种常用软件测试工具 168
习题 176
第8章 软件测试实例 177
8.1被测试软件项目介绍 177
8.1.1 软件背景 177
8.1.2 门诊挂号管理子系统介绍 178
8.1.3 门诊挂号管理子系统的功能需求分析 180
8.1.4 门诊挂号管理子系统性能及可用性要求 182
8.2.1单元测试 183
8.2 HIS测试过程概述 183
8.2.2集成测试 184
8.2.3系统测试 184
8.2.4验收测试 185
8.3测试计划 185
8.3.1 概述 185
8.3.2定义 185
8.3.3质量风险摘要 186
8.3.4测试进度计划 186
8.3.9关键参与者 187
8.3.8测试开发 187
8.3.6退出标准 187
8.3.5进入标准 187
8.3.7测试配置和环境 187
8.3.10预算 188
8.3.11 参考文档 188
8.4测试用例 188
8.4.1 挂号管理子系统测试大纲 189
8.4.2 其他可用性测试检查标准 190
8.4.3 功能测试用例 191
8.4.4性能测试用例 198
8.5.1 建立缺陷报告数据库 199
8.5缺陷报告 199
8.5.2编写缺陷报告 200
8.6测试结果总结分析 201
8.6.1 测试总结报告 201
8.6.2测试用例分析 202
8.6.3软件测试结果统计分析 202
8.7应用测试工具 206
8.8文档测试 207
习题 209
参考文献 210