[发明专利]一种基于EFSM模型和聚类分析的测试用例排序方法有效
申请号: | 201910701110.3 | 申请日: | 2019-07-31 |
公开(公告)号: | CN110515837B | 公开(公告)日: | 2022-12-02 |
发明(设计)人: | 魏丹;孙情瑛;王兴起;邵艳利;陈滨;方景龙 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06K9/62 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 杨舟涛 |
地址: | 310018 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 efsm 模型 聚类分析 测试 排序 方法 | ||
本发明涉及一种基于EFSM模型和聚类分析的测试用例排序方法。本发明首先根据EFSM模型,构建复杂网络模型,计算EFSM模型的状态权重,然后构建测试用例的状态向量,结合状态向量和状态权重信息计算任意两个测试用例相似度,再根据相似度设计改进的K均值聚类算法,运用该聚类算法对测试用例进行聚类分析,尽可能使得不同簇中的测试用例不同。最后,结合聚类分析结果,设计测试用例排序策略。本发明相比传统基于模型的测试用例排序技术,考虑了测试用例之间的相关性,使得已排序的测试用例序列中相邻的测试用例尽可能来自不同的簇,即相邻测试用例具有不同的错误检测能力,能够尽早发现模型中不同的错误。
技术领域
本发明是一种对基于模型的测试用例集进行优化处理的技术,目的在于通过该技术处理的测试用例集在对模型驱动开发的软件进行测试时,可以优先捕获软件中不同类型的错误,从而减少软件测试的开销。
背景技术
随着软件规模的不断扩大,软件测试在软件设计中逐渐扮演非常重要的角色。由于敏捷开发的快速发展,软件系统的更新越来越快,回归测试技术被广泛使用。回归测试是验证系统中引入的修改是否正确并且是否对系统的未更改部分产生负面影响的过程。在回归测试期间,首先测试系统的修改元素。然后需要使用现有的测试用例重新测试整个系统,以确保修改不会将新故障引入系统。但是,回归测试被应用于重新验证软件的质量,是一个昂贵的过程。
为了降低软件测试成本,在学术界和工业界研究了各种测试用例优先级技术。由于测试用例优先级技术通过调整测试用例的顺序而不减少测试用例的数量来提高软件测试的效率,因此逐渐成为回归测试的热点。对于已经存在的基于模型的测试用例排序技术没有考虑测试用例之间的相关性,将测试用例分类考虑,使得具有类似检错能力的测试用例可能被集中考虑,从而连续重复揭示较多相同错误,对不同错误的捕获效率较低。
发明内容
本发明针对现有技术的不足,提出了一种基于EFSM模型和聚类分析的测试用例排序方法,本发明在基于模型的测试用例排序方法中引入了聚类技术。聚类技术使得来自同一簇的测试用例尽可能相似,来自不同簇的测试用例尽可能相异。最终使得已经排序的测试用例集中相邻测试用例尽可能来自不同的簇,从而提高对不同错误的捕获效率。
本发明方法具体包括以下步骤:
步骤1、构建EFSM模型的复杂网络模型,统计状态权重。其具体实施步骤如下:
1-1.创建复杂网络模型的节点。根据EFSM的状态创建复杂网络模型的节点,即EFSM的状态映射为复杂网络模型的节点。
1-2.设置复杂网络模型节点之间的有向边。根据EFSM状态之间直接或者间接的关联性设置复杂网络模型节点之间的有向边。
1-3.设置复杂网络模型边的权值。假设在EFSM模型中状态se到sf最少经过Q条边,则在复杂网络模型中节点ne和nf之间边的权值为1/Q,其中Q≥1。
1-4.统计复杂网络模型节点的权值在复杂网络模型中,入边表示某个函数被许多重要的方法调用,出边表示多个重要的方法被某个函数调用。复杂网络模型某节点的权值为该节点出边和入边加权求和。
1-5.获得EFSM模型状态的权值因为复杂网络模型中节点是通过EFSM模型的状态映射而来,所以EFSM中状态的权值为复杂网络模型中对应的节点的权值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910701110.3/2.html,转载请声明来源钻瓜专利网。