[书目20210909]软件评测师教程

第一篇 基础理论篇 
第 1 章 软件测试概述  2 
1.1 软件测试的背景  2 
1.2 软件错误相关的典型案例  4 
1.3 国内外发展现状及趋势  7 
第 2 章 软件测试基础  12 
2.1 软件测试的基本概念  12 
2.1.1 什么是软件测试  12 
2.1.2 验证与确认  13 
2.1.3 软件缺陷  14 
2.1.4 测试与质量保证  17 
2.1.5 测试用例  18 
2.1.6 测试策略  19 
2.2 软件测试的原则  20 
2.3 软件测试模型  22 
2.3.1 V 模型  22 
2.3.2 W 模型  22 
2.3.3 H 模型  23 
2.3.4 敏捷测试模型  24 
2.4 软件测试分类  24 
2.4.1 按工程阶段划分的测试  25 
2.4.2 按是否执行代码划分的测试  26 
2.4.3 按测试实施主体划分的测试  27 
2.4.4 按是否关联代码划分的测试  27 
2.4.5 按软件质量特性划分的测试  29 
2.4.6 按符合性评价要求划分的测试  30 
2.4.7 回归测试  31 
第 3 章 软件测评相关标准  33 
3.1 标准化概述  33 
3.1.1 标准化的意义  33 
3.1.2 标准的分类  34 
3.2 软件质量模型与评价标准  35 
3.2.1 软件质量标准的发展  35 
3.2.2 软件质量模型和测量  38 
3.2.3 软件质量评价  43 
3.2.4 就绪可用产品(RUSP)的质量要求和评价细则  44 
3.3 软件测试标准  45 
3.3.1 测试过程标准  46 
3.3.2 测试文档标准  46 
3.3.3 测试技术标准  49 
3.4 软件测试工作量及成本估算相关标准  50 
第 4 章 软件测试过程和管理  56 
4.1 测试过程模型  56 
4.2 组织级测试过程  57 
4.2.1 目的  58 
4.2.2 输入  59 
4.2.3 活动和任务  59 
4.2.4 结果  60 
4.2.5 信息项  60 
4.3 测试管理过程  60 
4.3.1 测试策划过程  61 
4.3.2 测试设计和实现过程  66 
4.3.3 测试环境构建和维护过程  69 
4.3.4 测试执行过程  71 
4.3.5 测试事件报告过程  73 
4.3.6 测试监测和控制过程  75 
4.3.7 测试完成过程  78 
4.4 静态测试过程  80 
4.4.1 目的  80 
4.4.2 输入  80 
4.4.3 活动和任务  80 
4.4.4 结果  81 
4.4.5 信息项  81 


