性能测试工具分为:服务端性能测试工具和前端幸亏你能测试工具两大类。服务端性能测试工具主要支持产生压力和负载,录制和生成脚本,设置和部署场景,产生并发用户和向系统施加持续的压力;而前端性能测试工具则不关心系统的压力和负载,只须要关心浏览器等客户端工具对具体的须要展示的页面处理过程前端
服务端性能测试通常包括如下部件:数据库
虚拟用户脚本产生器(Virtual User Generator)编程
压力产生器(Player)浏览器
用户代理(Agent)服务器
压力调度和监控系统(Conductor)并发
压力结果分析工具(Analysis)负载均衡
客户端花费的用于加载和展示的时间就是前端响应时间,而客户端的性能表现一般被称为前端性能。socket
选择性能测试脚本协议最简单的原则是:选择客户端和服务器通讯时所采用的最上层的协议。例如:Web应用的客户端和服务器之间一般是使用HTTP/HTTPS协议进行通讯的,但HTTP/HTTPS协议是基于TCP协议上的应用层协议,所以在LoadRunner工具中,采用Socket或HTTP/HTTPS协议上的应用层协议,所以在LoadRunner工具中,采用Socket或HTTP/HTTPS协议均能录制获得脚本。另外一个例子是使用自定义的TCP或UDP协议进行通信的C/S应用(如腾讯的QQ),在TCP或UDP协议层上必定能够进行录制等方式获得客户端与服务端之间的通讯协议,并使用符合协议要求的编码与解码方式产生和解析通讯数据包。前端性能
选择性能测试脚本录制协议时,有几点必须说明的内容:编程语言
(1)使用socket协议能够对任何应用通讯进行录制,但这种录制生成的脚本极可能没有任何意义。
(2)在对应用的通讯进行录制生成脚本后,对脚本进行回放,有时会出现回放没法继续的状况(停留在某个步骤没法进行下去),此时应该考虑是否使用了合适的协议,极可能是因为协议选择不正确或是不全面,致使部分通讯没有录制成功。
选择那种工具一般具备三个层次的意义:第一,建立仍是购买?第二,若是和购买,如何选择?第三,若是自行建立,如何建立?
考虑状况:
1.若是须要的是一个仅用于本次项目测试的工具,或是被测系统使用了比较特殊的协议等,能够考虑自行建立须要的测试工具;
2.若是须要做为第三方接受委托进行性能测试,选择被广发接受的商业工具可能会让委托方更有信息;
3.若是须要以最快的速度创建当即可用的组织的性能测试环境,选择商业工具应该是比较合适的方案
4.若是但愿创建一个可以长期发展,并能适应产品和组织变化的性能测试体系,则基于开源工具建立适合组织的工具体系多是最佳的方式。
评估步骤:
1.列出须要的工具功能列表
能够从如下几个方面考虑须要的功能:
(1)工具是否支持被测系统运行的平台(软硬件环境、数据库环境)吗?
(2)工具可否支持被测系统使用的协议吗?
(3)工具可否支持特殊要求(如防火墙、负载均衡、动态页面生成等)吗?
(4)工具可以提供对服务器、应用服务或数据库类型计数器的监控吗?
(5)工具使用的脚本语言功能完善吗?
对于开源性能测试工具,除了对其具备的功能进行考虑外,还须要从工具的可维护性和社区支持等方面进行考虑,具体以下。
(1)工具是否有相对固定的维护成员?项目活跃吗?工具社区是否能提供足够的支持?
(2)工具采用的是何种编程语言?本组织有合适的资源对工具进行维护和支持吗?
(3)工具是否具备良好的结构和拓展性,以便于二次开发、功能添加或将其集成到组织的自动化体系中
(4)工具采用的是何种开源许可协议(License)?这种开源许可协议是否会给使用和二次开发带来法律上的风险和问题?
2.工具比较
对工具的比较内容包括如下几个方面:
(1)功能比较。
(2)工具能获取支持的比较。
(3)供应商的信誉。
(4)工具的维护成本。
性能测试工具的功能评估:
3.成本分析