网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 计算机软件测试(原书第2版)/软件工程技术丛书
分类
作者 (美国)卡尼尔等著//王峰等译
出版社 机械工业出版社
下载
简介
编辑推荐

本书是软件工程技术丛书之一,是一部实用的计算机软件测试理论专著,全书讲述如何在现实世界的环境下测试计算机软件,作者都曾在知名的硅谷软件公司中担任过测试经理或软件开发经理。现今,成功的商业软件公司已经学会了在严格的时间及预算限制下研发出高质量产品的方法,而本书诠释了这些成功的软件公司所采用的软件测试技术和方法。

内容推荐

本书从软件测试的基础知识讲起,继而对软件测试技巧及软件测试管理等问题进行了深入的探讨。本书先介绍了测试目标、测试类型,说明如何报告和分析故障;而后介绍了问题跟踪系统的使用、测试用例的设计、设备测试,测试本地化、测试工具,以及测试计划和测试文档;最后介绍了测试项目及测试人员的管理。此外,本书最后的附录列出了400多个常见的软件错误,并对每个错误进行了简要说明,可供测试人员参考。

本书不仅适合软件测试人员和测试经理,也适合项目经理和程序员阅读,尤其适合作为软件测试岗位培训的教材。

目录

译者序

前言

关于本书结构和布局的说明

作者简介

第一部分  基础知识

第1章  一个样例测试系列 3

1.1  第一个测试周期 3

1.1.1  第1步:从一个显而易见的简单测试开始 3

1.1.2  第一次测试产生的问题报告 4

1.1.3  第2步:对还需要测试什么做一些记录 4

1.1.4  寻找边界条件 6

1.1.5  第3步:检查有效用例并观察发生了什么 7

1.1.6  第4步:做一些“快速的”测试 7

1.1.7  第5步:总结对程序及其问题的认识 9

1.1.8  第一个测试周期的总结 12

1.2  第二个测试周期 12

1.2.1  第1步:在进行任何测试之前应仔细评审对问题报告的反馈,以确定哪些需求必须满足,哪些无须满足 13

1.2.2  第2步:评审对不进行改正的问题的意见,它们可能暗示着进行进一步的测试 13

1.2.3  第3步:找出上次的记录,补充新记录,然后开始测试 14

1.3  后续测试周期中可能会发生的事情 15

第2章  测试的目标和局限 17

2.1  不可能完全测试一个程序 18

2.1.1  不可能测试到程序对任何可能输入的响应 18

2.1.2  不可能测试到程序每一条可能的执行路径 20

2.1.3  无法找出所有的设计错误 22

2.1.4  不能采用逻辑来证明程序的正确性 22

2.2  测试人员的目标是验证程序吗 22

2.2.1  无法验证程序运行正确 22

2.2.2  程序不能正确地运行 23

2.2.3  既然程序不能正确地工作,那么测试是不是个失败呢 23

2.2.4  测试人员不应该试图验证一个程序运行正确 23

2.3  那么,为什么要进行测试呢 24

2.3.1  测试一个程序的目的是为了发现它的问题 24

2.3.2  发现问题的目的是为了改正问题 25

第3章  测试的类型及其在软件开发过程中的地位 26

3.1  软件开发阶段综述 29

3.2  规划阶段 30

3.2.1  目标阐述 30

3.2.2  需求分析 31

3.2.3  功能定义 31

3.3  规划阶段进行的测试 31

3.3.1  产品对照评价 32

3.3.2  重点问题小组 32

3.3.3  任务分析 33

3.4  设计阶段 33

3.4.1  外部设计 33

3.4.2  内部设计 34

3.4.3  原型开发 35

3.5  设计阶段的测试 36

3.5.1  评审会议 37

3.5.2  伪代码分析 37

3.6  白盒代码测试是编码阶段的组成部分 38

3.6.1  结构测试与功能测试 39

3.6.2  路径测试:覆盖准则 39

3.6.3  增长测试与崩溃测试 41

3.6.4  自顶向下测试与自底向上测试 42

3.6.5  静态测试与动态测试 42

3.6.6  标准符合性 43

3.6.7  软件度量 43

3.6.8  刻意的错误:调试与变异 44

3.6.9  性能测试 45

3.7  回归测试 45

3.8  黑盒测试 46

3.8.1  常用的黑盒测试事件序列 46

3.8.2  功能测试和系统测试中需要进行的测试 49

3.9  维护 51

