一种软件测试用例生成技术的构建方法技术

技术编号:16644537 阅读:122 留言:0更新日期:2017-11-26 16:55
一种基于重生差分进化方法的软件测试用例生成技术的构建方法,步骤如下:1、收集待测软件源代码;2、给定适应度函数;3、定义老化因子,并给定老化因子界限值;4、构建重生差分进化方法及结果输出程序,搭建应用系统;5、结合应用系统与测试工具搭建测试用例生成平台;6、种群初始化,随机生成初始种群;7、获取随机生成的测试用例的覆盖率;8、完成种群的重生进化;9、输出符合要求的测试用例集;通过上述步骤,可以完成对基于重生差分进化方法的软件测试用例生成技术的构建。本发明专利技术适用于解决实际软件测试中的测试用例设计问题,可以帮助软件测试人员在降低成本和缩短时间的同时,设计出具有更高的缺陷检测能力的测试用例集。

Construction method of software test case generation technology

A method of building, the rebirth of poor software test case generation technology based on evolution method are as follows: 1. Collect software source code to be tested; 2, given the fitness function; 3, the definition of the aging factor, and given the aging factor threshold; 4, construct the rebirth of differential evolution method and result output program build the application system; 5, combined with the application system and test tools to build a test case generation platform; 6, population initialization, randomly generated initial population; test case 7, obtain randomly generated coverage; 8, complete the rebirth of the evolutionary population; 9, output meets the test case requirements set by the above steps can be completed; on the construction of the rebirth of poor software test case generation method based on technology evolution. The invention is suitable for solving the test case design problem in the practical software test, and can help the software testers to design the test case set with higher defect detection ability while reducing the cost and shortening the time.

【技术实现步骤摘要】
一种软件测试用例生成技术的构建方法
本专利技术提供一种软件测试用例生成技术的构建方法,它是一种基于重生进化方法的软件测试用例生成技术的构建方法,它涉及一种基于重生进化方法的软件测试用例生成技术的实现,属于软件可信性、软件测试领域。
技术介绍
随着计算机技术的突飞猛进,软件规模日益扩大,软件功能也日趋复杂,软件故障就变得不可避免。如何提高软件产品的可靠性,保证软件产品的质量,已成为计算机技术发展的一个重大研究课题。作为软件工程的一个重要组成部分,软件测试是一个强有力的保证软件质量的方法,因而逐渐为人所重视。从时间及成本角度考虑,穷举测试是不可能的,因而软件测试过程中的一个核心问题就是测试用例的设计。测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。好的测试用例集不仅能减少软件测试的工作量,降低测试成本,而且能在成本和时间的约束下,发现更多的软件错误。因此如何精选少量的测试用例,提高软件测试的缺陷检测能力,降低测试成本是软件测试优化研究中最关注的核心问题。在软件测试优化的研究中,尽管动态规划方法对于一些规模较小的问题能得到本文档来自技高网...
一种软件测试用例生成技术的构建方法

【技术保护点】
一种软件测试用例生成技术的构建方法,即一种基于重生差分进化方法的软件测试用例生成技术的构建方法,其特征在于:其步骤如下:步骤1、收集待测软件源代码;步骤2、给定适应度函数;步骤3、定义老化因子,并给定老化因子界限值;步骤4、构建重生差分进化方法及结果输出程序,搭建应用系统;步骤5、结合应用系统与测试工具搭建测试用例生成平台;步骤6、种群初始化,随机生成初始种群;步骤7、将待测软件源代码及初始种群输出到测试工具中,输出随机生成的测试用例的覆盖率,并返回到测试用例生成平台中;步骤8、完成种群的重生进化;其做法如下:通过重生差分进化方法,完成种群的变异、杂交及选择,种群老化之后,种群重生,然后继续进...

【技术特征摘要】
1.一种软件测试用例生成技术的构建方法,即一种基于重生差分进化方法的软件测试用例生成技术的构建方法,其特征在于:其步骤如下:步骤1、收集待测软件源代码;步骤2、给定适应度函数;步骤3、定义老化因子,并给定老化因子界限值;步骤4、构建重生差分进化方法及结果输出程序,搭建应用系统;步骤5、结合应用系统与测试工具搭建测试用例生成平台;步骤6、种群初始化,随机生成初始种群;步骤7、将待测软件源代码及初始种群输出到测试工具中,输出随机生成的测试用例的覆盖率,并返回到测试用例生成平台中;步骤8、完成种群的重生进化;其做法如下:通过重生差分进化方法,完成种群的变异、杂交及选择,种群老化之后,种群重生,然后继续进化,直至满足种群的累计覆盖率满足终止覆盖率要求stopbc为止;步骤9、输出符合要求的测试用例集;其做法如下:当种群的累计覆盖率满足终止覆盖率要求stopbc后,通过应用系统的输出程序将满足要求的测试用例集输出。2.根据权利要求1所述的一种软件测试用例生成技术的构建方法,即一种基于重生差分进化方法的软件测试用例生成技术的构建方法,其特征在于:在步骤1中所述的“收集待测软件源代码”,其做法如下:获取需要进行测试的软件的源程序文件。3.根据权利要求1所述的一种软件测试用例生成技术的构建方法,即一种基于重生差分进化方法的软件测试用例生成技术的构建方法,其特征在于:在步骤2中所述的“给定适应度函数”,其做法如下:适应度函数是在进化过程中进行优胜劣汰的优劣衡量指标;测试用例的好坏能用覆盖率来体现,软件测试中常用的覆盖率有语句覆盖率、分支覆盖率及修正条件/判断覆盖;选定测试用例的分支覆盖率covbc作为重生差分进化方法中的适应度函数,分支覆盖又称判定覆盖,是指使得程序中每个判断的取真分支和取假分支至少经历一次,即判断的真假均曾被满足;分支覆盖率covbc即为测试用例覆盖的分支的比例,covbc能通过测试工具Testbed直接获得;同时,根据具体需求确定一个分支覆盖率值stopbc作为进化的终止条件,当测试用例的累计覆盖率∑covbc大于等于stopbc时,终止进化,输出所有的测试用例。4.根据权利要求1所述的一种软件测试用例生成技术的构建方法,即一种基于重生差分进化方法的软件测试用例生成技术的构建方法,其特征在于:在步骤3中所述的“定义老化因子,并给定老化因子界限值”,其做法如下:在一个种群的进化过程中,当种群进化t代后,再经历Δt代进化,累计分支覆盖率不再增加,即在第t代后无法通过当前种群的继续进化找到新的有效测试用例,称这种情况为种群的老化;在差分进化方法的基础上,加入了重生策略以克服种群老化来自动生成满足覆盖率要求的测试用例;为了确定种群重生的触发条件,使用老化因子q来确定种群的老化程度;定义老化因子q为在进化过程中累计覆盖率没有变化的Δt代所增加的测试用例数占前面t代的用例总数的百分比;设ni,j为第j代种群中第i个个体的维度,Npopt为第t代种群的个体数,则整个种群进化到到第t代时的总用例数为同理可知,第t+1代,t+2代,t+3代,…,第t+Δt代的总用例数依次为:这里的种群是指所有测试用例的集合,个体则是指测试用例集,维度则是指一个测试用例集中的测试用例的个数;所以老化因子的计算公式为:

【专利技术属性】
技术研发人员:杨顺昆苟晓冬苏梦璇曾福萍李大庆林欧雅陶飞佘志坤
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1