软件测试基础(原书第2版)

软件测试基础(原书第2版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2018-11
版次: 1
ISBN: 9787111611295
定价: 79.00
装帧: 其他
开本: 16开
纸张: 胶版纸
页数: 281页
字数: 234千字
18人买过
  • This extensively classroom-tested text uses an innovative approach to explaining software testing, and covers the latest techniques to test software such as OO, web applications, and embedded software. This new edition features vastly expanded coverage of the basics and the JUnit framework, as well as many new examples and exercises. 保罗·阿曼(Paul Ammann)是乔治梅森大学软件工程副教授。他于2007年获得Volgenau工程学院的杰出教学奖。他领导开发了应用计算机科学学位,现任软件工程硕士项目主任。Ammann在软件工程领域已经发表了超过80篇文章,尤其着重于软件测试、软件安全、软件依赖性和软件工程教育方向。

    杰夫·奥法特(Jeff Offutt)是乔治梅森大学软件工程教授。他于2013年获得乔治梅森大学杰出教学奖。他在基于模型测试、基于准则测试、测试自动化、经验软件工程和软件维护等方面已经发表了超过165篇文章。他是《软件测试、验证和可靠性》期刊的主编。他还帮助创建了IEEE国际软件测试大会,同时也是uJava项目的创始人。 出版者的话

    译者序

    前言

    第一部分 软件测试基础

    第1章 为什么测试软件  2

    1.1 软件何时会出现问题  3

    1.2 软件测试的目的  6

    1.3 参考文献注解  13

    第2章 模型驱动测试设计  15

    2.1 软件测试基础  15

    2.2 软件测试活动  17

    2.3 基于软件活动的测试级别  17

    2.4 覆盖准则  19

    2.5 模型驱动测试设计  21

    2.5.1 测试设计  22

    2.5.2 测试自动化  22

    2.5.3 测试执行  23

    2.5.4 测试评估  23

    2.5.5 测试者和抽象  23

    2.6 MDTD为什么重要  25

    2.7 参考文献注解  25

    第3章 测试自动化  27

    3.1 软件可测性  27

    3.2 测试用例的构成  28

    3.3 测试自动化框架  30

    3.3.1 JUnit测试框架  31

    3.3.2 数据驱动测试  35

    3.3.3 在单元测试中添加参数  36

    3.3.4 从命令行运行JUnit  38

    3.4 超越自动化  38

    3.5 参考文献注解  41

    第4章 测试优先  42

    4.1 驯服改动成本曲线  42

    4.1.1 改动成本曲线真的被驯服了吗  43

    4.2 测试装具——守护者  44

    4.2.1 持续集成  45

    4.2.2 敏捷方法中的系统测试  45

    4.2.3 将测试加入遗留系统  46

    4.2.4 敏捷方法中测试的弱点  47

    4.3 参考文献注解  48

    第5章 基于准则的测试设计  49

    5.1 定义覆盖准则  49

    5.2 不可行性和包含  52

    5.3 使用覆盖准则的好处  53

    5.4 下一个部分  54

    5.5 参考文献注解  54

    第二部分 覆盖准则

    第6章 输入空间划分  58

    6.1 输入域建模  60

    6.1.1 基于接口的输入域建模  61

    6.1.2 基于功能的输入域建模  61

    6.1.3 设计特征  62

    6.1.4 选择区块和测试值  63

    6.1.5 检查输入域模型  65

    6.2 组合策略准则  66

    6.3 检查特征之间的约束  71

    6.4 扩展实例:从JavaDoc中推导IDM  72

    6.4.1 设计基于IDM的测试用例中的任务  72

    6.4.2 为迭代器设计基于IDM的测试用例  73

    6.5 参考文献注解  78

    第7章 图覆盖  82

    7.1 概述  82

    7.2 图覆盖准则  86

    7.2.1 结构化的覆盖准则  87

    7.2.2 游历、顺路和绕路  90

    7.2.3 数据流准则  97

    7.2.4 图覆盖准则间的包含关系  103

    7.3 基于源代码的图覆盖  104

    7.3.1 基于源代码的结构化图覆盖  104

    7.3.2 基于源代码的数据流图覆盖  108

    7.4 设计元素的图覆盖  116

    7.4.1 设计元素的结构化图覆盖  116

    7.4.2 设计元素的数据流图覆盖  118

    7.5 设计规范的图覆盖  124

    7.5.1 测试顺序约束  125

    7.5.2 测试软件的行为状态  127

    7.6 用例的图覆盖  134

    7.6.1 用例场景  137

    7.7 参考文献注解  137

    第8章 逻辑覆盖  141

    8.1 有效的语义逻辑覆盖准则  141

    8.1.1 简单的逻辑覆盖准则  142

    8.1.2 有效子句覆盖  144

    8.1.3 无效子句覆盖  148

    8.1.4 不可行性和包含  148

    8.1.5 让子句决定谓词  150

    8.1.6 找到满足准则的取值  153

    8.2 语法逻辑覆盖准则  157

    8.2.1 蕴涵项覆盖  158

    8.2.2 极小DNF  159

    8.2.3 MUMCUT覆盖准则  160

    8.2.4 卡诺图  163

    8.3 程序的结构化逻辑覆盖  166

    8.3.1 满足谓词覆盖  169

    8.3.2 满足子句覆盖  170

    8.3.3 满足有效子句覆盖  171

    8.3.4 谓词转换问题  174

    8.3.5 谓词中的副作用  176

    8.4 基于规范的逻辑覆盖  178

    8.5 有限状态机的逻辑覆盖  180

    8.6 参考文献注解  184

    第9章 基于语法的测试  187

    9.1 基于语法的覆盖准则  187

    9.1.1 基于通用语法的覆盖准则  187

    9.1.2 变异测试  189

    9.2 基于程序的语法  192

    9.2.1 编译器的BNF语法  192

    9.2.2 基于程序的变异  193

    9.3 集成测试和面向对象测试  206

    9.3.1 BNF集成测试  206

    9.3.2 集成变异  206

    9.4 基于规约的语法  212

    9.4.1 BNF语法  212

    9.4.2 基于规约的变异  212

    9.5 输入空间的语法  215

    9.5.1 BNF语法  215

    9.5.2 变异输入语法  218

    9.6 参考文献注解  222

    第三部分 实践中的测试

    第10章 管理测试过程  226

    10.1 概述  226

    10.2 需求分析和规约  227

    10.3 系统和软件设计  227

    10.4 中间设计  228

    10.5 详细设计  228

    10.6 实现  229

    10.7 集成  229

    10.8 系统部署  229

    10.9 运行和维护  229

    10.10 实现测试过程  230

    10.11 参考文献注解  230

    第11章 编写测试计划  231

    11.1 分层测试计划模板  231

    11.2 参考文献注解  233

    第12章 测试实现  234

    12.1 集成顺序  234

    12.2 测试替身  235

    12.2.1 桩和模拟:测试替身的变种  236

    12.2.2 使用测试替身来代替组件  237

    12.3 参考文献注解  240

    第13章 软件演化中的回归测试  241

    13.1 参考文献注解  243

    第14章 编写有效的测试预言  244

    14.1 应该检查的内容  244

    14.2 决定正确的测试值  245

    14.2.1 对输出进行基于规约的直接验证  246

    14.2.2 冗余计算  246

    14.2.3 一致性检查  247

    14.2.4 蜕变测试  247

    14.3 参考文献注解  248

    测试准则表  250

    参考文献  252

    索引  269
  • 内容简介:
    This extensively classroom-tested text uses an innovative approach to explaining software testing, and covers the latest techniques to test software such as OO, web applications, and embedded software. This new edition features vastly expanded coverage of the basics and the JUnit framework, as well as many new examples and exercises.
  • 作者简介:
    保罗·阿曼(Paul Ammann)是乔治梅森大学软件工程副教授。他于2007年获得Volgenau工程学院的杰出教学奖。他领导开发了应用计算机科学学位,现任软件工程硕士项目主任。Ammann在软件工程领域已经发表了超过80篇文章,尤其着重于软件测试、软件安全、软件依赖性和软件工程教育方向。

    杰夫·奥法特(Jeff Offutt)是乔治梅森大学软件工程教授。他于2013年获得乔治梅森大学杰出教学奖。他在基于模型测试、基于准则测试、测试自动化、经验软件工程和软件维护等方面已经发表了超过165篇文章。他是《软件测试、验证和可靠性》期刊的主编。他还帮助创建了IEEE国际软件测试大会,同时也是uJava项目的创始人。
  • 目录:
    出版者的话

    译者序

    前言

    第一部分 软件测试基础

    第1章 为什么测试软件  2

    1.1 软件何时会出现问题  3

    1.2 软件测试的目的  6

    1.3 参考文献注解  13

    第2章 模型驱动测试设计  15

    2.1 软件测试基础  15

    2.2 软件测试活动  17

    2.3 基于软件活动的测试级别  17

    2.4 覆盖准则  19

    2.5 模型驱动测试设计  21

    2.5.1 测试设计  22

    2.5.2 测试自动化  22

    2.5.3 测试执行  23

    2.5.4 测试评估  23

    2.5.5 测试者和抽象  23

    2.6 MDTD为什么重要  25

    2.7 参考文献注解  25

    第3章 测试自动化  27

    3.1 软件可测性  27

    3.2 测试用例的构成  28

    3.3 测试自动化框架  30

    3.3.1 JUnit测试框架  31

    3.3.2 数据驱动测试  35

    3.3.3 在单元测试中添加参数  36

    3.3.4 从命令行运行JUnit  38

    3.4 超越自动化  38

    3.5 参考文献注解  41

    第4章 测试优先  42

    4.1 驯服改动成本曲线  42

    4.1.1 改动成本曲线真的被驯服了吗  43

    4.2 测试装具——守护者  44

    4.2.1 持续集成  45

    4.2.2 敏捷方法中的系统测试  45

    4.2.3 将测试加入遗留系统  46

    4.2.4 敏捷方法中测试的弱点  47

    4.3 参考文献注解  48

    第5章 基于准则的测试设计  49

    5.1 定义覆盖准则  49

    5.2 不可行性和包含  52

    5.3 使用覆盖准则的好处  53

    5.4 下一个部分  54

    5.5 参考文献注解  54

    第二部分 覆盖准则

    第6章 输入空间划分  58

    6.1 输入域建模  60

    6.1.1 基于接口的输入域建模  61

    6.1.2 基于功能的输入域建模  61

    6.1.3 设计特征  62

    6.1.4 选择区块和测试值  63

    6.1.5 检查输入域模型  65

    6.2 组合策略准则  66

    6.3 检查特征之间的约束  71

    6.4 扩展实例:从JavaDoc中推导IDM  72

    6.4.1 设计基于IDM的测试用例中的任务  72

    6.4.2 为迭代器设计基于IDM的测试用例  73

    6.5 参考文献注解  78

    第7章 图覆盖  82

    7.1 概述  82

    7.2 图覆盖准则  86

    7.2.1 结构化的覆盖准则  87

    7.2.2 游历、顺路和绕路  90

    7.2.3 数据流准则  97

    7.2.4 图覆盖准则间的包含关系  103

    7.3 基于源代码的图覆盖  104

    7.3.1 基于源代码的结构化图覆盖  104

    7.3.2 基于源代码的数据流图覆盖  108

    7.4 设计元素的图覆盖  116

    7.4.1 设计元素的结构化图覆盖  116

    7.4.2 设计元素的数据流图覆盖  118

    7.5 设计规范的图覆盖  124

    7.5.1 测试顺序约束  125

    7.5.2 测试软件的行为状态  127

    7.6 用例的图覆盖  134

    7.6.1 用例场景  137

    7.7 参考文献注解  137

    第8章 逻辑覆盖  141

    8.1 有效的语义逻辑覆盖准则  141

    8.1.1 简单的逻辑覆盖准则  142

    8.1.2 有效子句覆盖  144

    8.1.3 无效子句覆盖  148

    8.1.4 不可行性和包含  148

    8.1.5 让子句决定谓词  150

    8.1.6 找到满足准则的取值  153

    8.2 语法逻辑覆盖准则  157

    8.2.1 蕴涵项覆盖  158

    8.2.2 极小DNF  159

    8.2.3 MUMCUT覆盖准则  160

    8.2.4 卡诺图  163

    8.3 程序的结构化逻辑覆盖  166

    8.3.1 满足谓词覆盖  169

    8.3.2 满足子句覆盖  170

    8.3.3 满足有效子句覆盖  171

    8.3.4 谓词转换问题  174

    8.3.5 谓词中的副作用  176

    8.4 基于规范的逻辑覆盖  178

    8.5 有限状态机的逻辑覆盖  180

    8.6 参考文献注解  184

    第9章 基于语法的测试  187

    9.1 基于语法的覆盖准则  187

    9.1.1 基于通用语法的覆盖准则  187

    9.1.2 变异测试  189

    9.2 基于程序的语法  192

    9.2.1 编译器的BNF语法  192

    9.2.2 基于程序的变异  193

    9.3 集成测试和面向对象测试  206

    9.3.1 BNF集成测试  206

    9.3.2 集成变异  206

    9.4 基于规约的语法  212

    9.4.1 BNF语法  212

    9.4.2 基于规约的变异  212

    9.5 输入空间的语法  215

    9.5.1 BNF语法  215

    9.5.2 变异输入语法  218

    9.6 参考文献注解  222

    第三部分 实践中的测试

    第10章 管理测试过程  226

    10.1 概述  226

    10.2 需求分析和规约  227

    10.3 系统和软件设计  227

    10.4 中间设计  228

    10.5 详细设计  228

    10.6 实现  229

    10.7 集成  229

    10.8 系统部署  229

    10.9 运行和维护  229

    10.10 实现测试过程  230

    10.11 参考文献注解  230

    第11章 编写测试计划  231

    11.1 分层测试计划模板  231

    11.2 参考文献注解  233

    第12章 测试实现  234

    12.1 集成顺序  234

    12.2 测试替身  235

    12.2.1 桩和模拟:测试替身的变种  236

    12.2.2 使用测试替身来代替组件  237

    12.3 参考文献注解  240

    第13章 软件演化中的回归测试  241

    13.1 参考文献注解  243

    第14章 编写有效的测试预言  244

    14.1 应该检查的内容  244

    14.2 决定正确的测试值  245

    14.2.1 对输出进行基于规约的直接验证  246

    14.2.2 冗余计算  246

    14.2.3 一致性检查  247

    14.2.4 蜕变测试  247

    14.3 参考文献注解  248

    测试准则表  250

    参考文献  252

    索引  269
查看详情
相关图书 / 更多
软件测试基础(原书第2版)
软件工程:经典、现代和前沿
孙艳春 主编, 黄罡,邓水光 编著
软件测试基础(原书第2版)
软件利润流 英文限量版
(美)杰森·坦纳(Jason Tanner)
软件测试基础(原书第2版)
软件逆向分析技术及应用
鲁宏伟 陈凯 邓贤君 许雷永
软件测试基础(原书第2版)
软件性能测试实战教程(LoadRunner与JMeter)
周百顺 主编;张伟
软件测试基础(原书第2版)
软件工程专业英语(第2版)
宋晓涛 谢红薇 郭晓红
软件测试基础(原书第2版)
软件工程--理论与实践
毛新军 董威
软件测试基础(原书第2版)
软件需求分析(微课版)
李美蓉 何中海
软件测试基础(原书第2版)
软件自动化测试入门攻略
杨定佳
软件测试基础(原书第2版)
软件工程(第4版 英文版)
(美) 莎丽·劳伦斯·弗里格(Shari Lawrence Pfleeger)
软件测试基础(原书第2版)
软件性能测试、分析与调优实践之路(第2版)
张永清
软件测试基础(原书第2版)
软件灵活性设计:如何避免陷入编程困境 [美]克里斯·汉森
(美)克里斯·汉森 (美)杰拉尔德·杰伊·萨斯曼
软件测试基础(原书第2版)
软件开发珠玑:穿越50年软件往事的60条戒律
(美)Karl Wiegers(卡尔·魏格斯)
您可能感兴趣 / 更多
软件测试基础(原书第2版)
狐狸思维
保罗.德万
软件测试基础(原书第2版)
通货膨胀的真相
保罗.多诺万
软件测试基础(原书第2版)
背叛(布克奖全美书评家协会奖,《纽约时报》十大好书)
保罗.比第 著;邓晓菁 译
软件测试基础(原书第2版)
证券分析师进阶指南
保罗.约翰逊
软件测试基础(原书第2版)
并购、剥离与资产重组:投资银行和私募股权实践指南
保罗.皮格纳塔罗
软件测试基础(原书第2版)
彩乌鸦10周年版 文身狗
保罗.马尔
软件测试基础(原书第2版)
富裕的大众
保罗.努内斯
软件测试基础(原书第2版)
IBM营销革命
保罗.甘布尔
软件测试基础(原书第2版)
智力冲浪-超级智力大比拼
保罗.斯洛安
软件测试基础(原书第2版)
品牌的力量
保罗.斯图伯特
软件测试基础(原书第2版)
马丁·路德的神学 The Theology of Martin Luther
保罗.阿尔托依兹 Paul Althaus
软件测试基础(原书第2版)
费正清看中国
保罗. 埃文斯(Paul Evans)