[发明专利]一种用于并行程序通信覆盖的测试数据约减方法在审
申请号: | 202110265311.0 | 申请日: | 2021-03-11 |
公开(公告)号: | CN112988579A | 公开(公告)日: | 2021-06-18 |
发明(设计)人: | 田甜;张辰;杨秀婷;王安轼;徐俊丽;孙倩;郭庆 | 申请(专利权)人: | 山东建筑大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F9/54;G06N3/12 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250101 山东省*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 并行 程序 通信 覆盖 测试数据 方法 | ||
本发明为一种用于并行程序通信覆盖的测试数据约减方法,针对并行程序的通信覆盖测试数据生成问题,提出一种基于占优关系的测试数据约减方法,从而提高测试效率。具体步骤如下:(1)基于占优关系,构造并行程序通信语句的占优关系图;(2)根据占优关系图,对通信语句进行组划分,得到通信语句组;(3)将通信语句组进行排序;(4)对通信语句组中的通信语句进行划分,得到通信语句队列;(5)基于通信语句的适应度函数,构建通信队列的适应度函数;(6)通过遗传算法生成覆盖通信队列的测试数据,从而达到测试数据约减的目的。
技术领域
本发明涉及计算机软件测试领域,设计了一种针对并行程序通信覆盖的测试数据约减方法,可用于提高并行程序通信覆盖的测试数据生成效率。
背景技术
并行程序是指包含两个或多个并行执行进程的程序。并行程序具有良好的可移植性、功能强大且执行效率高。并行计算能力的提高,使得并行程序在互联网络服务、天气预报等方面的应用日益成熟。软件测试是鉴定软件正确性、完整性和安全性的描述过程。测试可以发现软件中存有的缺陷,进一步检验软件产品是否满足需求。软件测试是保证软件质量、提高软件可靠性的关键手段。如何提高并行程序的质量问题受到了广大测试研究人员的重视。
消息传递并行程序具有开发简单、实现便捷、求解高效的特性,是一种应用广泛的并行程序。基于分布式存储架构,消息传递并行程序基于通信语句实现进程之间的交互。随着程序规模的增大,进程之间的通信愈加频繁,这使得通信测试的规模也越来越大,生成的测试数据也越来越多。现有的基于遗传算法的测试数据生成方法,一般把上述问题看成是多个独立的优化问题。因此,给出通信覆盖的测试数据约减方法对于消息传递并行程序的测试具有重要意义。
研究表明,占优关系具有减小问题规模、提高问题求解效率等优点,已在优化问题的求解中得到了有效应用。因此,将占优关系应用于通信覆盖的测试数据约减问题,从而达到降低覆盖难度、提高测试效率的目的。
对于同一i进程中的两个通信语句ni-j和ni-k,若ni-j和ni-k构成顺序结构,且ni-j位于ni-k之前执行,则称ni-j占优ni-k,记为ni-j→ni-k。此时,若ni-j被执行,则ni-k也必然被执行。
基于占优关系能够生成占优关系图。记占优关系图(D):D=(V(D),E(D)),其中,V(D)表示图的顶点集,E(D)表示图的有向边集。令顶点集V(D)=N∪{s,e},其中,N为通信语句集,s和e分别是进程入口和出口。对任意顶点vj,vk∈V(D),若vj→vk且vj不被其他顶点占优,则有向边vj,vk∈E(D)。另外,称vj和vk分别为D的占优顶点和被占优顶点。
经查阅相关文献,目前还不存在针对并行程序通信覆盖的测试数据约减方法,这严重影响了并行程序通信覆盖的研究与发展。
发明内容
本发明首先基于占优关系生成并行程序通信语句的占优关系图;然后,根据占优关系图对通信语句进行划分、排序,并生成通信队列;最后,构建队列的适应度函数,并采用遗传算法生成测试数据。
本发明要解决的技术问题:克服现有方法不足,提供一种针对并行程序通信覆盖的测试数据约减方法,基于占优关系将通信进行划分,进而生成测试数据,以提高并行程序测试数据的生成效率,保证软件质量。
本发明的技术方案:提出了一种用于并行程序通信覆盖的测试数据约减方法。
其特征在于步骤如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东建筑大学,未经山东建筑大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110265311.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种燃气轮机直流泵控制装置
- 下一篇:一种用于双缝实验的灵活型双缝装置