应用在测试软件中的测试方法和测试系统技术方案

技术编号:12780472 阅读:75 留言:0更新日期:2016-01-27 23:09
本发明专利技术涉及软件测试技术,具体而言,涉及应用在测试软件中的测试方法和测试系统。该测试方法根据待测试软件的性能测试要求确定压力机数量后,将所有压力机的其中一台设为控制节点,其他设为压力节点,所有压力节点都与控制节点联系,构成广域、分布式方式。并对控制节点、压力节点承担的任务和角色进行定义,该测试机制中控制节点只负责汇总与分析来自压力节点的测试数据,压力节点只负责生成压力流量,将测试结果数据传输给控制节点,该测试方法可以使得控制节点和压力节点均可以释放出大量资源,模拟更多的虚拟用户量。

【技术实现步骤摘要】

本专利技术涉及软件测试技术,具体而言,涉及应用在测试软件中的测试方法和测试系统
技术介绍
随着我国政府在信息化领域制定了一系列政策方针并持续加强基础网络设施建设,为互联网接入提供较好的网络基础条件。运营商和各大厂商积极推动互联网应用发展,加快网络应用对社会生活的渗透,如电子政务、电子商务等应用与线下结合紧密,吸引更多人使用互联网。传统互联网企业也在纷纷向移动互联网方向转型或产品兼容,导致原本访问量已经很高的热门应用又加入了移动互联用户,使得互联网应用用户访问量屡创新高,海量访问的互联网应用也在不断涌现,这些互联网应用面临着日均访问量过亿的高并发访问的技术考验。同时也给软件质量保障工作带来了前所未有的挑战,主要表现在两个方面,一是访问量级的差异,传统性能测试的信息系统访问量并发用户量在一万以下,而高并发的互联网应用的并发访问量可达数万,甚至更高,这样直接导致传统测试工具无法模拟高并发的互联网应用的并发访问量所需的虚拟用户;二是测试环境直接影响测试执行,传统性能测试通过局域网直接对服务器发起压力,监控服务器所能承受的压力,如果是服务器集群,则只能通过推算的方式计算服务器集群所能承受的访问压力量级,而高并发的互联网应用是基于互联网,同时这类应用为改善用户浏览体验,在网络各处放置节点服务器构成在现有的互联网基础之上的一层智能虚拟网络,尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定,这样直接导致传统测试工具、测试环境都无法满足测试需求。在缺少质量保障手段(即性能检测工具)的情况下,很多互联网应用软件企业选择放弃性能测试或者是选择国外厂商的性能测试。在软件性能检测工具方面,国外厂商比较有名的有Infosys Technologies公司提出的对象驱动性能测试模型,原MercuryInteractive的Loadrunner,微软公司的WAS测试工具等。但是这些性能测试受到测试工具、测试环境(互联网环境)等因素的限制,只能在局域网内对单台服务器的负载情况进行性能测试,而非服务器集群,一个服务器集群的负载能力是经过推算得出,即单台服务器乘以服务器台数,乘积为该服务器集群的负载能力。这个推算忽略了负载均衡设备、网络带宽和质量等因素。所以在真正上线后,会出现服务响应慢、响应时间长甚至宕机等情况发生。并且,这些性能测试软件中的控制节点和压力节点工作没有很好的区分,导致控制节点功能繁多,耗费大量系统资源,制约测试软件的虚拟用户量。对于大规模的分布式测试,一次10万虚拟用户模拟,大约产生的数据量在50至70万行,需要调用100台左右压力机进行模拟,如此大规模的压力机在回传测试结果时,由一台控制端接收严重影响数据的可靠性及传输性能。由于该过程数据交互频繁,100台服务器同时与I台服务器进行数据传输,很难避免数据传输错误或失败的情况发生。鉴于此,克服上述现有缺陷的性能测试工具数据测试机制是本专利技术亟待解决的问题。
技术实现思路
本专利技术的目的在于提供一种应用在测试软件中的测试方法及测试系统,以解决解决虚拟用户数量限制问题,使得控制节点和压力节点均可以释放出大量资源,模拟更多的虚拟用户量。本专利技术实施例提供了一种应用在测试软件中的测试方法,其包括:步骤1,根据待测试软件的性能测试要求确定压力机的数量;步骤2,将所有压力机中的一台压力机定义为控制节点,其他压力机定义为压力节点;并建立所有所述压力节点与所述控制节点的网络连接;步骤3,所述控制节点向所述压力节点发送压力测试指令;步骤4,所述压力节点根据所述压力测试指令,创建预设数量线程并进行压力测试,并实时存储测试记录并缓存所述测试记录;步骤5,待所有压力节点压力测试结束后,所述控制节点汇集、整合存储在压力节点上的的测试记录,并分析得到测试结果。在一些实施例中,优选为,在所述步骤3之前,所述测试方法还包括:根据待测试软件的性能测试要求录制脚本;调整所述脚本,得到可执行的测试脚本。在一些实施例中,优选为,在所述步骤4中,所述测试记录包括:每个虚拟用户访问的响应时间、成功率、脚本执行日志。在一些实施例中,优选为,在所述步骤5之后,所述测试方法还包括:步骤6,将所述测试结果定义为调整前测试结果;步骤7,根据所述调整前测试结果确定测试瓶颈;步骤8,根据所述测试瓶颈进行调整,并重新执行步骤3-步骤5,得到调整后测试结果。在一些实施例中,优选为,所述步骤8之后,所述测试方法还包括:比较所述调整前测试结果与所述调整后测试结果;若所述调整后测试结果优于所述调整前测试结果,且所述调整后测试结果在预设测试期望值内,则,测试结束;否则,继续执行步骤6-步骤8。本专利技术还提供了一种应用在测试软件中的测试系统,其包括:第一确定模块,其用于根据待测试软件的性能测试要求确定压力机的数量;分配模块,其用于将所有压力机中的一台压力机定义为控制节点,其他压力机定义为压力节点;连接模块,根据所述分配模块的分配结果,建立所有所述压力节点与所述控制节点的网络连接;传输模块,其用于所述控制节点向所述压力节点发送压力测试指令;测试模块,其包括所有压力节点,用于所述压力节点根据所述压力测试指令,创建预设数量线程并进行压力测试,并实时存储测试记录并缓存所述测试记录;分析模块,其包括控制节点,用于待所有压力节点压力测试结束后,所述控制节点汇集、整合存储在压力节点上的的测试记录,并分析得到测试结果。在一些实施例中,优选为,应用在测试软件中的测试系统还包括:录制模块,用于根据待测试软件的性能测试要求录制脚本;调整模块,用于调整所述脚本,得到可执行的测试脚本。在一些实施例中,优选为,每个压力节点包括缓存单元,用于实时存储测试记录,所述测试记录包括:每个虚拟用户访问的响应时间、成功率、脚本执行日志。在一些实施例中,优选为,所述的应用在测试软件中的测试系统还包括:调整模块,与分析模块连接,用于将所述测试结果定义为调整前测试结果,根据所述调整前测试结果确定测试瓶颈,根据所述测试瓶颈进行调整;调用模块,用于基于调整模块调整后的测试系统,调用所述传输模块、所述测试模块、所述分析模块,再进行测试,得到调整后测试结果。在一些实施例中,优选为,所述的应用在测试软件中的测试系统还包括:比较模块,与分析模块和调用模块相连;所述比较模块用于比较所述调整前测试结果与所述调整后测试结果;若所述调整后测试结果优于所述调整前测试结果,且所述调整后测试结果在预设测试期望值内,则,测试结束;否则,调用所述调整模块和所述调用模块。本专利技术实施例提供的应用在测试软件中的测试方法及测试系统,与现有技术相比,根据待测试软件的性能测试要求确定压力机数量后,将所有压力机的其中一台设为控制节点,其他设为压力节点,所有压力节点都与控制节点联系,构成广域、分布式方式。并对控制节点、压力节点承担的任务和角色进行定义,该测试机制中控制节点只负责汇总与分析来自压力节点的测试数据,压力节点只负责生成压力流量,将测试结果数据传输给控制节点,该测试方法可以使得控制节点和压力节点均可以释放出大量资源,模拟更多的虚拟用户量。对于大规模的分布式测试,一次10万虚拟用户模拟,大约产生的数据量在50至70万行,需要调用100台左右压力机进行模拟,如此大规模的压力机在本文档来自技高网
...
应用在测试软件中的测试方法和测试系统

【技术保护点】
一种应用在测试软件中的测试方法,其特征在于,包括:步骤1,根据待测试软件的性能测试要求确定压力机的数量;步骤2,将所有压力机中的一台压力机定义为控制节点,其他压力机定义为压力节点;并建立所有所述压力节点与所述控制节点的网络连接;步骤3,所述控制节点向所述压力节点发送压力测试指令;步骤4,所述压力节点根据所述压力测试指令,创建预设数量线程并进行压力测试,并实时存储测试记录并缓存所述测试记录;步骤5,待所有压力节点压力测试结束后,所述控制节点汇集、整合存储在压力节点上的的测试记录,并分析得到测试结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:周悦郭振东何泾沙宋红波郭澍徐琛张伊璇
申请(专利权)人:北京软件产品质量检测检验中心
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1