[发明专利]一种软件性能测试方法和装置有效
申请号: | 201110175060.3 | 申请日: | 2011-06-27 |
公开(公告)号: | CN102855173A | 公开(公告)日: | 2013-01-02 |
发明(设计)人: | 林谡 | 申请(专利权)人: | 北京新媒传信科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京市隆安律师事务所 11323 | 代理人: | 权鲜枝 |
地址: | 100089 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 性能 测试 方法 装置 | ||
技术领域
本发明涉及计算机软件性能测试领域,特别是涉及一种软件性能测试方法和装置。
背景技术
目前对一款软件进行性能测试:通常的做法是编写性能测试代码(脚本),性能测试代码实质上就是自动执行的客户端程序,可以简称为性能测试客户端。然后建立起性能测试进程,在进程内并发运行多个性能测试客户端访问应用服务,这样就达到了模拟多个客户端的工作压力进行性能测试的目的。互联网应用的兴起,对软件性能测试提出了越来越大的挑战。海量用户同时在线使用是互联网应用的显著特征,因此,基于互联网应用的软件性能测试要求测试场景中能够保证有大量的性能测试客户端同时运行,这样才能够达到充分真实模拟的目的。
现有的性能测试方法,绝大多数的情况下都是在使用某一种性能测试工具,其测试方法的过程如下:
测试代码的生成:测试代码由2种方式得来,第1种是录制测试客户端的行为,然后做参数化处理;第2种是直接开发出此类代码供使用;所述的测试代码只模拟一个客户端的行为;所有代码都被设计成在一个线程内顺序执行。
测试执行:软件测试工具提供测试进程,进程内为每一个测试客户端提供一个独占的线程。假如控制多台测试机(m台)、每台测试机启动多个测试进程(n个),每个测试进程包括多个测试线程(t个),这样,同时参与测试的客户端个数是m*n*t个。
从软件设计性能的角度来考虑,测试机线程个数、cpu使用率、内存等系统资源随测试压力的增加很快就会成为性能测试的瓶颈。所以现有的测试方法只能测试一些低压力的场景,如果测试互联网业务,测试进程的性能问题会导致测试无法进行或者时间、资金、人员等成本十分高昂。并且在设计过程中没有考虑到测试客户端互相通信的需求,比如性能测试客户端A在某个测试时刻要求性能测试客户端B完成某个功能或变更某种属性,这是无法办到的,因为某个性能测试客户端在设计上是封闭的,导致测试场景设计上不够灵活。
综上所述,现有技术中的,软件性能测试方法不能实现测试客户端直接的通信,而且在海量测试客户端同时进行测试时受到系统资源的限制。
发明内容
本发明提供了一种软件性能测试方法,该方法能够提高测试软件性能的能力。
本发明提供了一种软件性能测试系统,该系统能够提高测试软件性能的能力。
为达到上述目的,本发明的技术方案是这样实现的:
本发明公开了一种软件性能测试方法,该方法包括:设置定时调度器的执行周期和调度算法;设置线程池中线程的最小个数和最大个数,建立最小个数的线程;对性能测试客户端进行初始化操作;
在当前执行周期中,定时调度器根据设置的调度算法选取性能测试客户端和相应的业务操作,在线程池中选择空闲线程;
性能测试客户端根据定时调度器所选取的空闲线程进行相应的业务操作;
所述业务操作执行完毕后,将线程放回线程池中,并等待下一个执行周期。
本发明还公开了一种软件性能测试装置,该装置包括:定时调度器模块、线程池模块、多个性能测试客户端模块,其中,
定时调度器模块,用于周期性的选取一个或多个性能测试客户端模块、为性能测试客户端模块选取相应的业务操作,为选取的业务操作在线程池模块中选取空闲的线程;
性能测试客户端模块,包含待测软件的客户端属性以及各种业务操作的集合;用于根据定时调度器模块选取的业务操作和选取的空闲的线程进行业务操作;
线程池模块,存放用于实现各种业务操作的线程,为性能测试客户端模块所要执行的业务操作提供执行的线程。
由上述可见,本发明提供的技术方案,将性能测试客户端编程为包含性能测试客户端属性和业务操作的集合,引入线程池用于执行各个性能测试客户端的业务操作,使用定时调度器进行统一的调度管理,能够更加灵活方便的控制软件性能测试的测试过程,控制场景,并且通过软件测试进程内的过程调用实现性能测试客户端之间的通信。
附图说明
图1是本发明中一种软件性能测试方法的流程图;
图2是本发明中一种软件性能测试方法的初始化流程图;
图3是本发明中一种软件性能测试方法的详细流程图;
图4是本发明中一种软件性能测试装置的结构示意图。
具体实施方式
图1是本发明中一种软件性能测试方法的流程图,如图1所示,
步骤101,设置定时调度器的执行周期和调度算法;设置线程池中线程的最小个数和最大个数,建立最小个数的线程;对性能测试客户端进行初始化操作;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京新媒传信科技有限公司,未经北京新媒传信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110175060.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:分裂栅型MOSFET成像探测器及其操作方法
- 下一篇:对称球面滚子弧面轴承