[发明专利]基于路径覆盖软件测试的测试用例自动生成方法有效
申请号: | 201710766422.3 | 申请日: | 2017-08-30 |
公开(公告)号: | CN107590073B | 公开(公告)日: | 2021-03-30 |
发明(设计)人: | 黄翰;刘方青;颜学明 | 申请(专利权)人: | 华南理工大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 何淑珍 |
地址: | 510640 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 路径 覆盖 软件 测试 自动 生成 方法 | ||
本发明提供了一种基于路径覆盖软件测试的测试用例自动生成方法,首先对被测试程序的代码进行分析,然后得到程序的控制流图(CFG)以及程序存在的路径,然后根据上一步得到的控制流图以及设定的基于分支距离的方法,得到计算对应一组测试用例的适应值函数,接着通过差分进化算法以及收敛速度控制器来对随机初始化的种群,使用上述的适应值函数进行迭代更新,接着将覆盖程序对应路径的第一个测试用例记录下来,直到所有的路径的测试用例都已经得到或者算法的迭代次数超过限制才停止,输出就是覆盖程序对应路径的测试用例集合。本方法能够有效地利用被测试程序基于路径覆盖测试用例的启发式信息,可以应用于实际的软件测试工作环境。
技术领域
本发明一般涉及计算机软件工程的软件测试领域,具体涉及生成基于路径覆盖的软件测试用例的自动化生成方法。
背景技术
随着社会的蓬勃发展,IT技术水平的不断提高,软件产品在我们生活中越来越普及,扮演着不可替代的角色。软件产品的质量成为人们日益关注的焦点,生产一款质量有保证的软件产品,是生产者们的重要目标之一,也是企业应对市场竞争的重要砝码。软件测试是软件开发生命中的重要过程之一,用来确保软件产品的质量。软件测试花费了软件开发中至少50%的成本。软件测试有手工和自动化两种方式,自动化测试在现实生活中还未真正普及,测试大多数是以手动为主。然而技术的发展程度决定了软件的复杂程度,测试的难度和工作量随之增大而人的精力却是有限的,这种局面亟待改变;另外在软件测试中存在着大量技术含量低且经常重复的工作,若使用机器来完成将可以大大地减少人力的消耗;因此,以自动化的方式对软件进行测试是解决当前问题的最佳方案。一个优秀的自动化测试方案,可以节约大量的人力、物力和财力,减少资源消耗,同时提高企业效益。
为了得到零缺陷质量的软件,需要生成无穷多个测试用例来对它进行测量。无论一个程序的规模有多大,对其输入进行穷举在现实世界中都是不可行的,所以在测试过程中需要找到一种优化方法,在不对质量妥协的情况下,减少资源(如时间、成本、人力资源、系统部件等等)的消耗。优化的目标是用尽可能少的时间和成本生成一些能够覆盖被测试系统中有效的测试用例。
现有的方法中使用的动态的方法大都是具体基于语句覆盖或者是分支覆盖,而在软件测试所有的覆盖类型中,路径覆盖是最强的覆盖,有更强的纠错能力,能更有效地检查出软件的瑕疵和错误。本发明中采用的基于路径覆盖的软件覆盖准则,使用差分进化算法和自适应的适应值函数。差分进化算法具有很强的能力,而自动化生成基于路径覆盖的测试用例就是一种难度很高的搜索问题,问题本身很适合使用差分进化算法。另一方面,现有的方法使用的静态的方法多为使用符号执行的来生成测试用例,这种方法对于拥有多分支结构的测试程序来说计算太过复杂。本发明采用合理的自适应的适应值函数,该函数帮助差分进化算法的搜索结合得到的已覆盖和未覆盖的路径信息,得到覆盖测试程序路径的测试用例集合,效率很高。
发明内容
本发明针对现有的软件测试测试用例生成软件系统的不足,提供了基于路径覆盖的软件测试测试用例自动生成方法。本发明的目的在于设计一种合理的基于路径覆盖的测试用例自动生成方法,帮助软件测试人员能够快速的获得覆盖被测试程序所有路径的测试用例,从而利用这些测试用例更好地检测出测试程序可能存在的BUG,用于修复程序漏洞。
基于路径覆盖软件测试的测试用例自动生成方法,包括以下步骤:
(a)分析被测试程序,得到程序的控制流图(CFG),对存在的路径进行编码;
(b)根据测试问题,确定被测试程序的编码;
(c)通过对步骤(a)中得到了控制流图(CFG)和步骤(b)中根据具体测试问题输入输入确定的问题编码,以及我们预设的计算分支距离的方法得到计算一个测试用例适应值的适应值函数;
(d)在测试用例的取值范围内,使用均匀分布的方式随机初始化种群;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710766422.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:入料口结构及反击式破碎机
- 下一篇:一种加球机构及球磨系统