[发明专利]一种分布式自动化软件测试方法及系统有效
申请号: | 201710295065.7 | 申请日: | 2017-04-28 |
公开(公告)号: | CN106970880B | 公开(公告)日: | 2021-01-01 |
发明(设计)人: | 侯朋朋;于佳耕;孙瑞光;董博南;邹玲;杨骁 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 司立彬 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 自动化 软件 测试 方法 系统 | ||
1.一种分布式自动化软件测试方法,其步骤为:
1)服务器端加载软件测试任务列表和各客户端的配置文件;检查各客户端的状态,建立一客户端状态表;选取具有相同功能的两待测算法A、B;
2)各客户端根据待测算法A进行环境部署;服务器端从该软件测试任务列表中选取未执行的测试任务,并将其发送给根据客户端状态选取的客户端;
3)客户端执行收到的测试任务并将测试结果发送给服务器端;
4)客户端根据待测算法B更新环境部署,重复执行步骤1)~3);
5)服务器端判断各测试任务对应的两测试结果是否发生变化;如果测试任务a在待测算法B对应的测试结果中的性能与在待测算法A对应的测试结果中的性能对比为性能提升,则直接输出测试任务a的对比结果;如果测试任务b在待测算法B对应的测试结果中的性能与在待测算法A对应的测试结果中的性能对比为性能退化,则定位到测试任务b对应的代码模块以及相关联的补丁;
6)将测试任务b对应的代码模块相关联的补丁分为两组,然后将这两组补丁分别集成到该待测算法A中后,分别进行迭代测试,最终自动定位出问题补丁;其中自动定位出问题补丁的方法为:基于二分法,将测试任务b对应的代码模块相关联的补丁分为两组,即A组和B组,分两次集成至该待测算法A中后进行测试,并将A组的测试结果、B组的测试结果分别与测试任务b在待测算法A对应的测试结果中的性能对比,选取出对比结果为性能退化的组,即为A组;然后对A组补丁分为两组,分两次集成至该待测算法A中后进行测试,并将两测试结果分别与测试任务b在待测算法A对应的测试结果中的性能对比,选取出对比结果为性能退化的组,再次迭代执行分组、测试,直至无法继续二分,然后将最后一次迭代得到的两测试结果分别与测试任务b在待测算法A对应的测试结果中的性能对比,将对比结果为性能退化的组中的补丁确定为问题补丁。
2.如权利要求1所述的方法,其特征在于,服务器端与客户端之间通过一消息队列进行通信,其中,各客户端在消息队列上进行注册,服务器端将测试任务提交给该消息队列,各客户端接受消息队列中发给自己的测试任务,并将测试任务的测试结果发送给该消息队列,服务器端通过该消息队列获取所述测试结果。
3.如权利要求1或2所述的方法,其特征在于,所述配置文件的信息包括客户端的IP地址、操作系统类型、CPU型号、需加载的设定硬件。
4.一种分布式自动化软件测试系统,其特征在于,包括一服务器端和多个客户端;服务器端包括任务分发模块、结果采集模块、结果对比分析模块和问题补丁定位模块;其中,服务器端加载软件测试任务列表和各客户端的配置文件,并向客户端发起心跳请求,确保各个客户端处于可用的状态;任务分发模块负责查找未被执行的测试任务和空闲的客户端,并为空闲的客户端分配任务;结果采集模块接收客户端反馈的测试结果,并将该结果存储在数据库中;结果对比分析模块从数据库中读取前后两次测试结果进行对比,分析并输出测试结果有变化的测试任务对应的代码模块以及相关联的补丁;问题补丁定位模块通过结果对比分析模块的分析结果,基于二分法进行自动化测试,定位导致测试结果性能退化的补丁;
客户端,根据当前的待测算法进行环境部署,执行服务器端分发的测试任务并将测试结果发送给服务器端;其中待测算法包括具有相同功能的两待测算法A、B;
其中问题补丁定位模块基于二分法,将测试任务b对应的代码模块相关联的补丁分为两组,即A组和B组,分两次集成至该待测算法A中后进行测试,并将A组的测试结果、B组的测试结果分别与测试任务b在待测算法A对应的测试结果中的性能对比,选取出对比结果为性能退化的组,即为A组;然后对A组补丁分为两组,分两次集成至该待测算法A中后进行测试,并将两测试结果分别与测试任务b在待测算法A对应的测试结果中的性能对比,选取出对比结果为性能退化的组,再次迭代执行分组、测试,直至无法继续二分,然后将最后一次迭代得到的两测试结果分别与测试任务b在待测算法A对应的测试结果中的性能对比,将对比结果为性能退化的组中的补丁确定为问题补丁。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710295065.7/1.html,转载请声明来源钻瓜专利网。