第二篇 测试技术篇 
第 5 章 基于规格说明的测试技术  83 
5.1 测试用例设计方法  83 
5.1.1 等价类划分法  84 
5.1.2 分类树法  86 
5.1.3 边界值法  88 
5.1.4 语法测试  91 
5.1.5 组合测试  92 
5.1.6 判定表测试  97 
5.1.7 因果图法  99 
5.1.8 状态转移测试  102 
5.1.9 场景测试  105 
5.1.10 随机测试  107 
5.2 测试设计方法选择策略  109 
5.3 测试用例的编写  109 
5.3.1 测试设计规格说明  110 
5.3.2 测试用例规格说明  111 
5.3.3 测试规程规格说明  112 
5.3.4 测试用例编写的细节  113 
第 6 章 基于结构的测试技术  115 
6.1 静态测试技术  115 
6.1.1 代码检查  115 
6.1.2 编码规则检查  116 
6.1.3 静态分析  117 
6.2 动态测试技术  120 
6.2.1 基于控制流设计用例  120 
6.2.2 基于数据流设计用例  129 
6.3 基于结构的测试辅助技术  136 
6.3.1 词法和语法分析  136 
6.3.2 程序插桩和驱动技术  137 
6.4 基于结构测试的综合策略  138 
6.4.1 测试覆盖准则  139 
6.4.2 小测试用例数计算  140 
第 7 章 自动化测试技术  144 
7.1 自动化测试技术概述  144 
7.1.1 自动化测试技术的发展和演进  144 
7.1.2 自动化测试的概念  145 
7.1.3 自动化测试的分类  146 
7.1.4 自动化测试的优缺点和局限  147 
7.1.5 自动化测试系统的通用架构  149 
7.2 自动化测试的实践策略  151 
7.3 测试设计的自动化技术  153 
7.3.1 基于模型的测试技术  153 
7.3.2 基于搜索的测试技术 157 
7.4 测试执行的自动化技术  158 
7.4.1 测试工具的选择  158 
7.4.2 自动化测试语言的选择  159 
7.4.3 测试输入的设计与实现  159 
7.4.4 测试输出结果的收集和分析  164 
第 8 章 基于经验的测试技术  166 
8.1 错误猜测法  166 
8.1.1 基本概念  166 
8.1.2 软件错误类型  166 
8.1.3 估算错误数量的方法  167 
8.2 探索性测试  168 
8.2.1 基本概念  168 
8.2.2 探索性测试风格  169 
8.2.3 探索性测试的相关方法  170 
8.2.4 探索性测试的优势与局限 170 
8.3 基于检查表的测试  171 
8.3.1 基本概念  171 
8.3.2 基于代码检查表的测试  171 
8.3.3 基于文档检查表的测试  172 
第 9 章 基于质量特性的测试与评价 174 
9.1 功能性测试  174 
9.1.1 完备性  174 
9.1.2 正确性  175 
9.1.3 适合性  175 
9.1.4 功能性测试案例  176 
9.2 性能效率测试  183 
9.2.1 时间特性  183 
9.2.2 资源利用性  183 
9.2.3 容量  184 
9.2.4 性能效率测试类型  185 
9.2.5 性能效率测试案例  186 
9.3 易用性测试  188 
9.3.1 可辨识性  188 
9.3.2 易学性  189 
9.3.3 易操作性  190 
9.3.4 用户差错防御性  191 
9.3.5 用户界面舒适性  192 
9.3.6 易访问性  193 
9.4 可靠性测试  194 
9.4.1 成熟性  194 
9.4.2 可用性  195 
9.4.3 容错性  195 
9.4.4 易恢复性  196 
9.5 信息安全性测试  197 
9.5.1 保密性  197 
9.5.2 完整性  198 
9.5.3 抗抵赖性  198 
9.5.4 可核查性  198 
9.5.5 真实性  199 
9.6 维护性测试  199 
9.6.1 模块化  199 
9.6.2 可重用性  200 
9.6.3 易分析性  200 
9.6.4 易修改性  201 
9.6.5 易测试性  202 
9.7 兼容性测试  202 
9.7.1 共存性  203 
9.7.2 互操作性  203 
9.8 可移植性测试  204 
9.8.1 适应性  204 
9.8.2 易安装性  206 
9.8.3 易替换性  207 
9.9 依从性测试  207 
9.10 符合性测试  208 
9.10.1 先决条件  208 
9.10.2 评价活动内容  209 
9.10.3 评价过程  209 
9.10.4 评价报告  209 
9.10.5 后续的符合性评价  210 


