《软件测试技术详解及应用》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:胡铮主编
  • 出 版 社:北京:科学出版社
  • 出版年份:2011
  • ISBN:9787030312907
  • 页数:327 页
图书介绍:本书分为4篇,共24章,分别从软件测试的基本概念开始,逐步介绍了一个完整的测试过程所经历的各个阶段,涵盖了当前软件测试领域的各项实用技术,本书既有理论方法,又有上机实践的内容。

1 理论部分 3

第1章 软件测试概述 3

1.1 写在前面 3

1.2 软件缺陷的起源 3

1.2.1 第一个Bug的故事 4

1.2.2 软件缺陷带来的悲剧 4

1.2.3 软件测试的起源 7

1.3 软件测试的发展 7

1.4 软件测试的目的 9

1.5 软件测试行业的现状和前景 10

1.6 小结 12

第2章 软件及软件测试生命周期 13

2.1 引言 13

2.2 软件的含义 13

2.3 软件开发的基本过程 15

2.3.1 瀑布模型 15

2.3.2 瀑布模型的不足 16

2.4 软件开发过程模型 17

2.4.1 原型模型 17

2.4.2 螺旋模型 18

2.4.3 其他模型 19

2.5 软件测试生命周期 21

2.5.1 软件测试生命周期概述 21

2.5.2 工作内容 21

2.6 软件项目中的测试流程 22

2.6.1 需求分析阶段的测试活动 22

2.6.2 软件设计阶段的测试活动 23

2.6.3 其他测试活动 23

2.7 测试模型 24

2.7.1 V模型 24

2.7.2 W模型 25

第3章 软件测试的阶段和方法 27

3.1 引言 27

3.2 软件测试的各阶段 27

3.3 软件测试的基本方法 29

3.3.1 黑盒测试和白盒测试 29

3.3.2 静态的和动态的方法 31

3.3.3 验证和确认 31

3.3.4 ALAC测试 33

3.3.5 自动化测试和随机测试 33

3.4 正确认识软件测试 34

3.4.1 软件测试与建立软件信心的关系 34

3.4.2 软件测试的两面性 34

3.4.3 测试是一种服务 35

3.4.4 软件测试的原则 36

3.4.5 软件测试的有效经验 39

3.4.6 软件测试的误区 39

第4章 测试用例基础 42

4.1 引言 42

4.2 软件测试的工作范畴 42

4.3 测试用例 43

4.3.1 测试用例的定义 43

4.3.2 测试用例的依据 44

4.3.3 案例分析 44

4.3.4 测试用例的更新和维护 45

4.4 简单的测试过程 45

4.4.1 测试案例分析 45

4.4.2 小结 47

第5章 软件缺陷与缺陷报告 48

5.1 引言 48

5.2 软件缺陷的概念 48

5.2.1 缺陷的定义 48

5.2.2 软件缺陷的种类 49

5.2.3 软件缺陷的产生 50

5.2.4 软件缺陷的构成 51

5.2.5 修复软件缺陷的代价 52

5.3 软件缺陷的描述 52

5.3.1 缺陷的质量衡量 52

5.3.2 书写缺陷报告的基本规则 53

5.3.3 如何记录一个合格的缺陷 54

5.3.4 缺陷报告应该注意的问题 55

5.3.5 分离和再现软件缺陷的步骤 57

5.4 软件缺陷的属性 58

第6章 缺陷的处理和缺陷跟踪 62

6.1 引言 62

6.2 软件缺陷的处理流程 62

6.2.1 缺陷的生命周期 62

6.2.2 软件缺陷处理的技巧 64

6.2.3 缺陷的评审 65

6.3 缺陷跟踪 66

6.3.1 简易的缺陷跟踪方法 66

6.3.2 缺陷跟踪系统的好处 67

6.3.3 缺陷跟踪系统的标准 68

6.3.4 BugFree测试管理工具 71

6.4 缺陷跟踪的方法和图表 72

6.5 测试结果分析和质量报告 74

