[发明专利]一种基于点染色模型的测试用例生成方法有效
申请号: | 201910128325.0 | 申请日: | 2019-02-21 |
公开(公告)号: | CN109902007B | 公开(公告)日: | 2022-04-29 |
发明(设计)人: | 沈钺;彭茂;李洪博 | 申请(专利权)人: | 南京信息工程大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 姜慧勤 |
地址: | 210032 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 染色 模型 测试 生成 方法 | ||
本发明公开了一种基于点染色模型的测试用例生成方法,该方法包括如下步骤:(1)将软件测试用例生成问题转化为点染色问题;(2)用基于顺序染色的遗传算法来求解最小点染色问题;(3)将图的点染色方案转化为测试用例集的生成方案。相较于普通的基于贪心策略的“一次一行”方案,本发明提供的方法设计全局优化能力,而且设计更简洁、算法执行效率高。
技术领域
本发明涉及一种基于点染色模型的测试用例生成方法,属于软件测试技术领域。
背景技术
随着计算机的普及,大量系统软件层出不穷,软件已成为我们日常生活重要的一部分。为了让软件更好地服务于我们的工作,软件开发的流程被不断完善,软件开发的过程被不断细化,如今软件开发的整个过程被划分为多个重要课题,如:需求分析、软件测试、软件开发、软件维护等。
其中软件测试决定了软件能否发布以及软件维护的方向及成本,如何对一个拥有庞大参数以及结构复杂的软件进行充分全面的测试,已成为目前计算机领域的一个重要课题。例如,通过启发式测试策略模型可以发现软件的代码问题、运行环境问题、数据库使用问题等,从而可以确定软件维护的方向,缩小维护成本。
对于软件测试的方法多种多样,测试用例的生成就是其中一个重要的方法。一个系统软件的错误往往是由内部多个参数的组合引起的,如一个web网页的乱码可能是由该网页的数据库以及浏览器共同造成的。因此可以通过检测系统内部的参数组合情况来进行软件测试。但对于拥有庞大参数的软件系统,生成一个小规模并且能够尽可能多得覆盖住所有组合的测试用例集就显得尤其重要。而如今已有的测试用例集生成方法,主要依靠贪心策略做局部搜索,其全局搜索能力比较有限,解的质量有较大的提升空间,有鉴于此,相比于普通的基于贪心策略的“一次一行”方案,需要从全局优化的角度设计具有更好的执行效率,求解质量也更好的算法。
发明内容
本发明所要解决的技术问题是:提供一种基于点染色模型的测试用例生成方法,将组合测试的用例生成问题转化为图论中的点染色问题,具有较强的全局搜索能力和更好的执行效率,求解质量也较好。
本发明为解决上述技术问题采用以下技术方案:
一种基于点染色模型的测试用例生成方法,包括如下步骤:
步骤1,将软件测试用例生成问题转化为图论中的点染色问题,将所有可能的软件测试用例转化为图的顶点,并判断顶点之间是否有联边,根据顶点和联边生成无向图;
步骤2,利用基于顺序染色的遗传算法求解无向图的最小点染色问题,得到无向图的点染色方案;
步骤3,将无向图的点染色方案转化为要生成的软件测试用例集。
作为本发明的一种优选方案,所述步骤1的具体过程如下:
1.1对于要生成的软件测试用例,定义有k个参数,每个参数有v种取值,要求生成t组合测试用例集CA(t,k,v),求得所有的参数组合为种,所有的取值排列为vt种,任取一个参数组合和一个取值排列结合起来作为图的顶点,得到图的点集合V,点集合V的大小为
1.2对于1.1得到的点集合,其中任意两个点,对这两个点均有取值的位置,若所有相同位置的取值均相同,则这两个点不联边,否则这两个点联边,得到图的边集合E;
1.3将图的点集合V和图的边集合E结合起来生成无向图G(V,E)。
作为本发明的一种优选方案,所述步骤2的具体过程如下:
2.1对于步骤1得到的具有S个顶点的无向图,对这S个顶点随机生成一个染色顺序,并利用顺序染色算法得到该染色顺序下的染色数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京信息工程大学,未经南京信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910128325.0/2.html,转载请声明来源钻瓜专利网。