《软件测试方法与技术》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:蔡建平编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302339250
  • 页数:452 页
图书介绍:本书以现代软件测试需求为背景,以现代软件测试技术和方法为基础,以当前软件测试通常应用为典型实例,全面地介绍了软件测试的基本概念,软件测试的技术、方法和工具应用,以及软件测试在当前主流应用中的具体开展和实施。

第1部分 软件测试基础篇 3

第1章 软件与软件危机 3

1.1 软件的概念 3

1.1.1 软件特性 3

1.1.2 软件种类 5

1.2 软件危机 5

1.2.1 软件危机原因分析 5

1.2.2 软件危机现象 7

1.2.3 避免软件危机的方法 8

1.3 软件工程 9

1.3.1 软件工程定义 9

1.3.2 软件生命周期 12

1.3.3 敏捷开发过程 15

习题 19

第2章 软件测试基本概念 20

2.1 软件测试概述 20

2.1.1 软件测试发展史 20

2.1.2 软件测试定义 22

2.1.3 软件测试目的 23

2.1.4 软件测试原则 25

2.1.5 软件测试质量度量 28

2.1.6 软件测试与软件开发各阶段的关系 29

2.2 软件测试工作 30

2.2.1 软件测试工作流程 30

2.2.2 软件测试工具对测试工作的支持 31

2.2.3 软件测试工作的几个认识误区 32

2.3 软件测试职业 35

2.3.1 软件测试职业发展 36

2.3.2 软件测试人员应具备的素质 39

2.3.3 软件测试的就业前景 42

习题 43

第3章 生命周期软件测试方法 44

3.1 生命周期测试的概念 44

3.1.1 生命周期测试的工作划分 44

3.1.2 生命周期测试的主要任务 45

3.1.3 基于风险的软件测试方法 50

3.2 生命周期各个阶段的测试要求 52

3.2.1 需求阶段测试 52

3.2.2 设计阶段测试 53

3.2.3 编码阶段测试 54

3.2.4 测试阶段 54

3.2.5 安装阶段测试 55

3.2.6 验收阶段测试 56

3.2.7 维护阶段 56

3.3 支持生命周期软件测试的工具 57

3.3.1 全生命周期质量管理平台Panorama++ 57

3.3.2 应用生命周期管理系统HP ALM11 59

习题 62

第4章 软件测试分类与分级 63

4.1 软件测试分类 63

4.1.1 计算机软件配置项 63

4.1.2 基于CSCI的软件测试分类 64

4.2 软件测试分级 68

4.2.1 软件生命周期的测试分级 69

4.2.2 软件测试中的错误分级及其应用 71

习题 73

第2部分 软件测试方法与技术基础篇 77

第5章 软件静态测试 77

5.1 各阶段评审 77

5.1.1 同行评审 77

5.1.2 需求规格说明书的测试 80

5.2 代码检查 81

5.2.1 代码检查方法 82

5.2.2 代码编程规范检查 86

5.2.3 代码的自动分析 89

5.2.4 代码结构分析 91

5.2.5 代码安全性检查 93

5.3 软件复杂性分析 95

5.3.1 软件复杂性度量与控制 95

5.3.2 软件复杂性度量元 99

5.3.3 面向对象的软件复杂性度量 105

5.4 软件质量模型 111

5.4.1 软件质量概念 111

5.4.2 软件质量分层模型 113

5.4.3 软件质量度量与评价 119

5.5 静态分析工具 124

5.5.1 IBM Rational Logiscope RuleCheck/Audit介绍 125

5.5.2 HP FortifySCA介绍 130

习题 133

第6章 软件动态测试 135

6.1 “白盒”测试 135

6.1.1 逻辑覆盖 136

6.1.2 路径测试 138

6.1.3 数据流测试 142

6.1.4 信息流分析 144

6.1.5 覆盖率分析及测试覆盖准则 145

6.2 “黑盒”测试 148

6.2.1 等价类划分 149

6.2.2 边界值分析 152

6.2.3 因果图 153

6.2.4 随机测试 156

6.2.5 猜错法 156

6.3 “灰盒”测试 156

6.3.1 “灰盒”测试概念 157

6.3.2 “灰盒”测试步骤与应用举例 158

6.4 测试用例设计 160

6.4.1 测试用例设计概念 160

6.4.2 测试用例编写要素与模板 163

6.4.3 测试用例的设计步骤 166

6.4.4 测试用例分级 168

