软件测试基础

软件测试基础

作者:Paul

出版社:机械工业出版社

出版年:2018-10-01

评分:5分

ISBN:9787111611295

所属分类:网络科技

书刊介绍

软件测试基础 目录

出版者的话
译者序
前言
**部分软件测试基础
第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.6MDTD为什么重要 25
2.7参考文献注解 25
第3章测试自动化 27
3.1软件可测性 27
3.2测试用例的构成 28
3.3测试自动化框架 30
3.3.1JUnit测试框架 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.3MUMCUT覆盖准则 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.1BNF集成测试 206
9.3.2集成变异 206
9.4基于规约的语法 212
9.4.1BNF语法 212
9.4.2基于规约的变异 212
9.5输入空间的语法 215
9.5.1BNF语法 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项目的创始人。

相关推荐

微信二维码