帮帮文库

返回

蚁群搜索算法在集合覆盖问题中的应用研究 蚁群搜索算法在集合覆盖问题中的应用研究

格式:word 上传:2025-12-18 06:07:58
目前生成测试用例的方法主要是向前核查法和逆向回溯法,测试人员 根据自己的项目经验手工为指定的程序路径生成测试数据。向前核查法是指沿 预期的路径向前检查,确定到每个判断点时变量所能提供的最宽数值区间,然基于遗传算法的测试用例生成方法 后继续前行,从而将多个变量的可能取值范围逐渐缩小,到达程序出口后,就能 找到覆盖这条路径所需的输入数据。逆向回溯法正好相反,是指从期望执行的程 序位置出发,逆向回溯,在每个判断点处逐渐调整各变量取值,直到退到程序入 口,即获得所需的输入数据。向前核查法和逆向回溯法的局限性是,对些条件 要求苛刻的路径使用时非常困难,同时由于大多数程序中包含的路径数非常多, 如果按每条路径手工测试,显然带来的工作量是非常巨大的。 由于测试的工作量大测试过程的重复性高等特点,自动化测试正逐渐得到 广泛的应用。很多测试工具的使用大大提高了测试人员的工作效率,有效减少了 项目开支。然而这些工具主要为测试的执行管理和度量工具,在测试用例自动 生成方面还不完善。而在软件测试过程中,动态测试作为测试的重要环节占了很 大比例,动态测试的关键正是测试用例的生成问题。因此,寻找种有效的测试 用例生成方法是提高测试自动化的重中之重。 国内外研究现状 自上世纪年代起,国内外的学者专家对测试用例的自动生成提出了很多 方法,应用较为广泛的有随机法静态法动态法以及试探法。 等提出了采用随机法生成测试用例,其思想是不受限制地随机产生 大量的测试用例。该方法产生测试用例的成本很低,在些抽样测试中效果较好, 但是该方法的针对性较弱,在输入空间为无穷大时产生的测试用例集非常庞大, 测试效率低,现在的很多工具都是采用的该方法。 静态法的典型代表是符号执行法,由和用于指导优化。 等人的实验表明,为使三角形分类等程序达到分支覆盖,算法生成 的测试数据比随机法小到两个数量级。 等人等人对适应度函数进行了研究,提出了使用广义海 明距离来构建适应度函数。 荚伟分析了算法在测试用例产生这问题上的可行性,提出了要有效解决 该问题,必须从以下几个角度进行研究参数的编码方法适应度函数的构造 算子的设计以及算法参数的选择等。 等人将输入空间划分成多个区间,根据待选输入的多种特性创建 了个最小化函数,使用简单算法进行求解,并使用了求解过程中的化石记录来 指导求解过程。 景志远则从数学的角度分析了将和均值等改进的算法应用于测试用 例的自动生成。基于遗传算法的测试用例生成方法 蔡立志等人提出了种基于算法的成对测试生成方法,该方法用于选择当 前局部优化覆盖的测试用例,以此构建满足成对测试基准的测试用例套,有效降 低了相同覆盖率下的测试用例数量。 陈雨等人将自适应算子和禁忌搜索思想融入到算法中,充分发挥算法的 全局搜索和禁忌搜索算法局部搜索优势,提高了测试数据的生成能力。 全君林等人提出了种应用于软件回归测试过程中的基于算法的最小化 测试用例集算法模型,该算法较般的优化算法具有更高算法性能与效率。 论文研究内容 本文主要做了以下方面的研究 广泛阅读了国内外相关文献资料,对软件测试和算法的应用现状进行 了概述,认为使用算法进行测试用例生成可行。 分析了使用算法进行测试用例生成的基本内涵,提出了算法框架及对 算法进行实现的具体策略。 以三角形分类程序为例进行试验,分析了试验结果,证实了算法的优 越性。基于遗传算法的测试用例生成方法 第二章软件测试及算法基本概念 软件测试基本概念 软件测试的目的 年在软件工程标准术语中将软件测试定义为使用人工或 自动手段来运行或测定个软件系统的过程,其目的在于检验该被测软件是否满 足规定的需求或是衡量预期结果和实际结果之间的差别。 定义中指出软件测试的目的是检验该被测软件是否满足规定的需求或是衡 量预期结果和实际结果之间的差别 在其著作中提出了 与软件测试相关的三个重要观点,指明了软件测试的目的为 软件测试是程序的执行过程,目的在于发现 个好的测试用例是指很可能找到迄今为止尚未发现的的用例 个成功的测试是指发现了迄今为止尚未发现的的测试。 由此可见,软件测试的目的可以概括为 首先,软件测试要以最少的人力物力,尽快找出软件中潜在的各种缺陷, 通过修正这些缺陷,提高软件产品质量,尽量减少软件产品发布后由潜在的软件 缺陷带来的可能的商业风险。其次,通过分析软件缺陷产生的原因,可以帮助发 现当前开发开发过程中的软件过程缺陷,以便进行软件过程的改进。同时,通过 对测试结果的分析整理,还可以修正软件开发规则,并为软件可靠性分析提供依 据。 软件测试的原则 软件测试作为门的计算机软件技术,在执行过程中必须遵守定的原 则,以保证测试效果。软件测试的专家们经过长期的实践,总结出了软件测试的 原则应如下基于遗传算法的测试用例生成方法 应把尽早和不断地进行软件测试作为软件开发者的座右铭。 实践证明单元测试能够尽早发现问题,减少后期测试的量。单元测试过 程中可以使用相应白盒测试工具如,等进行辅助测试,以提高 测试效率。 测试用例应由测试输入数据测试执行步骤和与之对应的预期输出结果三 部分组成。 应当避免由程序员检查自己的程序。 特别在后期的性能测试及系统测试中,应避免程序员测试自己的程序。这其 中除了些心理因素外,该原则还可避免由于程序员个人的惯性思维而导致的 些理解。 测试用例的设计要确保能覆盖所有可能路径。 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。不合理 的输入条件是指异常的临界的可能引起问题的输入条件。 充分注意测试中的群集现象。 经验表明,测试后程序残存的数目与该程序中已发现的数目或检错 率成正比。应该对群集的程序段进行重点测试。 严格执行测试计划,排除测试的随意性。 软件测试是有组织有计划有步骤的活动。测试计划应包括所测软件的 功能,输入和输出,测试内容,各项测试的进度安排,资源要求,测试资料,测 试工具,测试用例的选择,测试的控制方法和过程,系统的配置方式,跟踪规则, 调试规则,以及回归测试的规定等等以及评价标准。 应当对每个测试结果做全面的检查。 妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方 便。 软件测试的难点 测试用例设计 测试用例及测试例程是其设计者对被测对象实现原理和外部需求的理解,能 否正确反映对被测对象的质量要求,很大程度上取决于其设计者的分析理解和基于遗传算法的测试用例生成方法 设计能力。这是种缺乏指导性方法的不易制订标准或规范的需要技巧 的设计活动。 测试管理 目前缺乏测试管理方面的资料,几乎没有可供参考的已实现的完整的测 试管理与测试实施模式。 测试的组织 软件测试的有效实施需要开发组织与测试组织充分配合。虽然测试活动看似 是对开发人员劳动成果的不断挑剔,但测试工作的出发点是确保开发人员 的劳动成果成为可被接收的更高品质的软件产品。因此,测试人员应向开发人 员谦虚求教,在测试工作中真正发挥作用,为保证软件产品的高质量起尽可能大 的作用。测试的组织者应在促进上级组织协调各组织工作方面发挥作用。 测试的估计 有效的测试工作需要投入足够的人力和物力,需要对工作的难度和消耗有充 分的估计。测试的组织者也应在促进上级组织对资源的统调度方面发挥作用。 算法 算法的思想及流程 算法是模拟达尔文的选择和自然淘汰的生物进化过 程的计算模型。该算法最先于年由美国的教授提出。其主要特 点是直接对结构对象进行操作,不存在求导和函数连续性的限定具有内在的隐 并行性和更好的全局寻优能力采用概率化的寻优方法,能自动获取和指导优化 的搜索空间,自适应地调整搜索方向,不需要确定的规则。算法作为种不依赖 具体问题的直接搜索方法受到广泛关注,它是现代有关智能计算的关键技术之 。 算法的思想源于生物学和适者生存的自然选择规律,因此是具有生存检 测的迭代过程的搜索算法。它以个群体中的所有个体为对象,并利用随机化 技术指导对个被编码的参数空间进行高效搜索。算法将问题的解空间映射为空 间,对解空间进行编码,即将每个可能的解用串二进制或十进制数字串表示,基于遗传算法的测试用例生成方法 摘要 软件测试是保证软件质量和可靠性重要手段,在这方面发挥着其它方法不可 替代的作用。然而,软件测试是个复杂的过程,需要耗费巨大的人力物力和 时间,约占整个软件开发成本的。因此,提高软件测试工具的自动化 程度对于确保软件开发质量降低软件开发成本非常重要。而提高测试用例生成 的自动化程度又是提高测试工具乃至整个测试过程自动化程度的关键所在,本文 主要针对这问题进行了研究和设计。 本文在分析软件测试和算法基本概念的基础上,提出软件测试用例的设计是 软件测试的难点之。论文提出了基于算法的测试用例生成的内含是应用算法来 求解组优化的测试用例,其框架包括了测试环境构造算法及测试运行环境三 部分,论文给出了基于算法的测试用例生成的模型。最后以三角形分类程序为例 应用算法进行测试用例生成的模拟,结果显示,应用算法进行测试用例生成可行。 关键词软件测试测试用例算法基于遗传算法的测试用例生成方法 , , , , , , , , , 基于遗传算法的测试用例生成方法 目录 摘要 目录 第章绪论 问题的提出 国内外研究现状 论文研究内容 第二章软件测试及算法基本概念 软件测试基本概念 软件测试的目的 软件测试的原则 软件测试的难点 算法 算法的思想及流程 算法的特点 本章小结, 第三章基于算法的测试用例生成 基于算法的测试用例生成基本内涵 软件测试用例的基本内涵 基于算法的测试用例生成的基本内涵
下一篇
温馨提示:手指轻点页面,可唤醒全屏阅读模式,左右滑动可以翻页。
蚁群搜索算法在集合覆盖问题中的应用研究.doc预览图(1)
1 页 / 共 34
蚁群搜索算法在集合覆盖问题中的应用研究.doc预览图(2)
2 页 / 共 34
蚁群搜索算法在集合覆盖问题中的应用研究.doc预览图(3)
3 页 / 共 34
蚁群搜索算法在集合覆盖问题中的应用研究.doc预览图(4)
4 页 / 共 34
蚁群搜索算法在集合覆盖问题中的应用研究.doc预览图(5)
5 页 / 共 34
蚁群搜索算法在集合覆盖问题中的应用研究.doc预览图(6)
6 页 / 共 34
蚁群搜索算法在集合覆盖问题中的应用研究.doc预览图(7)
7 页 / 共 34
蚁群搜索算法在集合覆盖问题中的应用研究.doc预览图(8)
8 页 / 共 34
蚁群搜索算法在集合覆盖问题中的应用研究.doc预览图(9)
9 页 / 共 34
蚁群搜索算法在集合覆盖问题中的应用研究.doc预览图(10)
10 页 / 共 34
蚁群搜索算法在集合覆盖问题中的应用研究.doc预览图(11)
11 页 / 共 34
蚁群搜索算法在集合覆盖问题中的应用研究.doc预览图(12)
12 页 / 共 34
蚁群搜索算法在集合覆盖问题中的应用研究.doc预览图(13)
13 页 / 共 34
蚁群搜索算法在集合覆盖问题中的应用研究.doc预览图(14)
14 页 / 共 34
蚁群搜索算法在集合覆盖问题中的应用研究.doc预览图(15)
15 页 / 共 34
预览结束,还剩 19 页未读
阅读全文需用电脑访问
温馨提示 电脑下载 投诉举报

1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。

2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。

3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。

  • Hi,我是你的文档小助手!
    你可以按格式查找相似内容哟
DOC PPT RAR 精品 全部
小贴士:
  • 🔯 当前文档为word文档,建议你点击DOC查看当前文档的相似文档。
  • ⭐ 查询的内容是以当前文档的标题进行精准匹配找到的结果,如果你对结果不满意,可以在顶部的搜索输入框输入关健词进行。
帮帮文库
换一批

搜索

客服

足迹

下载文档