第4章  软件错误 54

4.1  质量 54

4.2  什么是软件错误 55

4.3  软件错误的分类 55

4.3.1  用户界面错误 55

4.3.2  错误处理 56

4.3.3  与边界相关的错误 56

4.3.4  计算错误 57

4.3.5  最初阶段与后续阶段 57

4.3.6  控制流错误 57

4.3.7  数据处理或解释中的错误 57

4.3.8  竞争条件 57

4.3.9  负载条件 58

4.3.10  硬件 58

4.3.11  源程序和版本控制 58

4.3.12  文档 58

4.3.13  测试中的错误 58

第5章  缺陷的报告与分析 59

5.1  即时填写问题报告 60

5.2  问题报告的内容 60

5.2.1  问题报告编号 60

5.2.2  程序名 60

5.2.3  版本标识:发布号和版本号 60

5.2.4  报告类型 62

5.2.5  严重性 62

5.2.6  附件 63

5.2.7  问题概要 63

5.2.8  问题能否重现 63

5.2.9  问题描述及如何重现 64

5.2.10  建议的改正措施 64

5.2.11  报告人 64

5.2.12  日期 64

5.2.13  功能域 64

5.2.14  承办人 65

5.2.15  注释 65

5.2.16  状态 65

5.2.17  优先级 65

5.2.18  处理状态与处理版本 66

5.2.19  签名 66

5.2.20  暂缓处理 66

5.3  问题报告的特点 67

5.3.1  书面的 67

5.3.2  已编号的 68

5.3.3  简单的 68

5.3.4  易于理解的 68

5.3.5  可重现的 68

5.3.6  易读的 68

5.3.7  不做判断的 69

5.4  重现缺陷的分析 69

5.4.1  找出最严重的后果 70

5.4.2  找出最简单和最常见的条件 70

5.4.3  找出产生相同问题的其他路径 71

5.4.4  找出相关的问题 71

5.5  可重现缺陷的分析技术 71

5.5.1  寻找最关键的步骤 71

5.5.2  最大程度地提高程序运行的可见性 72

5.5.3  一旦找出了关键步骤,就改变你的做法 73

5.5.4  查找后续错误 73

5.5.5  渐进地省略或改变步骤 73

5.5.6  在程序以前的版本中查找错误 74

5.5.7  查找配置依赖 74

5.6  让缺陷可重现 74

5.6.1  竞争条件 75

5.6.2  被遗忘的细节 75

5.6.3  用户的错误:所做的并非是以为做到的 75

5.6.4  缺陷造成的影响会导致其无法重现 75

5.6.5  缺陷是依赖于内存的 76

5.6.6  仅会在初次运行时出现的缺陷 76

5.6.7  因数据错误导致的缺陷 76

5.6.8  由于一些其他问题附带引起的缺陷 76

5.6.9  间断性硬件故障 77

5.6.10  缺陷依赖于时间 77

5.6.11  缺陷依赖于资源 77

5.6.12  缺陷由长期积累形成 77

5.6.13  代码中的特殊分支 78

5.6.14  有人动了你的计算机 78

第二部分  特殊的测试技巧

第6章  问题跟踪系统 81

6.1  问题跟踪系统的主要目标 84

6.2  问题跟踪系统的任务 84

6.3  问题跟踪概述 84

6.3.1  问题被上报 84

6.3.2  报告提交给项目经理 85

6.3.3  报告由项目经理转交给程序员 86

6.3.4  当问题已经改正 87

6.3.5  无法重现的问题 87

6.3.6  问题暂缓与申诉过程 88

6.3.7  未被处理的问题 89

6.3.8  项目状态报告 89

6.4  跟踪系统的使用者 90

6.4.1  主任测试员 90

6.4.2  其他测试人员 90

6.4.3  项目经理 90

6.4.4  程序员 92

6.4.5  产品经理 92

6.4.6  技术支持 92

6.4.7  文档编写人员 93

6.4.8  测试经理 93

6.4.9  高级经理 94

6.4.10  律师 97

6.5  数据库的技术细节 98

6.5.1  报告新的问题 98

6.5.2  每周状态报告 98

6.5.3  测试周期的结束 99

6.5.4  已处理的问题和未处理的问题 100

6.5.5  暂缓处理的问题 101

6.5.6  进展总结 101

6.5.7  开发结束时 102

6.5.8  为下一个发布版本重新打开暂缓处理的缺陷 103

