前言
随着科技的不断发展,互联网的不断进步,日益出现了一种趋势:测试设计将成为一种跨领域的综合性工作,测试者将成为一种跨领域的通用型人才。由此清华大学出版社推出了一本名为《测试设计思想》的书籍,由知名专家周海旭老师撰写。“测试设计思想”是本书的主题。针对测试的两个基本目的和五个基本问题,本书归纳了八类测试设计思想,即系统的思想、枚举的思想、准则化的思想、多样化的思想、统计的思想、冗余的思想、推理的思想、控制的思想。围绕每一类思想,本书深入讲解来自不同领域的测试设计方法、实践及理念,借此剖析如何依据该思想缓解测试的基本问题。可以大大提高效率,让时间都花在刀刃上。
内容章节介绍
第1章基本概念
1.1测试的语义设定
1.2被测对象的质量与缺陷
1.3测试的两个基本目的
1.4测试的五个基本问题
1.4.1正确性判定问题
1.4.2测试完整性问题
1.4.3测试选择问题
1.4.4测试可信性问题
1.4.5测试准绳问题
1.5测试设计思想
1.6本章小结
本章参考文献
第2章系统
2.1被测对象的系统性
2.1.1被测对象与环境的普遍相关性
2.1.2被测对象的边界
2.1.3被测对象的整体涌现性
2.2分层测试
2.2.1硬件分层测试
2.2.2软件分层测试
2.3被测对象期望
2.3.1被测对象期望的相关概念
2.3.2被测对象期望的影响因素
2.3.3被测对象期望的具象化分解
2.3.4被测对象期望树
2.4故障树分析
2.4.1故障树的表示方法
2.4.2故障树的构建过程
2.4.3故障树的割集
2.5本章小结
本章参考文献
第3章枚举
专业的测试者都有一个根深蒂固的观念: 枚举或穷尽测试是不可能的。原因在第1章讲解测试选择问题时已经分析过。这种观念致使测试人员在面对实际测试问题时,总是不假思索地放弃枚举的尝试,直接开始进行测试选择,却不可避免地在测试完整性方面遇到更大的挑战。实际上,比较合理的做法是采取“先扩张再压缩”的策略,也就是在测试设计时先考虑测试完整性问题,努力拓展测试输入空间的疆域,保证设计层面的测试尽可能充分; 继而考虑正确性判定问题,看是否有可能通过测试得到被测对象正确的结论; 最后才考虑如何解决测试选择问题,保证实施层面的测试可行性。
3.1组合测试
3.1.1组合测试的概念
3.1.2组合测试的枚举本质
3.1.3贪心法
3.1.4排除法
3.2分割测试
3.2.1测试输入空间的分割
3.2.2基于缺陷的分割测试
3.2.3等比例采样策略
3.3模型检验
3.3.1形式化模型
3.3.2形式化规约
3.3.3标记算法
3.4本章小结
本章参考文献
第4章准则化
4.1基于结构覆盖的充分准则
4.1.1控制流覆盖准则
4.1.2数据流覆盖准则
4.1.3修改的条件/决策覆盖准则
4.2基于缺陷的充分准则
4.2.1边界缺陷检出准则
4.2.2布尔逻辑缺陷检出准则
4.2.3电路单固定缺陷检出准则
4.2.4变异充分准则
4.3回归测试充分准则
4.3.1基于变更的回归测试充分准则
4.3.2基于优先级排序的回归测试充分准则
4.4准则的选用与定制
4.4.1目标与成本的考量
4.4.2准则之间的包含关系
4.4.3充分准则基本性质
4.4.4绝对充分度
4.5本章小结
本章参考文献
第5章多样化
“多样化”与“单一化”相对立。测试设计中“多样化”的思想来自非常朴素的直觉——“单一化”的测试一定是不好的。所谓“单一化”,指的是测试集中有很多用例相似度较高,在测试输入空间中集中分布于一些局部位置。这些特征单一的用例,只能触发相似的被测对象行为。从观察的角度来说,“单一化”的测试只盯着理想与现实的少数几个角落,无异于以管窥天,看不到被测对象的全貌,因此往往会得到以偏概全的质量评估结论,并难免会遗漏很多重要的缺陷。
5.1随机测试
5.1.1基于伪随机数发生器的随机测试
5.1.2随机选取用例的其他方法
5.1.3模糊测试
5.2反随机测试
5.2.1测试输入点之间的距离
5.2.2反随机测试的过程
5.3自适应随机测试
5.3.1自适应随机测试的过程
5.3.2对缺陷检出效率的改善
5.4基于执行档案的测试
5.5基于模型的测试
5.6正交设计
5.6.1试验设计的基本概念
5.6.2正交表
5.6.3在测试中应用正交设计的过程
5.7均匀设计
5.7.1均匀性
5.7.2均匀设计表及均匀设计过程
5.8本章小结
本章参考文献
第6章统计
6.1统计抽样测试
6.1.1数理统计基础
6.1.2统计抽样原理
6.1.3操作特性曲线
6.2假设检验
6.2.1抽样分布
6.2.2假设检验原理
6.2.3批不合格品率的假设检验
6.2.4软件功能测试中的假设检验
6.3事件分布列
6.3.1事件分布列的建立过程
6.3.2基于事件分布列的随机测试
6.4基于统计模型的测试
6.4.1马尔可夫链
6.4.2基于马尔可夫链的测试设计
6.5软件随机性失效
6.5.1随机性失效的常见诱因
6.5.2面向随机性失效的测试
6.6统计结构测试
6.7本章小结
本章参考文献
第7章冗余
7.1差错控制编码
7.1.1基本原理
7.1.2分组码
7.1.3卷积码
7.2被测对象期望的冗余分解
7.2.1用关系来描述期望
7.2.2冗余分解
7.2.3钝化
7.3基于属性的测试
7.4蜕变测试
7.4.1蜕变关系
7.4.2测试集的测试准绳
7.4.3在线蜕变测试
7.4.4缺陷检出能力
7.5差分测试
7.5.1冗余实现
7.5.2产品演化过程中的差分测试
7.6测试准绳的一般性讨论
7.6.1测试准绳的有效性和完整性
7.6.2测试准绳的相对强度
7.6.3测试准绳与测试充分准则
7.6.4互相制约的关系
7.7模糊冗余信息
7.7.1模糊数学基础
7.7.2测试结论的模糊性
7.8本章小结
本章参考文献
第8章推理
8.1被测对象的正确性
8.1.1正确性的概念
8.1.2正确性度量
8.2演绎
8.2.1演绎推理基础
8.2.2正确性演绎推理
8.3归纳
8.3.1归纳推理基础
8.3.2基于模型的正确性归纳推理
8.3.3基于蜕变关系的正确性归纳推理
8.4等价性证明
8.4.1标准形式
8.4.2等价性反例
8.5基于缺陷的测试
8.6测试设计中的假设
8.6.1测试充分准则中的假设
8.6.2测试准绳中的假设
8.7本章小结
本章参考文献
第9章控制
9.1自适应测试
9.1.1反馈控制基础
9.1.2自适应测试中的反馈控制
9.1.3测试用例自适应排序
9.1.4符号随机测试
9.2可测性
9.2.1能控性与能观性
9.2.2路径敏化法
9.2.3面向能观性的测试充分准则
9.2.4可测性度量
9.3稳定性
9.4本章小结
本章参考文献
购买链接:【图书推荐 | 测试】—《测试设计思想》
总结
“测试设计思想”来源于工程,又超越工程; 立足于具体领域,又跨越具体领域。了解这些思想,有助于读者奠定扎实的测试理论基础,适应当代研发生产活动“多学科交叉、多领域融合”的发展趋势。而《测试设计思想》一书归纳了八类测试设计思想,即系统的思想、枚举的思想、准则化的思想、多样化的思想、统计的思想、冗余的思想、推理的思想、控制的思想。围绕每一类思想,本书深入讲解来自不同领域的测试设计方法、实践及理念,借此剖析如何依据该思想缓解测试的基本问题。
所以非常推荐大家读一读,他会让你事半功倍,酒逢知己.