技术教育社区
www.teccses.org

软件测试用例集约简算法研究

封面

作者:华丽

页数:167

出版社:华中科技大学出版社

出版日期:2024

ISBN:9787577209630

电子书格式:pdf/epub/txt

内容简介

本书在满足测试需求集的条件下,对测试用例集进行约简,使得测试运行代价最小,从而达到节约测试成本、提高测试效率的目的。本书详细介绍了蚁群算法、遗传算法、改进的蚁群算法、遗传算法和蚁群算法相融合的算法、改进的 HGS算法等约简测试用例集的算法。本书的重点在于约简测试用例集的同时,令所花的测试运行代价最小,且保证约简后测试用例集的错误检测能力不会降低。本书的特色在于,在对这些算法在理论上进行描述的同时,执行了严格的实验来佐证结论。本书可作为高年级本科生、软件测试方向的研究生、有兴趣的青年学者的参考书。

作者简介

华丽,湖北文理学院计算机工程学院软件工程系副教授,支部书记。有从教二十多年的教学经验,在教学管理、教学内容的组织、教学方法的选择、教学资源的建设、手机使用与监管矛盾等方面见解独到、方法实用性强。

本书特色

本书图文并茂,以实用为主,且附录中包含6种算法的主要代码: GA算法主要代码、HGS算法主要代码 、ACA算法主要代码、TSR-ACA算法主要代码、TSR-GAA算法主要代码、RTSR-HGS算法主要代码。

目录

第 1章 绪论 / 1

1. 1 研究背景及意义 /2

1. 2 国内外研究现状 / 3

1. 3 研究的主要内容 /5

第 2章 软件测试及测试用例集约简技术 /7

2. 1 软件测试 /8

2. 1. 1 软件测试的概念 /8

2. 1. 2 测试用例的定义 /9

2. 1. 3 软件测试的分类 /9

2. 1. 4 软件测试的 目 的 /10

2. 1. 5 软件测试的原则 /12

2. 2 测试用例集约简的相关定义和术语 /15

2. 3 几种典型的测试用例集约简算法介绍 /17

2. 3. 1 贪 心 算法 /17

2. 3. 2 HGS算法 /19

2. 3. 3 GRE算法 /19

2. 3. 4 整数规划算法 /22

2. 4 性能分析及实例研究 /24

第 3章 基本蚁群算法的测试用例集约简 /26

3. 1 蚁群算法的思想起源 /27

3. 2 蚁群算法的基本原理 /28

3. 3 蚁群算法及其改进 /31

3. 3. 1 蚁群算法框架 /32

3. 3. 2 蚁群算法的程序流程图 /33

3. 3. 3 蚁群算法的数学模型 /33

3. 3. 4 蚁群算法的参数 /37

3. 4 蚁群算法的仿真实现 /37

3. 5 蚁群算法的意义及应用 /38

3. 5. 1 蚁群算法的意义 /38

3. 5. 2 蚁群算法的应用 /39

第 4章 基本遗传算法的测试用例集约简 /42

4. 1 遗传算法的思想起源 /43

4. 2 遗传算法的基本原理 /45

4. 2. 1 遗传算法概述 /45

4. 2. 2 遗传算法的特点 /47

4. 2. 3 遗传算法的基本步骤 /48

4. 3 遗传算法及其改进 /53

4. 4 遗传算法的应用 /56

第 5章 基于变异因子的蚁群算法的测试用例集约简 /59

5. 1 问题描述 /60

5. 2 基于变异因子的蚁群算法的测试用例集约简算法(TSR-ACA)算法 /61

5. 2. 1 基本蚁群算法的求解过程 /61

5. 2. 2 蚁群算法中变异因子的引入 /62

5. 2. 3 信息素的更新 /62

5. 2. 4 TSR-ACA 算法中的主要参数值 /63

5. 2. 5 TSR-ACA 算法描述 /66

5. 3 仿真实验对比 /67

第 6章 基于遗传蚁群算法的测试用例集约简 /69

6. 1 问题描述 /70

6. 1. 1 问题定义 /70

6. 1. 2 问题模型 /70

6. 2 基于遗传蚁群算法的测试用例集约简算法(TSR-GAA)算法 /72

6. 2. 1 遗传算法与蚁群算法融合的基本原理 /72

6. 2. 2 遗传算法设计 /72

6. 2. 3 蚁群算法设计 /73

6. 2. 4 基于遗传蚁群算法求解约简用例集的算法步骤 /74

6. 3 仿真实验对比 /76

第 7章 基于 HGS算法的回归测试用例集约简 /78

