软件测试(原书第2版)

软件测试(原书第2版)
作 者: 罗恩·佩腾 张小松 王钰 曹跃
出版社: 机械工业出版社
丛编项: 计算机科学丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  罗恩·佩腾(Ron Patton)具有约30年软件测试和软件质量保证的工作经验,从事过各种产品的软件测试,从关键任务到儿童绘图程序。曾先后就职于德州仪器公司、西门子公司和微软公司,担任过质量保证工程师、软件测试经理等职务。他现在是一个独立的软件项目管理和软件质量保证咨询师。

内容简介

本书涵盖了软件测试的方方面面:软件测试如何适应软件开发过程,基本的和高级的软件测试技术,在常见的测试任务中运用测试技能,使用自动化提高测试的效率,测 试工作的计划和文档化,有效地报告发现的问题,衡量测试工作的成效和产品的改进, 测试和质量保证的区别,寻求软件测试员的工作。 本书适合软件测试人员及希望未来从事软件测试的其他专业人员阅读,也适合高等 院校相关专业的学生及教师参考。

图书目录

出版者的话

译者序

前言

第一部分 软件测试综述

第1章 软件测试的背景 ┊2

1.1 臭名昭著的软件错误用例研究 ┊2

1.1.1 迪士尼的狮子王(1994~1995年) ┊2

1.1.2 英特尔奔腾浮点除法缺陷(1994年) ┊3

1.1.3 美国航天局火星极地登陆者号探测器(1999年) ┊4

1.1.4 爱国者导弹防御系统(1991年) ┊4

1.1.5 千年虫问题(大约1974年) ┊4

1.1.6 危险的预见(2004年) ┊5

1.2 软件缺陷是什么 ┊5

1.2.1 软件失败的术语 ┊5

1.2.2 软件缺陷的官方定义 ┊6

1.3 为什么会出现软件缺陷 ┊8

1.4 软件缺陷的修复费用 ┊8

1.5 软件测试员究竟做些什么 ┊9

1.6 优秀的软件测试员应具备的素质 ┊10

第2章 软件开发的过程 ┊12

2.1 产品的组成部分 ┊12

2.1.1 软件产品需要多少投入 ┊12

2.1.2 软件产品由哪些部分组成 ┊15

2.2 软件项目成员 ┊16

2.3 软件开发生命周期模式 ┊17

2.3.1 大爆炸模式 ┊17

2.3.2 边写边改模式 ┊18

2.3.3 瀑布模式 ┊19

2.3.4 螺旋模式 ┊20

第3章 软件测试的实质 ┊23

3.1 测试的原则 ┊23

3.1.1 完全测试程序是不可能的 ┊23

3.1.2 软件测试是有风险的行为 ┊24

3.1.3 测试无法显示潜伏的软件缺陷 ┊25

3.1.4 找到的软件缺陷越多,就说明软件缺陷越多 ┊25

3.1.5 杀虫剂怪事 ┊26

3.1.6 并非所有软件缺陷都要修复 ┊26

3.1.7 什么时候才叫缺陷难以说清 ┊27

3.1.8 产品说明书从没有最终版本 ┊28

3.1.9 软件测试员在产品小组中不受欢迎 ┊28

3.1.10 软件测试是一个讲究条理的技术职业 ┊29

3.2 软件测试的术语和定义 ┊29

3.2.1 精确和准确 ┊29

3.2.2 确认和验证 ┊30

3.2.3 质量和可靠性 ┊31

3.2.4 测试和质量保证 ┊31

第二部分 测试基础

第4章 检查产品说明书 ┊34

4.1 开始测试 ┊34

4.1.1 黑盒测试和白盒测试 ┊35

4.1.2 静态测试和动态测试 ┊36

4.1.3 静态黑盒测试—测试产品说明书 ┊36

4.2 对产品说明书进行高级审查 ┊37

4.2.1 假设自己是客户 ┊37