第三篇 测试技术应用篇 
第 10 章 基于风险的测试  212 
10.1 基于风险的测试概述  212 
10.1.1 为何要基于风险  212 
10.1.2 测试计划内容  216 
10.1.3 测试计划制订的步骤  217 
10.1.4 基于风险的测试的应用领域  218 
10.2 风险分析和缓解措施设计  218 
10.2.1 风险识别  218 
10.2.2 风险的影响和发生概率评估  221 
10.2.3 风险的优先级  224 
10.2.4 风险与缓解措施  226 
10.2.5 一般性的缓解措施指南  227 
10.3 测试级别与测试实施  232 
10.3.1 测试设计和实施的一般性指南  232 
10.3.2 单元测试设计与实施  234 
10.3.3 集成测试设计与实施  235 
10.3.4 系统测试设计与实施  237 
10.3.5 验收测试设计与实施  237 
10.4 测试估算与平衡决策  238 
10.4.1 测试估算的方法指南  238 
10.4.2 测试策略的综合和平衡  240 
第 11 章 分层架构软件测试  241 
11.1 分层架构介绍  241 
11.1.1 分层架构概述  241 
11.1.2 表示层介绍  242 
11.1.3 服务层介绍  243 
11.1.4 业务逻辑层介绍  243 
11.1.5 数据层介绍  244 
11.2 质量特性  244 
11.2.1 表示层质量特性  244 
11.2.2 服务层质量特性  248 
11.2.3 业务逻辑层质量特性  249 
11.2.4 数据层质量特性  251 
11.3 测试策略  252 
11.3.1 表示层测试策略  252 
11.3.2 服务层测试策略  253 
11.3.3 业务逻辑层测试策略  254 
11.3.4 数据层测试策略  256 
11.4 测试案例  259 
11.4.1 案例概述  259 
11.4.2 案例测试内容  260 
11.4.3 表示层测试  261 
11.4.4 服务层测试  264 
11.4.5 业务逻辑层测试  285 
11.4.6 数据层 TPC-C 基准测试  289 
11.4.7 数据层 TPC-DS 基准测试  293 
第 12 章 事件驱动架构软件测试  301 
12.1 架构概述  301 
12.1.1 基本概念  301 
12.1.2 应用实例  304 
12.2 质量特性  306 
12.2.1 功能性  309 
12.2.2 可靠性  309 
12.2.3 性能效率  311 
12.2.4 易用性  313 
12.2.5 信息安全性  314 
12.2.6 兼容性  315 
12.2.7 维护性  315 
12.2.8 可移植性  316 
12.3 测试策略  316 
12.4 测试案例  318 
12.4.1 案例介绍——安卓广播接收器  318 
12.4.2 测试策略与质量特性  319 
第 13 章 微内核架构软件测试 322 
13.1 微内核架构概述  322 
13.1.1 微内核架构说明  322 
13.1.2 微内核架构特点  323 
13.1.3 微内核架构优缺点  324 
13.2 质量特性  324 
13.2.1 功能性  324 
13.2.2 信息安全性  325 
13.2.3 可靠性  325 
13.2.4 易用性  325 
13.3 测试策略  325 
13.4 测试案例一  325 
13.4.1 案例介绍  325 
13.4.2 测试过程  327 
13.5 测试案例二  329 
13.5.1 案例介绍  329 
13.5.2 案例测试策略  331 
13.5.3 案例测试设计和执行  336 
13.5.4 案例总结  337 
第 14 章 分布式架构软件测试  338 
14.1 架构概述  338 
14.1.1 基本概念  338 
14.1.2 架构组件  340 
14.1.3 架构优势和劣势  342 
14.1.4 应用实例  343 
14.2 质量特性  344 
14.2.1 功能性  344 
14.2.2 数据一致性相关  346 
14.2.3 事务处理相关  347 
14.2.4 并发、互斥相关  347 
14.2.5 远过程调用和通信相关  348 
14.2.6 运维相关  349 
14.3 分布式架构软件测试常见的质量目标  350 
14.4 分布式架构软件测试常见的测试策略  352 
14.5 测试案例  353 
14.5.1 购票系统  353 
14.5.2 超市会员系统  360 
第四篇 新技术应用篇 
第 15 章 移动应用软件测试  363 
15.1 移动终端平台和应用软件介绍  363 
15.2 移动应用软件的测试  367 
15.3 移动应用软件功能测试案例  373 
第 16 章 物联网软件系统测试 375 
16.1 物联网简介  375 
16.2 物联网的测试类型  377 
16.3 物联网渗透测试技术  378 
第 17 章 大数据系统测试  381 
17.1 大数据简介  381 
17.2 大数据测试技术  382 
17.3 大数据功能测试案例  385 
第 18 章 可信软件验证技术  390 
18.1 可信软件  390 
18.2 可信软件的验证技术  391 
18.2.1 形式化建模与方法  391 
18.2.2 可信软件验证工具  394 
第 19 章 人工智能时代下的软件测试技术发展  400 
19.1 人工智能时代的到来  400 
19.1.1 人工智能在各行各业的应用  400 
19.1.2 人工智能对软件测试技术发展的影响  401 
19.1.3 人工智能会否取代软件测试人员  403 
19.2 人工智能辅助测试技术  405 
19.2.1 基于约束的技术  405 
19.2.2 启发式搜索算法  408 
19.3 机器学习在软件测试中的应用  409 
19.3.1 软件测试设计推荐  409 
19.3.2 使用模式识别  410 
19.3.3 软件脆弱性测试  410 
参考文献  411

[书目20210909]软件评测师教程

上一篇:querydsl 返回指定泛型类


下一篇:vue (vuex)