[发明专利]一种基于EFSM模型和聚类分析的测试用例排序方法有效
申请号: | 201910701110.3 | 申请日: | 2019-07-31 |
公开(公告)号: | CN110515837B | 公开(公告)日: | 2022-12-02 |
发明(设计)人: | 魏丹;孙情瑛;王兴起;邵艳利;陈滨;方景龙 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06K9/62 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 杨舟涛 |
地址: | 310018 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 efsm 模型 聚类分析 测试 排序 方法 | ||
1.一种基于EFSM模型和聚类分析的测试用例排序方法,其特征包括如下步骤:
步骤1:构建EFSM模型的复杂网络模型,统计状态权重;
步骤2:构建测试用例的状态向量;
测试用例状态向量被定义为EFSM模型中所有状态是否在当前测试用例中被包含的有序对;假设EFSM模型中有m个状态,状态表示为s1,s2,s3,...,sm,则当前测试用例是否包含EFSM模型第a个状态表示为|sa|,1≤a≤m,当测试用例包含状态sa,则|sa|=1,当不包含状态sa,则|sa|=0,状态向量sv=<|s1|,|s2|,|s3|,...,|sm|>;
步骤3:结合状态向量和状态权重信息计算任意两个测试用例相似度;
具体如下:假设EFSM模型中有m个状态,状态表示为s1,s2,s3,...,sm,存在两个测试用例Ti,Tj,对应的状态向量分别为svi=<|s1|,|s2|,|s3|,...,|sm|>,svj=<|s1|,|s2|,|s3|,...,|sm|>,两个测试用例共有的状态为sp,sq,sr,共有状态在状态向量中分别表示为|sp|,|sq|,|sr|,状态对应的权重分别为因此可得出相似度公式如下,
其中1≤p≤m,1≤q≤m,1≤r≤m and p≠q,p≠r,q≠r;
步骤4:根据相似度设计改进的K均值聚类,对测试用例进行聚类分析,尽可能使得不同簇中的测试用例不同;
具体为:4-1.测试用例之间的距离定义;
越相似的两个测试用例则距离越近,则当两个测试用例相似度不为0时,采用相似度的倒数作为两个测试用例的距离测量;当两个测试用例相似度为0时,则距离为∞;因此,对于任意两个测试用例Ti和Tj,其距离定义如下:
其中,为根据公式(3)得到的两个测试用例的相似度;
4-2.测试用例到簇的距离定义;假设存在一个测试用例T和一个包含N个测试用例的簇C,N个测试用例分别为T1,T2,T3,...,TN,则该测试用例与簇C的距离disTC表示为:
4-3.改进的K均值聚类算法具体实现步骤为:
1)簇集合初始化;在未被聚类的测试用例集中选取K个测试用例,放到簇集合的各个簇中,作为各个簇的初始元素,各个簇表示为c1,c2,c3,...cK;
2)对于未聚类的测试用例集,根据公式(5)计算它们与这些簇的距离,按距离最近的准则将它们放到与之距离最近的簇中;当所有元素被分类到各个簇中,则完成第1次簇更新;
3)更新各个簇的元素;对于未聚类原始用例集中每一个元素,根据公式(5)计算它们与这些簇的距离,即在第P次簇集合更新中,一个元素到cv的距离为该元素到第P-1次更新的簇集合中cv的距离,将该元素归类到与之距离最小的簇中,1≤v≤K;
4)判断本次聚类结果与上一次是否一致;若一致,则输出聚类结果,若不一致,则执行3);
步骤5:结合聚类结果,设计测试用例排序策略,其中,将未被覆盖的迁移的个数作为测试用例的优先级。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910701110.3/1.html,转载请声明来源钻瓜专利网。