软件质量保证与测试(慕课版)(第2版)

本书为软件工程国家一流专业开设的国家级一流本科课程配套教材,获评江苏 “十四五 ”省级规划教材,已出版配套数字教材,在中国大学慕课、优课在线有配套在线课程 ,教材及教学资源被超星集团评为“示范教学包”。
分享 推荐 1 收藏 8 阅读 2.0K
王智钢 (作者) 978-7-115-68484-4

关于本书的内容有任何问题,请联系 李召

『体系结构』:本书为慕课(MOOC)教材,讲述软件质量保证与测试的发展过程、基本概念、核心思想、基本原理、基本方法、主要过程、常用 技术与工具,新增信创测试、AI 安全测试、Web 测试和软件测试实践。
『内容创新』:以学生能力产出为指导,运用启发式教学、实例化教学等方法,结合软件测试实践和全国大学生软件测试大赛等促进学生能力产出。
『案例特色』:本书以大量源程序代码和测试代码作为示例来进行讲解,提供丰富新颖的习题,加强对学生能力产出的度量和考核,满足工程教育认证的要求。

内容摘要

本书讲述了软件质量保证与测试的发展过程、基本概念、核心思想、基本原理、基本方法、主要过程、常用技术与工具,以及信创测试、AI安全测试和软件测试实践。本书共10章,内容分别为:绪论、软件测试策略、黑盒测试、白盒测试、软件测试过程、面向对象测试、自动化测试、Web测试、软件质量与质量保证、软件安全测试。
本书以大量源程序代码和测试代码作为示例来进行讲解,结合软件开发,培养学生的测试分析、测试设计和测试开发能力;同时以基于“学习产出”的教育模式为指导,提供丰富新颖的习题,加强对学生“能力产出”的度量和考核,以适应工程教育认证的要求。本书为慕课(MOOC)教材,可以提供全套网络教学资源,让暂不具备这些数字化资源的学校和教师能快速开设“软件质量保证与测试”“软件测试”慕课/微课课程。
本书可作为应用型本科院校软件工程、计算机等专业“软件质量保证与测试”“软件测试”课程的教材,也可作为软件测试工程师的参考书。

目录