6.4.5 软件测试用例设计的误区 169

6.5 单元测试 171

6.5.1 单元测试的意义 172

6.5.2 单元测试的内容 174

6.5.3 单元测试方法和步骤 177

6.6 集成测试 179

6.6.1 集成测试的概念 179

6.6.2 集成测试方法 182

6.6.3 集成测试过程 186

6.7 确认测试 188

6.7.1 确认测试基本概念 188

6.7.2 确认测试过程 189

6.8 系统测试 191

6.8.1 系统测试概念 191

6.8.2 系统测试中关注的重要问题 192

6.8.3 系统测试的要求和主要内容 195

6.8.4 系统测试设计 200

6.8.5 系统测试手段 202

6.9 动态测试工具介绍 208

6.9.1 国产单元测试工具Visual Unit 208

6.9.2 开源集成测试工具Selenium 210

6.9.3 系统测试工具 210

习题 212

第3部分 软件测试管理方法与技术篇 215

第7章 软件缺陷与缺陷管理 215

7.1 软件缺陷 215

7.1.1 软件缺陷定义 215

7.1.2 软件缺陷描述 218

7.1.3 软件缺陷分类 219

7.1.4 软件缺陷管理流程 224

7.2 软件缺陷度量、分析与统计 227

7.2.1 软件缺陷度量 227

7.2.2 软件缺陷分析 230

7.2.3 软件缺陷统计 232

7.3 软件缺陷报告 235

7.3.1 缺陷报告内容 236

7.3.2 缺陷报告撰写标准 238

7.4 缺陷管理工具 239

7.4.1 TrackRecord(商用) 240

7.4.2 ClearQuest(商用) 240

7.4.3 Bugzilla(开源) 241

7.4.4 BMS(国内商业软件) 242

7.4.5 其他 242

习题 242

第8章 软件测试过程及测试过程管理 243

8.1 软件测试过程 243

8.1.1 软件测试过程模型 244

8.1.2 软件测试过程中的活动及内容 247

8.1.3 软件测试过程度量 248

8.1.4 软件测试过程成熟度 250

8.1.5 软件测试过程改进 254

8.2 软件测试过程管理 256

8.2.1 软件测试过程管理的理念 258

8.2.2 软件测试计划与测试需求 259

8.2.3 软件测试设计和开发 264

8.2.4 软件测试执行 266

8.2.5 软件测试文档 269

8.2.6 软件测试用例、测试数据与测试脚本 272

8.2.7 软件测试过程中的配置管理 276

8.2.8 软件测试过程中的组织管理 279

8.3 测试过程管理工具 283

8.3.1 HP Quality Center介绍 283

8.3.2 北航软件所QESuite 285

8.3.3 TestLink(开源免费) 286

习题 286

第4部分 高级软件测试方法与技术篇 289

第9章 软件测试自动化 289

9.1 软件测试自动化概念 289

9.1.1 自动化测试的定义 289

9.1.2 适合于自动化测试的相关活动 290

9.1.3 自动化测试的优点 290

9.1.4 自动化测试的局限性 291

9.2 软件测试自动化框架 292

9.2.1 自动化测试框架概念 292

9.2.2 常用的自动化测试框架 294

9.2.3 基于API测试的分布式测试框架 295

9.3 自动化测试技术 299

9.3.1 脚本技术 299

9.3.2 录制/回放技术 301

9.3.3 基于数据驱动的自动化测试技术 303

9.3.4 基于关键字驱动的自动化测试技术 304

9.3.5 基于测试预期的结果分析比较技术 305

9.4 自动化测试工具应用举例 307

9.4.1 测试中常用的自动化测试工具 307

9.4.2 基于STAF/STAX的自动化测试框架 308

习题 312

第10章 软件可靠性测试 313

10.1 操作剖面与统计测试 313

10.2 基于操作剖面的软件可靠性测试 314

10.2.1 基于操作剖面的统计测试 314

10.2.2 操作剖面的构造 315

10.2.3 操作剖面的使用 319

10.2.4 基于操作剖面的软件可靠性疲劳测试 320

10.2.5 结论 320

10.3 软件可靠性测试工具 321

习题 322

第11章 软件安全性/软件安全测试 323

11.1 软件安全性测试 323

11.1.1 软件安全性概念 323

11.1.2 软件安全性分析 325

11.1.3 软件安全性测试方法与技术 329

11.2 软件安全测试 332