第7章 需求测试方法 76

7.1 引言 76

7.2 需求测试的概念 76

7.2.1 为什么要引入需求测试 76

7.2.2 需求工程师对用户需求的误解 77

7.2.3 软件缺陷的主要来源 77

7.3 如何实施需求测试 78

7.3.1 需求测试的手段 78

7.3.2 需求评审 78

7.3.3 需求测试 79

7.3.4 需求规格说明书的检查步骤 79

7.4 其他测试需求的方法 80

7.4.1 通过用户调查来测试需求 80

7.4.2 通过设计测试用例来测试需求 81

7.4.3 利用现存的产品对需求进行测试 81

第8章 单元测试阶段 82

8.1 引言 82

8.2 单元测试的定义 83

8.2.1 单元测试的目标 83

8.2.2 单元测试的过程 83

8.2.3 单元测试的内容 84

8.2.4 单元测试的意义 85

8.2.5 单元测试用例设计 85

8.2.6 单元测试评审 86

8.3 单元测试规程 87

第9章 静态测试技术 92

9.1 引言 92

9.2 静态测试与动态测试 92

9.3 桌面检查 93

9.3.1 桌面检查的概念 93

9.3.2 桌面检查的项目 93

9.4 代码检查 95

9.4.1 代码检查的概念 95

9.4.2 角色和职责 95

9.4.3 代码检查的过程 96

9.4.4 用于代码检查的错误列表 97

9.5 走查 101

9.5.1 走查的概念 101

9.5.2 角色和职能 101

9.5.3 走查的过程 101

9.5.4 走查中的静态分析技术 103

9.6 同行评审 105

9.6.1 同行评审的概念 105

9.6.2 角色和职能 105

9.6.3 同行评审的内容 106

9.6.4 对程序代码作静态错误分析 109

第10章 静态测试工具 113

10.1 引言 113

10.2 Logiscope的介绍 113

10.3 其功能的简单介绍 115

10.3.1 语法规则分析功能 117

10.3.2 动态测试功能 118

10.4 静态测试工具Logiscope的使用 119

10.4.1 在Windows系统上安装Logiscope 119

10.4.2 Logiscope License 122

10.5 使用Logiscope Studio 122

10.5.1 Java Audit 122

10.5.2 Java RuleChecker 128

10.5.3 Java Reviewer 132

10.6 使用Logiscope Viewer 134

10.6.1 领域窗口 135

10.6.2 控制图窗口 138

10.6.3 源代码窗口 138

10.6.4 质量度量元Kivat图窗口 139

10.6.5 质量准则Kivat图窗口 139

10.6.6 系统窗口 140

10.6.7 相关使用图窗口 141

10.6.8 相关继承图窗口 141

第11章 白盒测试技术 142

11.1 白盒测试 142

11.1.1 白盒测试的概念 142

11.1.2 白盒测试与黑盒测试的联系 143

11.2 白盒测试的方法 143

11.3 逻辑覆盖技术 143

11.3.1 语句覆盖 144

11.3.2 判定覆盖 144

11.3.3 条件覆盖 145

11.3.4 判定-条件覆盖 145

11.3.5 条件组合测试 146

11.3.6 路径覆盖 146

11.4 循环覆盖测试 147

11.4.1 简单循环 147

11.4.2 嵌套循环 147

11.4.3 串接循环 148

11.4.4 不规则循环 148

11.5 基本路径测试 148

11.6 程序的环路复杂性 150

11.7 导出测试用例 152

11.8 执行测试用例 152

第12章 单元测试工具JUnit的使用 154

12.1 JUnit的介绍 154

12.1.1 JUnit的特性和优点 154

12.1.2 JUnit的测试编写原则 155

12.1.3 JUnit的框架组成 155

12.1.4 JUnit的最佳实践 155

12.2 JUnit的安装 156

12.3 JUnit的功能介绍 157

12.3.1 断言 157

12.3.2 JUnit TestCase 157