第1章 绪论 1
1.1 软件测试的产生与发展 1
1.1.1 软件测试的产生 1
1.1.2 软件测试的第一类测试方法 2
1.1.3 软件测试的第二类测试方法 2
1.1.4 软件测试与软件质量 3
1.1.5 软件测试及软件测试观念的发展过程 4
1.2 软件缺陷、软件错误和软件失败 4
1.2.1 第一个Bug 4
1.2.2 软件缺陷 4
1.2.3 缺陷产生的原因 5
1.2.4 动态测试PIE模型 7
1.3 软件测试的意义、原则和挑战 9
1.3.1 软件发展特点对软件测试的影响 9
1.3.2 软件缺陷导致的事故案例 11
1.3.3 软件测试的意义 13
1.3.4 软件测试的基本原则 15
1.3.5 关于测试的错误认识 16
1.3.6 软件测试面临的挑战 16
1.4 质量意识、社会责任、工匠精神与创新 17
1.4.1 质量意识 17
1.4.2 社会责任 17
1.4.3 工匠精神 18
1.4.4 创新 18
1.5 信创测试 19
1.5.1 信创战略 19
1.5.2 信创体系 19
1.5.3 信创测试简介 20
习题一 21
第2章 软件测试策略 25
2.1 软件测试的模型和过程 25
2.1.1 软件测试的模型 25
2.1.2 软件测试的过程 27
2.2 软件测试的方法和技术 28
2.2.1 静态测试与动态测试 28
2.2.2 黑盒测试和白盒测试 29
2.2.3 手工测试与自动化测试 30
2.2.4 软件测试的基本策略 30
2.3 软件测试的组织和管理 31
2.3.1 人员和资源组织 31
2.3.2 过程和进度管理 32
2.3.3 测试文档管理 37
2.3.4 测试用例管理 37
2.3.5 软件缺陷管理 39
习题二 40
第3章 黑盒测试 42
3.1 黑盒测试简介 42
3.2 等价类划分测试法 43
3.2.1 等价类划分 43
3.2.2 等价类划分测试 46
3.2.3 等价类的组合 48
3.3 边界值测试法 49
3.3.1 边界值 49
3.3.2 边界值测试用例设计 50
3.3.3 边界值的组合 51
3.4 错误推测法 52
3.4.1 错误推测法简介 52
3.4.2 登录测试错误推测法应用 53
3.4.3 数据表操作测试错误推测法应用及示例 54
3.5 判定表驱动法 54
3.5.1 判定表 54
3.5.2 判定表的建立 56
3.5.3 判定表驱动测试示例 56
3.6 因果图法 57
3.6.1 因果图介绍 58
3.6.2 因果图法设计测试用例的步骤 59
3.6.3 因果图法设计测试用例示例 59
3.7 场景法 61
3.7.1 事件流 61
3.7.2 场景法设计测试用例的步骤 62
3.7.3 场景法应用示例 63
3.8 正交实验法 64
3.8.1 正交实验法应用背景 64
3.8.2 正交实验法简介 64
3.8.3 正交实验法应用步骤和原则 65
3.8.4 正交实验法应用示例 66
习题三 68
第4章 白盒测试 71
4.1 白盒测试简介 71
4.2 静态白盒测试 71
4.2.1 代码检查 72
4.2.2 静态结构分析 73
4.2.3 程序流程分析 74
4.2.4 编程规范 75
4.2.5 静态测试工具简介 79
4.2.6 静态测试工具安装与使用 82
4.3 逻辑覆盖 85
4.3.1 逻辑覆盖简介 86
4.3.2 语句覆盖 86
4.3.3 判定覆盖 88
4.3.4 条件覆盖 89
4.3.5 条件/判定覆盖 89
4.3.6 条件组合覆盖 90
4.3.7 修正条件/判定覆盖 91
4.3.8 覆盖标准 91
4.4 基本路径覆盖 93
4.4.1 控制流图 93
4.4.2 环路复杂度 95
4.4.3 基本路径覆盖及实例 96
4.5 测试覆盖分析工具 100
4.5.1 JaCoCo 100
4.5.2 JCov 100
4.5.3 Cobertura 100
4.6 循环测试 101
4.6.1 基本循环结构测试 101
4.6.2 复合循环结构测试 102
4.7 程序变异测试 103
4.7.1 程序变异 104
4.7.2 变异测试 105
4.7.3 变异测试的优缺点 107
4.7.4 变异测试的企业应用示例 108
4.7.5 变异测试的科研应用示例 108
4.8 符号执行 109
4.8.1 符号执行简介 109
4.8.2 符号执行示例 109
4.8.3 符号执行的特点和作用 110
4.9 程序插桩和调试 110
4.9.1 断言 110
4.9.2 设计插桩 111
4.9.3 程序调试 114
习题四 115
第5章 软件测试过程 121
5.1 单元测试 121
5.1.1 单元测试简介 121
5.1.2 单元测试的任务 124
5.1.3 JUnit单元测试入门 128
5.2 集成测试 132
5.2.1 集成测试简介 132
5.2.2 一次性集成与增量式集成 138
5.2.3 自顶向下集成与自底向上集成 139
5.2.4 基于调用图的集成 142
5.2.5 其他集成测试方法 144
5.3 系统测试 150
5.3.1 系统测试简介 150
5.3.2 系统测试项目 151
5.4 验收测试 161
5.4.1 验收测试简介 161
5.4.2 验收测试的分类 163
5.5 回归测试 164
5.5.1 回归测试简介 164
5.5.2 实施回归测试 165
习题五 166
第6章 面向对象测试 171
6.1 面向对象特点对测试的影响 171
6.1.1 封装对测试的影响 171
6.1.2 继承对测试的影响 171
6.1.3 多态对测试的影响 172
6.1.4 复杂的依赖关系对测试的影响 172
6.2 面向对象测试技术 173
6.2.1 面向对象测试技术简介 173
6.2.2 类测试 173
6.3 面向对象示例 174
6.3.1 私有方法测试 174
6.3.2 多态测试 176
习题六 177
第7章 自动化测试 179
7.1 自动化测试技术和工具 179
7.1.1 自动化测试简介 179
7.1.2 自动化测试的优点、局限性和适用情况 179
7.1.3 自动化测试工具 181
7.2 自动化黑盒测试 183
7.2.1 自动化黑盒测试的基本原理 183
7.2.2 自动化黑盒测试的相关技术 184
7.3 自动化白盒测试 186
7.3.1 自动化白盒测试工具思多普SDAP简介 186
7.3.2 SDAP的应用 187
习题七 190
第8章 Web测试 192
8.1 Web测试环境搭建 192
8.1.1 安装Java、Eclipse和Selenium 192
8.1.2 在eclipse 中加载selenium jar包 193
8.2 Web测试实践 197
8.2.1 基本测试操作 197
8.2.2 入门实践案例 200
8.2.3 进阶实践案例 202
习题八 205
第9章 软件质量与质量保证 207
9.1 程序正确性的标准 207
9.1.1 软件缺陷的分类 207
9.1.2 程序正确性的标准 207
9.2 程序中隐藏缺陷数量估计 207
9.2.1 种子模型法 208
9.2.2 Hyman估算法 208
9.2.3 回归分析 209
9.3 软件质量 210
9.3.1 软件质量基本概念 210
9.3.2 相关概念 211
9.3.3 软件质量特性 212
9.4 软件质量模型和质量度量 213
9.4.1 软件质量模型 213
9.4.2 软件质量的度量 215
9.4.3 不同质量之间的关系 216
9.5 软件质量管理与质量保证 217
9.5.1 软件质量管理 217
9.5.2 软件质量保证 218
9.5.3 软件质量保证体系 219
9.6 质量理念和质量文化 221
9.6.1 概述 221
9.6.2 华为的质量理念和质量文化 222
习题九 223
第10章 安全测试 224
10.1 安全测试简介 224
10.1.1 软件安全测试概念和内涵 224
10.1.2 软件安全测试的标准 225
10.1.3 软件安全测试的原则 225
10.2 安全测试方法 226
10.2.1 静态测试 226
10.2.2 模糊测试 227
10.2.3 对抗性测试 227
10.2.4 三种测试方法的比较 228
10.2.5 安全测试用例示例 229
10.3 安全测试示例 231
10.3.1 工具简介 231
10.3.2 Webscan功能结构 231
10.3.3 Web安全测试过程 232
10.3.4 扫描结果 237
10.4 AI安全测试 240
10.4.1 代码审计 241
10.4.2 动态测试与AI的深度融合 241
10.4.3 AI安全测试工具 242
习题十 242
参考文献 244

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

王智钢,教授,金陵科技学院教师;主持“软件质量保证与测试”课程建设,获江苏省首批一流本科课程、国家级一流本科课程、江苏省在线开放课程,已在中国大学慕课、优课在线等开展10多轮在线教学;参与完成教育部人文社科研究项目两项,江苏高校哲学社会科学研究基金项目2项;主持完成教育部产学合作协同育人项目3项、江苏省教改课题1项;获江苏省教学成果二等奖(排名6/8)、江苏省高教科研成果三等奖(排名4/6);主编《软件质量保证与测试(慕课版)》等教材8部,其中数字教材1部,双语教材1部。1部教材获评江苏“十四五”省级规划教材,本人获评人民邮电出版社优秀作译者。

推荐用户

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部