7. 1 问题描述 /79

7. 1. 1 相关定义 /79

7. 1. 2 问题的提出 /80

7. 2 算法的参数 /81

7. 2. 1 测试用例的测试覆盖度 /81

7. 2. 2 测试用例的测试运行代价 /81

7. 2. 3 测试用例的错误检测能力 /81

7. 3 基于 HGS算法的回归测试用例集约简算法(RTSR-HGS)算法 /82

7. 3. 1 测试用例的度量值公式 /83

7. 3. 2 HGS算法与回归测试用例集约简算法的融合 /83

7. 4 仿真实验对比 /84

第 8章 算法的实现和性能分析工具 /85

8. 1 性能分析工具的开发环境 /86

8. 2 性能分析工具 /86

8. 2. 1 矩阵生成模块 /86

8. 2. 2 数据编辑模块 /89

8. 2. 3 算法执行模块 /91

8. 2. 4 性能分析模块 /93

8. 3 算法性能对比分析 /95

参考文献 /99

附录 A GA算法主要代码 /103

附录 B HGS算法主要代码 /106

附录 C ACA算法主要代码 /117

附录 D TSR-ACA算法主要代码 /125

附录 E TSR-GAA算法主要代码 /135

附录 F RTSR-HGS算法主要代码 /145

前言

软件测试是软件开发过程中非常重要的部分。随着软件的规模越来越庞大,花费在软件测试工作上的时间、人力、物力也越来越多。测试用例集的数量及每个测试用例的运行代价决定着软件测试的成本及效率。在保证软件测试的质量和对软件关键操作进行充分测试的前提下,如何使用代价小且尽可能少的测试用例来充分测试软件,从而降低软件测试的成本和提高测试效率是本书研究的重点内容。

解决测试用例集约简问题的途径有两种,一种是进行测试用例的选择,另一种则是采用测试用例集约简技术。测试用例的选择就是从原始用例集中选择出一个测试用例子集,其能够覆盖所有的修改,但这种方法一般不能提供与原始测试用例集一样的测试覆盖度。本文主要关注的是第二种方法,即在原始用例集中,找到一个近似运行代价最小的测试用例子集,并能够提供与原始测试用例集一样的测试覆盖度。为了尽量减少软件测试的费用,我们在做测试用例集的约简时,不仅要减少用例的个数,还必须考虑测试用例的运行代价,并且每个测试用例的运行代价是不相等的。

本书分为四个部分。

第一部分即第1章的绪论部分,给出概要性的介绍,

第二部分是软件测试用例集约简的理论基础,由第2章、第3章和第4章组成。第2章介绍了软件测试的概念,测试用例集约简的相关定义和术语,以及用贪心算法、HGS算法和GRE算法解决测试用例集约简问题的步骤等第3章是以基本蚁群算法为核心展开的,在这一章中介绍了蚁群算法的思想并详细阐述了如何用基本蚁群算法约简测试用例集,并且分析了此算法存在的问题及如何进行改进。第4章以基本遗传算法为基础,介绍了遗传算法的基本思想及原理。

第三部分详细阐述了作者提出的3种算法,由第5章至第7章组成。第5章在基本蚁群算法的基础上,考虑了每个测试用例的运行代价,其中,每个测试用例的运行代价是不相等的,于是引人了变异因子来增加蚂蚁选择路径的随机性,使得蚁群既能快速找到最佳路径,又不会限于局部最优。第5章将蚁群算法和遗传算法进行融合,首先利用遗传算法的快速随机全局搜索能力生成蚁群算法的初始信息素,然后利用蚁群算法的正反馈性,快速得到约简测试用例集的近似最优解。第6章在约简回归测试用例集的时候综合考虑了测试用例的测试覆盖度、测试运行代价和错误检测能力3个因素,该算法在有效约简回归测试用例集的同时能保证约简后的测试用例集的错误检测能力。

在第四部分为第8章,设计了一个原型系统进行仿真实验,把作者提出的3种算法和3种经典算法进行比较,对本书提出的3种算法进行了性能评估。本书图文并茂,以实用为主,力求能够成为高年级本科生、软件测试方向的研究生、有兴趣的青年学者在研究相关主题时的参考书。本书受到“新能源汽车与智慧交通”湖北省优势特色学科群(Hubei Superior and Distinctive Discipline Group of“New Energy Vehicle and Smart Transportation”)的资助。由于编者水平有限,缺点和错误在所难免,希望广大读者给予批评指正,对此作者深表谢意。

下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《软件测试用例集约简算法研究》
Article link:https://www.teccses.org/1605742.html