《软件测试设计》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:马均飞,郑文强编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2011
  • ISBN:9787121129674
  • 页数:424 页
图书介绍:本书针对软件测试人员在测试设计过程中面临的各种问题,提出了“问题驱动的软件测试设计”方法,该方法将软件测试设计技术、测试设计中面临的问题和项目测试实践经验紧密结合,详细阐述了测试人员应该如何有效地开展软件测试设计活动。测试人员在测试设计过程中经常面临各种问题和挑战,主要包括几乎无穷的测试对象输入数据的组合、不同利益相关者对软件产品的不同质量要求、非常有限的测试时间和测试资源,以及不全、模糊且经常变更的需求规格说明等。

第1部分 经典测试设计 3

第1章 静态测试 3

1.1评审 4

1.1.1评审遵循的原则 7

1.1.2选择合适的评审类型 8

1.1.3案例分析:如何开展评审活动 13

1.1.4影响评审成功的因素 19

1.2静态分析 21

1.2.1基于代码的分析 22

1.2.2基于架构的分析 28

1.3小结 30

第2章 基于结构的测试 31

2.1语句测试 35

2.2判定测试 36

2.3条件测试 37

2.4判定条件测试 39

2.5条件决定测试 40

2.6条件组合测试 43

2.7线性代码序列和跳转测试 44

2.8路径测试 46

2.9案例分析 48

2.9.1实现各种测试覆盖 48

2.9.2圈复杂度和路径测试 54

2.10小结 58

第3章 基于规格说明的测试 60

3.1等价类划分 61

3.1.1识别等价类 63

3.1.2创建测试用例 64

3.1.3覆盖率准则 65

3.1.4案例分析:LACP参数等价类测试 66

3.2边界值分析 70

3.2.1识别等价类 70

3.2.2识别边界值 70

3.2.3创建测试用例 72

3.2.4覆盖率准则 72

3.2.5案例分析:LACP参数边界值测试 72

3.3决策表测试 76

3.3.1确定条件桩和动作桩 77

3.3.2初始决策表 78

3.3.3优化决策表 78

3.3.4创建测试用例 80

3.3.5覆盖率准则 80

3.3.6因果图和决策表 80

3.3.7案例分析:ATM取款的决策表测试 81

3.4状态转换测试 84

3.4.1状态转换图 84

3.4.2测试用例 86

3.4.3 N-Switch 92

3.4.4覆盖率准则 93

3.4.5案例分析:堆栈的状态转换测试 93

3.5结对测试 100

3.5.1基于正交矩阵的结对测试 102

3.5.2 Allpairs 114

3.5.3案例分析:用户认证系统的测试 117

3.6分类树方法 122

3.6.1简介 122

3.6.2 CTE-XL 123

3.6.3案例分析:测试编辑器的字体属性 132

3.7用例/场景测试 135

3.7.1用例的相关概念 135

3.7.2用例规格说明 137

3.7.3案例分析:ATM取款的用例测试 138

3.8动态分析 141

3.8.1内存泄漏 142

3.8.2野指针 142

3.8.3性能分析 143

3.9案例分析:综合应用测试技术 143

3.9.1使用Allpairs得到测试用例 144

3.9.2基于分类树方法得到的测试用例 145

3.10小结 146

第2部分 基于质量特性的测试设计 149

第4章质量模型 149

4.1 McCall质量模型 149

4.1.1软件质量框架 150

4.1.2软件质量因素 151

4.1.3软件质量标准 152

4.1.4软件质量度量 154

4.2 Boehm质量模型 156

4.2.1软件质量特性树 157

4.2.2代码质量度量 158

4.2.3使用质量特性改进软件生命周期 160

4.3 Dromey质量模型 161

4.3.1质量模型框架 161

4.3.2结构形式和产品属性 162

4.3.3相互间的关系 163

4.4 ISO/IEC 9126 166

4.4.1质量模型 166

4.4.2内部和外部质量 167

4.4.3使用质量 170

4.4.4软件质量度量 171

4.5案例分析:质量模型在测试类型定义中的应用 173

4.5.1获取测试类型 174

4.5.2定义测试类型 175

4.5.3测试类型改变了什么 176

4.6案例分析:测试存储设备解决方案 180

4.6.1方案介绍 180

4.6.2存储设备解决方案的测试设计 182

4.7小结 183

第5章 功能测试 184

5.1适合性测试 184

5.1.1案例分析:用户视频点播的适合性测试 185

5.1.2案例分析:图书在线续借功能的适合性测试 187

5.2准确性测试 188

5.2.1案例分析:网上购物系统中购物结算的准确性测试 189

5.2.2案例分析:计算器中的准确性测试 193

5.3互操作性测试 194

5.3.1案例分析:SAN卷控制器的互操作性测试 195

5.3.2案例分析:Gmail的互操作性测试 199

5.4安全保密性测试 201

5.4.1案例分析:PC安全性测试 203

5.4.2案例分析:交换机安全性测试 206

5.5辅助性测试 208

