图书目录

目    录

模块1  软件工程项目 1

1.1  软件工程 2

1.2  软件项目管理及项目生命周期 3

1.2.1  软件、软件项目及软件项目管理 3

1.2.2  项目生命周期 4

1.3  软件项目中的人员角色 6

1.4  软件过程 7

1.4.1  软件生命周期 7

1.4.2  软件过程模型 8

知识自测 12

实践课堂 12

模块2  软件测试基础 15

2.1  软件测试的产生与发展 16

2.2  软件测试概述 18

2.2.1  软件测试的定义 18

2.2.2  软件测试的目的及原则 19

2.3  软件测试分类 21

2.3.1  静态测试与动态测试 21

2.3.2  按测试技术分类 21

2.3.3  按测试过程分类 22

2.3.4  按测试组织分类 30

2.4  基本的测试类型 32

2.4.1  功能测试 32

2.4.2  易用性测试 32

2.4.3  兼容性测试 32

2.4.4  性能测试 32

2.4.5  自动化测试 32

2.4.6  回归测试 32

2.4.7  冒烟测试 33

2.4.8  可移植性测试 33

2.4.9  可恢复性测试 33

2.4.10  安全性测试 33

2.4.11  本地化测试 33

2.4.12  探索性测试 34

2.5  软件测试的流程 34

知识自测 35

实践课堂 35

模块3  软件测试技术 37

3.1  白盒测试技术 38

3.1.1  白盒测试的基本概念 38

3.1.2  逻辑覆盖法 39

3.1.3  基本路径法 44

3.2  黑盒测试技术 47

3.2.1  黑盒测试技术的基本概念 47

3.2.2  等价类划分法 48

3.2.3  边界值分析法 50

3.2.4  判定表法 52

3.2.5  因果图法 55

3.2.6  基于业务流的场景图法 59

3.2.7  错误推测法 63

知识自测 64

实践课堂 64

模块4  提取测试需求 71

4.1  软件项目的需求调研 72

4.1.1  需求调研的定义 72

4.1.2  需求调研的方法 72

4.2  软件需求 73

4.2.1  软件需求的定义 73

4.2.2  软件需求的分类 74

4.2.3  软件需求的优先级 75

4.2.4  软件需求评审 75

4.3  提取测试需求 76

4.3.1  测试需求 76

4.3.2  测试需求的提取方法 76

4.3.3  测试项 76

4.3.4  测试子项 80

4.4  禅道项目管理工具 84

4.4.1  禅道部署与使用 84

4.4.2  在禅道中创建测试需求 86

知识自测 89

实践课堂 89

模块5  制定测试计划 93

5.1  软件测试计划 94

5.2  测试计划的目的 95

5.2.1  明确测试目标和范围 95

5.2.2  规划测试策略 95

5.2.3  分配测试资源和人员 95

5.2.4  确定测试计划和进度 95

5.2.5  保证测试质量 96

5.3  测试计划的内容 96

5.3.1  测试项目的背景 96

5.3.2  测试目标和范围 96

5.3.3  测试策略 97

5.3.4  测试活动 98

5.3.5  测试资源 99

5.3.6  测试进度 101

5.3.7  风险及对策 101

知识自测 104

实践课堂 105

模块6  设计测试用例 107

6.1  测试用例概述 108

6.2  测试用例的内容 110

6.3  用例设计方法的选择 112

6.4  测试用例的评审 119

知识自测 121

实践课堂 121

模块7  跟踪记录缺陷 125

7.1  软件缺陷 126

7.1.1  缺陷的定义与产生 126

7.1.2  缺陷的类型 127

7.1.3  缺陷的严重程度及优先级 128

7.2  缺陷的生命周期 129

7.2.1  缺陷的生命周期阶段 129

7.2.2  缺陷的流转状态 130

7.2.3  缺陷的解决方案 130

7.3  记录软件缺陷 131

7.3.1  如何编写好的缺陷记录 131

7.3.2  软件缺陷的内容要素 131

7.3.3  软件缺陷记录模板及工具 132

7.4  软件缺陷的统计分析 135

知识自测 137

实践课堂 138

模块8  兼容性和易用性测试 141

8.1  兼容性测试 142

8.1.1  兼容性测试的定义 142

8.1.2  兼容性测试的目的 142

8.1.3  兼容性测试的内容 142

8.2  如何进行兼容性测试 144

8.3  易用性测试 146

8.3.1  易用性测试的定义 146

8.3.2  易用性测试的目的 147

8.3.3  易用性测试的内容 147

8.4  如何进行易用性测试 151

知识自测 153

实践课堂 154

模块9  性能测试 157

9.1  性能测试 158

9.1.1  性能测试概念 158

9.1.2  性能测试的目标及作用 159

9.2  性能测试的类型 159

9.2.1  负载测试 159

9.2.2  压力测试 159

9.2.3  容量测试 160

9.2.4  配置测试 160

9.2.5  疲劳强度测试 160

9.2.6  基准测试 160

9.3  性能测试的指标 160

9.3.1  并发用户数 160

9.3.2  响应时间 161

9.3.3  吞吐量 161

9.3.4  每秒事务数 161

9.3.5  每秒点击量 162

9.3.6  服务器资源占用 162

9.3.7  业务成功率 162

9.4  性能测试的流程 162

9.5  性能测试工具 164

9.5.1  LoadRunner 164

9.5.2  JMeter 181

知识自测 190

实践课堂 190

模块10  总结测试报告 195

10.1  测试报告 196

10.1.1  测试报告概述 196

10.1.2  测试报告的作用 197

10.1.3  测试报告的编写原则 198

10.2  测试报告的内容 199

10.2.1  概述 199

10.2.2  测试环境 199

10.2.3  参考资料 199

10.2.4  人员和进度安排 200

10.2.5  缺陷的统计和分析 200

10.2.6  测试情况介绍 201

10.2.7  测试结论 201

10.3  软件质量评价总结 202

知识自测 202

实践课堂 203

模块11  自动化测试 205

11.1  自动化测试概述 206

11.1.1  自动化测试的定义 207

11.1.2  自动化测试的特点与适用范围 208

11.1.3  自动化测试的流程 210

11.2  自动化测试工具 211

11.3  Selenium的安装和基础使用 213

11.3.1  Selenium的安装 213

11.3.2  Selenium的基础使用 221

知识自测 227

实践课堂 227

模块12  质量管理 231

12.1  软件质量保障与控制 232

12.1.1  软件质量 232

12.1.2  软件能力成熟度模型 233

12.1.3  质量保障和质量控制 233

12.1.4  软件质量保障活动 234

12.1.5  软件测试与质量保障 235

12.2  软件质量管理体系 235

12.2.1  软件测试标准 235

12.2.2  全面质量管理 237

12.2.3  PDCA循环 237

12.2.4  软件质量模型 238

知识自测 241

实践课堂 241

参考文献 247