6.5.9  跟踪补丁 104

6.6  关于问题报告的进一步思考 104

6.6.1  进行判断 104

6.6.2  相似的报告 106

6.6.3  允许不同的观点存在 107

6.6.4  内部细节 108

6.6.5  问题报告单的一些注意事项 109

6.7  术语表 109

第7章  测试用例设计 111

7.1  良好测试具备的特点 112

7.1.1  它有相当的可能找出软件错误 112

7.1.2  它不是冗余的 113

7.1.3  它是本类用例中最佳的选择 113

7.1.4  它既不过于复杂,又不过于简单 113

7.1.5  它使程序失效显而易见 113

7.2  等价类与边界值 113

7.2.1  等价类 113

7.2.2  找出等价类 114

7.2.3  等价类的边界 118

7.3  可见的状态转换 119

7.4  竞争条件与其他时间依赖关系 119

7.5  负载测试 120

7.6  错误猜测 121

7.7  函数等价测试:自动执行、敏感度分析与随机输入 121

7.7.1  函数等价测试的自动执行 121

7.7.2  敏感度分析 122

7.7.3  随机输入 123

7.7.4  通用等价测试 124

7.8  回归测试:检查缺陷是否有效改正 124

7.9  回归测试:标准测试库 125

7.10  执行测试 126

第8章  打印机及其他设备的测试 127

8.1  配置测试的一般性问题 128

8.2  打印机测试 130

8.2.1  打印机综述 130

8.2.2  打印机驱动策略 132

8.2.3  打印机测试的总体策略 133

8.2.4  打印机测试矩阵 137

8.2.5  保存、分享及重用你的打印机知识 140

8.2.6  自动测试的一些技巧 140

8.2.7  建立一个打印机测试实验室 145

第9章  本地化测试 148

9.1  基本的代码改变了吗 149

9.2  与熟悉当地语言的人一起工作 149

9.3  文本与代码相互独立吗 149

9.4  翻译文本的空间膨胀 150

9.5  字符集 150

9.6  键盘 151

9.7  文本过滤 151

9.8  载入、保存、导入和导出高ASCII字符和低ASCII字符 151

9.9  操作系统的语言 152

9.10  热键 152

9.11  翻译中的断章取义 152

9.12  错误信息辨识器 152

9.13  连词规则 152

9.14  拼写规则 152

9.15  排序规则 153

9.16  大小写转换 153

9.17  下划线规则 153

9.18  打印机 153

9.19  纸张尺寸 153

9.20  CPU与视频卡 153

9.21  鼠标 154

9.22  数据格式及设置选项 154

9.23  测量标准 154

9.24  与当地文化相抵触的图形 154

9.25  与当地文化相抵触的输出 154

9.26  欧洲产品的兼容性 154

9.27  内存可用性 155

9.28  图形用户界面能解决问题吗 155

9.29  自动测试 155

第10章  用户手册的测试 156

10.1  有效的文档 156

10.2  文档测试人员的目标 157

10.3  文档测试如何有助于提高软件可靠性 158

10.4  成为技术编辑 159

10.5  用户手册编制阶段一览 159

10.5.1  第一稿 160

10.5.2  第二稿 160

10.5.3  经修订的第二稿 161

10.5.4  b测试稿 162

10.5.5  制作阶段 162

10.5.6  后期制作阶段 163

10.6  在线帮助 164

第11章  测试工具 165

11.1  基本工具 165

11.2  自动验收测试与自动回归测试 167

11.2.1  回归测试用例的出处 168

11.2.2  为程序提供输入 168

11.2.3  捕获程序的输出 170

11.2.4  对输出的评价 170

11.2.5  自动验收测试 172

11.3  标准 172

11.4  半透明盒测试 174

11.4.1  插装代码以监视代码覆盖率 174

11.4.2  断言检查 175

11.4.3  内存有效性及占用检查 176

第12章  测试计划与测试文档 177

12.1  测试计划的总体目标:作为产品还是作为工具 178

12.1.1  作为产品的测试计划 178

12.1.2  作为工具的测试计划 178

12.2  测试计划和测试文档的具体目标 179

12.2.1  测试文档有助于测试技术任务的完成 179

12.2.2  测试文档增进了测试任务和测试过程之间的交流 181

12.2.3  测试文档提供了组织、安排以及管理测试项目的结构 182

12.3  测试计划文档中需要覆盖的测试类型 184