5.5.1案例分析:命令行的辅助性测试 209

5.5.2案例分析:网站的辅助性测试 211

5.6小结 214

第6章 非功能测试 216

6.1可靠性测试 216

6.1.1可靠性测试介绍 216

6.1.2软件可靠性工程测试 218

6.1.3软件可靠性度量 221

6.2易用性测试 223

6.2.1易用性测试类型 224

6.2.2易用性测试技术 229

6.3效率测试 231

6.3.1效率测试的主要类型 232

6.3.2度量软件产品效率 234

6.4可维护性测试 237

6.4.1维护活动的分类 237

6.4.2提高软件的可维护性 240

6.5可移植性测试 243

6.6案例分析:DHCP的非功能测试 245

6.6.1 DHCP功能介绍 245

6.6.2 DHCP非功能测试设计 247

6.6.3 DHCP非功能测试用例概要 247

6.7小结 248

第3部分 基于风险的测试设计 252

第7章 认识风险 252

7.1基本概念 252

7.1.1产品风险 253

7.1.2项目风险 254

7.1.3风险与测试 256

7.2开展风险活动 257

7.2.1风险识别 258

7.2.2风险分析 263

7.2.3风险应对 265

7.3 ISO/IEC 16805 270

7.3.1计划和实施风险管理 271

7.3.2管理风险概要 272

7.3.3执行风险分析 273

7.3.4执行风险应对 274

7.3.5执行风险监控 274

7.3.6评估风险管理过程 275

7.4小结 276

第8章 基于风险的测试设计 277

8.1启发式分析方法 277

8.1.1 INSIDE-OUT 278

8.1.2 OUTSIDE-IN 279

8.2攻击 281

8.2.1用户接口攻击 282

8.2.2系统接口攻击 283

8.2.3冲突测试 283

8.3失效模式和影响分析 284

8.3.1概述 284

8.3.2应用领域 287

8.3.3实现步骤 289

8.3.4收益与成本 297

8.3.5确定RPN 298

8.4案例分析:综合实施基于风险的测试设计 299

8.4.1了解测试对象 301

8.4.2识别失效模式 301

8.4.3确定发生可能性 306

8.4.4确定严重程度 307

8.4.5确定检测难度 308

8.4.6计算RPN 308

8.4.7设计测试用例 309

8.5小结 310

第9章 基于风险的测试管理 312

9.1选择测试重点 312

9.2选择合适的测试策略 317

9.2.1测试策略 317

9.2.2案例分析:风险管理在IGMP功能中的应用 318

9.3基于风险的测试实践 322

9.3.1风险与测试过程的集成 322

9.3.2尽早开展风险活动 324

9.3.3风险活动的迭代 325

9.4讨论:基于风险的测试 325

9.4.1作用 325

9.4.2优点 326

9.4.3挑战 330

9.5案例分析:通过风险监控测试过程 332

9.5.1风险相关的度量 332

9.5.2风险在测试过程监控中的应用 333

9.6小结 336

第4部分 基于经验的测试设计 339

第10章 基于缺陷分类的测试 339

10.1软件缺陷分类 340

10.1.1异常分类 340

10.1.2正交缺陷分类 344

10.1.3其他分类 347

10.2实施基于缺陷分类的测试 351

10.2.1缺陷分类的作用 351

10.2.2激发测试思想 352

10.2.3创建缺陷分类 355

10.3案例分析:缺陷分类在测试设计中的应用 357

10.3.1获取功能基本信息 357

10.3.2获取缺陷分类 358

10.3.3评审和改进 360

10.3.4测试用例设计和实现 361

10.4小结 361

第11章 探索性测试 362

11.1概述 363

11.1.1测试的本质 363

11.1.2脚本化测试的问题 364

11.1.3探索性测试的引入 368

11.2实施探索性测试 370

11.2.1学习 371

11.2.2设计 374

11.2.3执行 376

11.2.4结果分析 377

11.2.5探索性测试人员 378

11.3基于会话的测试管理 378

11.3.1会话与会话管理 379

11.3.2度量和估算 383

11.3.3面临的挑战 385

11.4案例分析:HTSM 387

11.4.1什么是HTSM 387

11.4.2应用HTSM 392

11.5小结 395

第12章 基于应用类型的测试 397

12.1基于Web的测试 397

12.1.1 Web系统组成 399

12.1.2客户端测试 401

12.1.3服务器端测试 402

12.2 GUI测试 404

12.2.1 GUI的特点 404

12.2.2 Rational Functional Tester 405

12.3协议一致性测试 406

12.3.1多种不同协议 407

12.3.2 TTCN在协议 一致性测试中 的应用 410

12.4安全关键系统测试 411

12.4.1安全关键系统 411

12.4.2主要特征 412

12.4.3测试安全关键系统的注意事项 413

12.5综合系统测试 416

12.5.1综合系统 416

12.5.2主要特征 418

12.5.3测试综合系统的注意事项 419

12.6小结 421

参考文献 422