12.3.3 JUnit TestSuite 160

12.3.4 运行测试 161

12.3.5 图形交互模式的测试结果范例 162

第13章 单元测试总结 165

13.1 引言 165

13.2 案例分析 165

13.3 总结 169

第14章 集成测试阶段 173

14.1 集成测试 173

14.1.1 集成测试的概念 173

14.1.2 集成测试前的准备 173

14.1.3 集成测试的重点 174

14.1.4 集成测试的层次 174

14.1.5 集成测试的环境 175

14.2 集成测试方法 176

14.2.1 桩和驱动的概念 176

14.2.2 自顶向下增量式集成法 177

14.2.3 自底向上的增量式集成法 179

14.2.4 三明治集成方法 180

14.2.5 改进的三明治集成方法 181

14.3 集成测试分析 182

14.3.1 体系结构分析 182

14.3.2 模块分析 183

14.3.3 接口分析 184

14.3.4 可测试性分析 186

14.3.5 集成测试策略的分析 186

14.4 集成测试的测试用例设计 187

第15章 系统测试阶段 189

15.1 引言 189

15.2 系统测试的概念 189

15.2.1 系统测试与单元测试、集成测试的区别 190

15.2.2 系统测试的组织和分工 190

15.2.3 系统测试的分析 190

15.2.4 系统测试的环境 191

15.3 系统测试的方法 192

15.3.1 功能测试 192

15.3.2 协议一致性测试 192

15.3.3 性能测试 193

15.3.4 压力测试 193

15.3.5 容量测试 193

15.3.6 安全性测试 194

15.3.7 失效恢复测试 194

15.3.8 备份测试 194

15.3.9 GUI测试 194

15.3.10 健壮性测试 195

15.3.11 兼容性测试 195

15.3.12 易用性测试 195

15.3.13 安装测试 196

15.3.14 文档测试 196

15.3.15 在线帮助测试 196

15.3.16 数据转换测试 196

15.4 系统测试的实施 196

15.4.1 确认测试 197

15.4.2 回归测试 198

15.4.3 冒烟测试 199

15.5 系统测试问题的总结和分析 199

第16章 黑盒(功能)测试技术一 201

16.1 引言 201

16.2 等价类测试技术 202

16.2.1 等价类的概念 202

16.2.2 等价类测试的原则 203

16.2.3 等价类方法测试用例设计举例 204

16.3 边界值分析 207

16.3.1 边界值分析的概念 207

16.3.2 选择测试用例的原则 208

16.3.3 图示分析方法 208

16.3.4 边界值方法测试用例设计举例 209

第17章 黑盒(功能)测试技术二 213

17.1 引言 213

17.2 判定表的概念 213

17.3 因果图 216

17.3.1 因果图的适用范围 216

17.3.2 用因果图生成测试用例 217

17.3.3 因果图法测试用例设计举例 218

17.4 因果图和判定表 220

第18章 黑盒(功能)测试技术三 221

18.1 引言 221

18.2 基于场景法设计测试用例 221

18.2.1 基本流和备选流 221

18.2.2 场景法设计测试用例举例 222

18.3 使用正交表设计测试用例 227

18.4 其他黑盒测试用例设计技术 228

18.4.1 错误推测法 228

18.4.2 基于风险的测试 229

18.4.3 比较测试 229

18.5 小结 230

第19章 性能测试的方法 231

19.1 引言 231

19.2 基本概念 231

19.2.1 软件性能 231

19.2.2 软件性能测试的几个术语 232

19.3 性能测试的方法 233

19.3.1 性能测试 233

19.3.2 压力测试 234

19.3.3 负载测试 235

19.3.4 配置测试 235

19.3.5 并发测试 236

19.3.6 可靠性测试 237

19.3.7 失效恢复测试 237

19.4 性能测试应用领域分析 238

19.4.1 能力验证 238

19.4.2 规划能力 238

19.4.3 性能调优 239

19.4.4 发现缺陷 240