11.2.1 安全漏洞的概念 332

11.2.2 网络安全相关技术 335

11.2.3 解决软件安全问题的方法 337

11.2.4 软件安全测试方法与技术 338

11.3 应用软件安全性/安全测试工具 344

11.3.1 IBM Rational AppScan 344

11.3.2 JSky 344

11.3.3 WebPecker 344

习题 345

第12章 软件国际化与本地化测试 346

12.1 软件国际化与本地化 346

12.1.1 软件国际化及本地化概念 346

12.1.2 常用字符集编码及UTF-8 349

12.2 软件本地化测试 352

12.2.1 本地化之前的国际化测试 352

12.2.2 软件本地化测试方法 353

习题 358

第13章 面向对象软件测试 359

13.1 面向对象程序设计语言对软件测试的影响 359

13.1.1 信息隐蔽对测试的影响 360

13.1.2 封装和继承对测试的影响 360

13.1.3 集成测试 360

13.1.4 多态性和动态绑定对测试的影响 361

13.2 面向对象测试模型 361

13.2.1 面向对象分析的测试 363

13.2.2 面向对象设计的测试 364

13.2.3 面向对象编程的测试 365

13.2.4 面向对象的单元测试 366

13.2.5 面向对象的集成测试 368

13.2.6 面向对象的系统测试 369

13.2.7 面向对象软件的回归测试 369

13.2.8 基于UML的面向对象软件测试 370

13.3 面向对象软件测试用例的设计 373

13.3.1 基于故障的测试 373

13.3.2 基于脚本的测试 373

13.3.3 面向对象类的随机测试 374

习题 374

第14章 客户端应用软件测试 375

14.1 C/S、B/S应用模式概述 375

14.1.1 C/S、B/S技术特点 375

14.1.2 C/S和B/S的比较 377

14.1.3 C/S与B/S的区别 378

14.2 C/S系统测试 379

14.2.1 C/S系统测试对传统测试的影响 379

14.2.2 C/S系统测试的目标 381

14.2.3 C/S系统测试的内容和步骤 382

14.3 B/S系统测试 385

14.3.1 Web应用测试 385

14.3.2 Web应用性能测试方法 390

14.4 SOA应用软件测试 391

14.4.1 基于SOA的Web服务 392

14.4.2 SOA应用测试 393

14.4.3 Web服务测试 397

习题 400

第5部分 典型应用软件测试 405

第15章 移动应用软件测试 405

15.1 移动应用测试的困难 405

15.2 移动应用App测试方法和技术 406

15.2.1 App测试概念 406

15.2.2 移动App测试类型 407

15.2.3 如何开展移动App测试 412

习题 415

第16章 云应用软件测试 416

16.1 云测试基本概念 416

16.1.1 云测试特点 416

16.1.2 云测试优点 417

16.2 云测试方法和技术 418

16.2.1 云环境中的测试和针对“云”的测试 419

16.2.2 云测试抽象模型 421

16.2.3 云测试现状及挑战 421

16.2.4 云测试平台 422

习题 426

第17章 游戏软件测试 427

17.1 游戏软件测试基本概念 427

17.1.1 游戏软件测试的特性 428

17.1.2 常见的游戏软件错误 428

17.2 游戏软件测试与游戏开发过程 429

17.2.1 游戏开发过程 429

17.2.2 游戏测试与开发过程的关系 430

17.3 网络游戏测试 434

17.3.1 网络游戏的平衡性测试 434

17.3.2 魔兽世界的平衡性测试 436

17.3.3 网络游戏的性能测试 437

17.3.4 网络游戏的压力测试 438

17.4 手机游戏测试 439

17.4.1 手机游戏软件的测试内容 439

17.4.2 手机游戏软件测试的自身特性 439

习题 441

第18章 嵌入式软件测试 442

18.1 嵌入式软件测试概念 443

18.1.1 嵌入式软件开发及应用特点 443

18.1.2 嵌入式软件测试问题及传统测试方法 443

18.1.3 嵌入式软件测试策略及测试流程 444

18.2 嵌入式软件测试工具 446

18.2.1 嵌入式软件测试的典型工具 446

18.2.2 嵌入式软件测试工具举例 447

18.2.3 传统测试工具的局限性 449

18.3 全数字仿真测试方案 450

18.3.1 全数字仿真的概念 450

18.3.2 北京奥吉通的CRESTS/ATAT和CRESTS/TESS介绍 450

习题 452