12.3.1  遗漏了什么样的白盒测试 184

12.3.2  重要的黑盒测试类型 185

12.4  开发测试计划文档的组成部分的策略 186

12.4.1  测试材料的演化开发 186

12.4.2  测试材料的初始开发 187

12.4.3  下一步集中于何处,在何处增加深度 188

12.4.4  增加测试计划深度的技巧 189

12.5  测试计划文档的组成部分 190

12.5.1  清单 191

12.5.2  表 195

12.5.3  大纲—功能清单 201

12.5.4  矩阵 205

12.6  测试材料的归档 209

12.6.1  谁会使用这种文档 209

12.6.2  测试文档的类型 213

12.7  结束时的思考 218

第三部分  测试项目和测试小组的管理

第13章  连接起来 221

13.1  软件开发权衡 223

13.2  软件开发模型 224

13.2.1  传统的瀑布方法 224

13.2.2  演化方法 225

13.2.3  开发模型对测试的建议 227

13.3  与质量相关的成本 229

13.4  开发时间基线 230

13.5  产品设计 233

13.5.1  产品设计期间的编程活动 233

13.5.2  产品设计期间的营销活动 233

13.5.3  产品设计期间的文档活动 233

13.5.4  产品设计期间的测试活动 234

13.6  分段编码:首要功能 237

13.6.1  首要功能之后的编程活动 237

13.6.2  首要功能之后的测试活动 237

13.7  准a测试阶段 238

13.7.1  准a测试阶段的编程活动 238

13.7.2  准a测试阶段的文档活动 238

13.7.3  准a测试阶段的测试活动 238

13.8  a测试阶段 239

13.8.1  a测试阶段后的编程活动 240

13.8.2  a测试阶段后的营销活动 240

13.8.3  a测试阶段后的文档活动 240

13.8.4  a测试阶段后的测试活动 240

13.8.5  测试的深度与广度的比较 244

13.8.6  关于测试周期的记录 246

13.9  预b测试阶段 247

13.10  b测试阶段 247

13.10.1  b测试阶段后的编程活动 248

13.10.2  b测试阶段后的营销活动 249

13.10.3  b测试阶段后的文档活动 249

13.10.4  b测试阶段后的测试活动 249

13.10.5  外部b测试 251

13.11  用户界面确定 253

13.11.1  用户界面确定后的编程活动 254

13.11.2  用户界面确定后的营销活动 254

13.11.3  用户界面确定后的文档活动 254

13.11.4  用户界面确定后的测试活动 254

13.12  预最终测试阶段 255

13.12.1  预最终测试期间的编程活动 255

13.12.2  预最终测试期间的文档活动 256

13.12.3  预最终测试期间的测试活动 256

13.12.4  估计产品的可靠性 257

13.13  最终的完整性测试 259

13.13.1  最终测试阶段的编程活动 259

13.13.2  最终测试阶段的测试活动 259

13.14  发布 260

13.15  项目总结 260

第14章  有缺陷软件的法律后果 262

14.1  违约 264

14.1.1  U.C.C与软件合同 264

14.1.2  违反保证 265

14.1.3  明确保证 266

14.1.4  适销性的暗示保证 267

14.1.5  特殊目的适当性的暗示保证 267

14.1.6  合同与瀑布模型的暗示保证 268

14.1.7  赔偿金 269

14.1.8  收缩性薄膜包装保证的不承担责任声明 270

14.2  侵权行为:涉及过错的诉讼 274

14.2.1  非法占有 274

14.2.2  过失 277

14.2.3  严格产品责任 288

14.2.4  渎职 289

14.2.5  欺诈 290

14.3  揭发 291

第15章  管理一个测试小组 293

15.1  测试小组的职责 295

15.1.1  质量控制组 295

15.1.2  质量保证组 296

15.1.3  测试服务组 297

15.1.4  开发服务组 298

15.1.5  建议 298

15.2  测试小组并不纯粹是件好事 298

15.3  另一种选择?独立测试机构 299

15.4  进度制定技巧 301

15.4.1  度量业绩和生产率 302

15.4.2  确定并估计每个任务 303

15.4.3  把项目分等级 304

15.4.4  把任务确定为与循环相对的固定任务 305

15.5  你的职员 306

15.5.1  雇用谁 307

15.5.2  士气 308

15.5.3  事业发展 309

附录  常见的软件错误 311

参考文献 385

随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/2/22 22:26:35