第20章 用户界面测试 241

20.1 引言 241

20.2 用户界面测试的必要性 241

20.3 如何进行用户界面测试 242

20.3.1 用户界面测试的时机 242

20.3.2 用户界面测试的要点 242

20.4 用户界面测试的原则 244

20.4.1 亲和力 244

20.4.2 协助 245

20.4.3 有效 246

20.4.4 鼓励 247

20.4.5 熟悉 248

20.4.6 明显 248

20.4.7 个性化 249

20.4.8 安全 249

20.4.9 满意 250

20.4.10 简单 251

20.4.11 支持 251

20.4.12 多样性 251

第21章 国际化本地测试 253

21.1 引言 253

21.2 软件国际化测试 253

21.2.1 软件国际化测试的概念 253

21.2.2 国际化测试方法和内容 255

21.2.3 软件国际化能力测试 258

21.2.4 软件本地化能力测试 259

21.3 软件本地化测试 260

21.3.1 本地化测试的目的 260

21.3.2 本地化测试的原则 261

21.3.3 本地化测试的内容 261

21.3.4 本地化测试执行策略 262

第22章 验收测试阶段 264

22.1 引言 264

22.2 验收测试 264

22.2.1 验收测试的概念 264

22.2.2 验收测试的标准 264

22.2.3 验收测试的过程 265

22.3 实施验收测试的常用策略 266

22.3.1 正式验收测试 266

22.3.2 α验收测试 267

22.3.3 β验收测试 267

22.4 验收测试的总体思路 268

22.4.1 软件配置审核 269

22.4.2 可执行程序的测试 269

22.5 验收测试工作流程 270

第23章 测试计划编写规范 272

23.1 引言 272

23.2 测试计划 272

23.3 制定测试计划的必要性 274

23.4 测试计划与测试过程的关系 274

23.5 测试计划模板 277

第24章 测试结果分析和质量报告 289

24.1 软件质量的定义 289

24.2 软件质量的内涵 289

24.3 测试质量分析 290

24.3.1 评估系统测试的覆盖程度 291

24.3.2 对软件需求的估算 291

24.3.3 基于需求的测试覆盖评估 292

24.3.4 基于代码的测试覆盖评估 292

24.4 软件缺陷的分析方法 292

24.4.1 缺陷分布报告 293

24.4.2 缺陷趋势报告 294

24.4.3 软件产品性能评估 295

24.5 测试的总结报告 296

24.6 模板 297

24.6.1 测试报告模板 298

24.6.2 测试统计表 300

24.7 测试过程的质量控制 300

24.7.1 把握需求 300

24.7.2 变更控制 301

24.7.3 度量与分析 301

24.7.4 测试过程可持续改进 302

24.7.5 测试人员工作质量的衡量 302

24.8 测试文档管理 305

24.8.1 测试文档的分类管理和维护 305

24.8.2 测试文档的存储和共享 306

24.8.3 文档模板 306

24.9 测试的复用与维护 307

24.9.1 测试过程的复用与维护 307

24.9.2 测试用例和软件缺陷报告的复用 308

24.10 小结 308

2 上机部分 313

第25章 BugFree的使用 313

25.1 BugFree的安装 313

25.2 BugFree的使用 314

25.2.1 主界面 314

25.2.2 Bug管理 315

25.2.3 Test Case管理 317

25.2.4 Test Result管理 317

25.2.5 查询结果 317

25.2.6 统计报表 318

25.2.7 后台管理 319

25.3 实践说明 320

25.4 阶段划分及目标 320

25.5 上机提示 320

第26章 黑盒(功能)测试技术一 322

26.1 说明 322

26.2 阶段划分及目标 322

26.3 上机提示 323

第27章 黑盒(功能)测试技术二 324

27.1 说明 324

27.2 阶段划分及目标 324

27.3 上机提示 325

第28章 用户界面测试 326

28.1 说明 326

28.2 阶段划分及目标 326

28.3 上机提示 327

参考文献 328