The invention provides a method for generating class integration test sequences, which comprises the following steps: 1) obtaining all classes and their relationships from the source code of an object-oriented system; 2) obtaining class priority tables from class diagrams in UML design documents of an object-oriented system; 3) automatically generating class integration test sequences through genetic algorithms. Repeat the process, and finally get a set of optimal test sequence results (the least test cost for building test piles). To some extent, the invention solves the problem that the initial population does not have any constraint conditions, the overall quality of the initial population is poor, and then the convergence speed and the optimization results are affected, as well as the inaccuracy of the optimization results caused by the one-sidedness and irrationality of the individual evaluation criteria. It not only improves the overall quality of the population, speeds up the convergence rate, but also strengthens the optimization ability of genetic algorithm, improves the accuracy of optimization, and then improves the test efficiency and accuracy, and can better meet the actual needs.
【技术实现步骤摘要】
一种类集成测试序列生成方法
本专利技术属于软件测试
,特别是在集成测试中类测试序列生成问题中,一种类测试序列的生成方法。
技术介绍
面向对象程序不像面向过程程序那样有明显的层次化模块结构,对象之间的联系通过消息传递的方式,一条消息会引起连锁反应进而形成一条方法调用链,体现调用关系的静态结构是一个错综复杂的网状结构。因此,从哪里开始测试以及如何确定一个集成测试序列是需要进一步研究的问题。类的测试顺序关系到软件缺陷发现的时间和测试成本,因此,确定类的集成测试序列成为集成测试中的一个重要研究问题。现有工作主要通过测试桩成本的大小来衡量一个类集成测试序列的优劣。生成一个类测试序列需要打破一些类间依赖关系,直至没有环路。打破类间依赖关系的过程意味着需要构建测试桩,花费一定的成本。因此,当消除所有的类间依赖关系构成的环路时,满足构建测试桩所花费的成本越小越好。然而,通常无法直接测量或估计测试桩成本,需要借助一定的指标。目前主要从两个方面评价测试桩成本的指标:集成测试测试序列生成过程中构建的测试桩总体复杂度或者所构建的测试桩的个数。类集成测试序列的生成问题本质上是一个优化问题,同时也是一个NP-完全(难)问题。目前已有的解决方法包括基于图论的方法和基于搜索的方法。其中,基于图论的方法由于自身的局限性,无法适用于大型程序,只能针对小规模程序。已有的基于搜索的方法包括基于遗传算法的方法,基于模拟退火算法的方法、基于粒子群算法的方法、基于蚁群算法的方法和NSGA-II。最优的类集成测试序列的生成需要进行多次变换,并且“仅当变换数至少是解空间规模的平方次时,模拟退火算法才 ...
【技术保护点】
1.一种类集成测试序列生成方法,其特征在于,包括:数据收集模块,用于获取类及类间关系信息,获取类优先级表;以及类集成测试序列生成模块,其实现如下:步骤A、读取所述数据管理模块中的所有类及类间关系信息;步骤B、读取所述数据管理模块中的类优先级表;步骤C、通过遗传算法自动生成类集成测试序列。
【技术特征摘要】
1.一种类集成测试序列生成方法,其特征在于,包括:数据收集模块,用于获取类及类间关系信息,获取类优先级表;以及类集成测试序列生成模块,其实现如下:步骤A、读取所述数据管理模块中的所有类及类间关系信息;步骤B、读取所述数据管理模块中的类优先级表;步骤C、通过遗传算法自动生成类集成测试序列。2.根据权利要求1所述的一种类集成测试序列生成方法,其特征在于,所述步骤C具体实现过程为:步骤一:对类进行编码;步骤二:在类优先级表所给的优先级信息的约束下随机生成规模为类个数的2-3倍数量的初始种群P;步骤三:构造适应度函数,用于评价个体的优劣;步骤四:计算种群P中每个个体的适应度值,以测试桩总体复杂度和测试桩的总个数的加权平均作为个体评价标准;步骤五:针对每个个体的适应度值对个体赋予不同的选择概率Ps,采用轮盘赌的方式从初始种群P中选择类个数的2-3倍数量的个体,生成新的种群P’;步骤六:根据输入的交叉概率Pc,使种群P’中的父代个体进行两两交叉,对交叉后的个体进行合法性检验,保留合法的个体,舍弃不合法的个体;步骤七:根据输入的变异概率Pm,对父代个体进行基因段重排,对生成新的个体进行合法性检验;步骤八:重复步骤四至步骤七多次,最后得到的类测试序列结果即为最优解,最优测试序列使得构建测试桩的所花费的测试代价最小。3.根据权利要求2所述的一种类集成测试序列生成方法,其特征在于,步骤三中,构造用于评价个体优劣的适应度函数时,综合考虑构建测试桩所花费的总体复杂度和构建的测试桩的个数两个指标;其中测试桩的总体复杂度的计算需要借助所构造的所有的单个测试桩的复杂度,而在度量单个测试桩的复杂度时,采用的是客观的熵权法来确定所使用的属性...
【专利技术属性】
技术研发人员:张艳梅,姜淑娟,张悦宁,薛猛,王荣存,
申请(专利权)人:中国矿业大学,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。