4.2.2 研究现有的标准和规范 ┊37

4.2.3 审查和测试类似软件 ┊38

4.3 产品说明书的低层次测试技术 ┊39

4.3.1 产品说明书属性检查清单 ┊39

4.3.2 产品说明书用语检查清单 ┊39

第5章 带上眼罩测试软件 ┊41

5.1 动态黑盒测试:带上眼罩测试软件 ┊42

5.2 通过性测试和失效性测试 ┊43

5.3 等价类划分 ┊44

5.4 数据测试 ┊45

5.4.1 边界条件 ┊46

5.4.2 次边界条件 ┊49

5.4.3 默认、空白、空值、零值和无 ┊51

5.4.4 非法、错误、不正确和垃圾数据 ┊52

5.5 状态测试 ┊52

5.5.1 测试软件的逻辑流程 ┊53

5.5.2 失败状态测试 ┊56

5.6 其他黑盒测试技术 ┊58

5.6.1 像笨拙的用户那样做 ┊58

5.6.2 在已经找到软件缺陷的地方再找找 ┊58

5.6.3 像黑客一样考虑问题 ┊59

5.6.4 凭借经验、直觉和预感 ┊59

第6章 检查代码 ┊61

6.1 静态白盒测试:检查设计和代码 ┊61

6.2 正式审查 ┊62

6.2.1 同事审查 ┊63

6.2.2 走查 ┊63

6.2.3 检验 ┊64

6.3 编码标准和规范 ┊64

6.3.1 编程标准和规范示例 ┊65

6.3.2 获取标准 ┊66

6.4 通用代码审查清单 ┊67

6.4.1 数据引用错误 ┊67

6.4.2 数据声明错误 ┊67

6.4.3 计算错误 ┊68

6.4.4 比较错误 ┊68

6.4.5 控制流程错误 ┊68

6.4.6 子程序参数错误 ┊69

6.4.7 输入/输出错误 ┊69

6.4.8 其他检查 ┊69

第7章 带上X光眼镜测试软件 ┊71

7.1 动态白盒测试 ┊71

7.2 动态白盒测试和调试 ┊72

7.3 分段测试 ┊73

7.3.1 单元测试和集成测试 ┊74

7.3.2 单元测试示例 ┊75

7.4 数据覆盖 ┊77

7.4.1 数据流 ┊77

7.4.2 次边界 ┊78

7.4.3 公式和等式 ┊78

7.4.4 错误强制 ┊78

7.5 代码覆盖 ┊79

7.5.1 程序语句和代码行覆盖 ┊80

7.5.2 分支覆盖 ┊81

7.5.3 条件覆盖 ┊81

第三部分 运用测试技术

第8章 配置测试 ┊86

8.1 配置测试综述 ┊86

8.1.1 分离配置缺陷 ┊89

8.1.2 计算工作量 ┊90

8.2 执行任务 ┊91

8.2.1 确定所需的硬件类型 ┊91

8.2.2 确定有哪些厂商的硬件、型号和驱动程序可用 ┊92

8.2.3 确定可能的硬件特性、模式和选项 ┊92

8.2.4 将确定后的硬件配置缩减为可控制的范围 ┊92

8.2.5 明确与硬件配置有关的软件唯一特性 ┊93

8.2.6 设计在每种配置中执行的测试用例 ┊94

8.2.7 在每种配置中执行测试 ┊94

8.2.8 反复测试直到小组对结果满意为止 ┊94

8.3 获得硬件 ┊94

8.4 明确硬件标准 ┊96

8.5 对其他硬件进行配置测试 ┊96

第9章 兼容性测试 ┊98

9.1 兼容性测试综述 ┊98

9.2 平台和应用程序版本 ┊99

9.2.1 向后和向前兼容 ┊100

9.2.2 测试多个版本的影响 ┊100

9.3 标准和规范 ┊102

9.3.1 高级标准和规范 ┊102

9.3.2 低级标准