像这样和其他的功能,如用于记录浏览器会话并将它们加入到测试脚本中的工具,是高端负载测试工具与基本工具的差别所在。如何为自己选择正确的工具呢?当然,这取决于您的需要、您的计划和您的预算。最重要的是,您需要使用可以正确地模拟您的应用程序要求的客户浏览器功能的工具。具备了基本功能后,可以考虑工具的生产率。一般来说,包含的分析工具越多,可以记录的性能数据类型越多,您可以达到的生产率就越高——您愿意付的钱也就越多。顶级的负载测试程序可以模拟多个浏览器,与大多数应用服务器集成,收集多个服务器主机的性能数据(包括操作系统、JVM 和数据库统计数字),生成可以在以后用高级的分析工具分析的数据集。另一方面,低端负载测试程序是免费的。在那些预算有限的日子里,“免费”的意义是不言自明的。
图 1 展示了免费的负载测试程序 Apache JMeter,它显示了一个自动记录的脚本。
图 1. JMeter 显示一个自动记录的脚本
丰富的功能
我们已经看过了压力测试工具的基本功能,还适合增加什么附加功能呢?不同的负载测试工具的区别在什么地方呢?当然,您最主要的要求是这个工具必须可以模拟您的应用程序客户机。如果您的应用程序使用一些不常见的浏览器功能组合或者其他非标准客户机技术,那么就排除了相当一部分候选者。除此之外,还有其他功能使负载测试的生产率更高。对于决定适合于自己项目的负载测试工具,下面的列表是一个有用的出发点:
模拟您的客户机
首要要求一定是负载测试程序能够处理您的应用程序所使用的功能和协议。
运行多个模拟的客户机
这是负载测试程序最基本的功能,它有助于确定哪些是负载测试程序以及哪些不是(一些框架试图伪装成负载测试程序)。
脚本化执行并能编辑脚本
如果不能编写客户机与服务器之间交互的脚本,那么就不能处理除最简单的客户机之外的任务东西。编辑脚本的能力是最基本的——小的改变不应该要求您重新生成脚本。
支持会话
负载测试程序如果不支持会话或者 cookies,那么就不算是真正的负载测试程序,并且不能对大多数 J2EE 应用程序进行负载测试。
可配置的用户数量
测试程序应该可以让您指定每个脚本由多少个模拟用户运行,包括让您随时间改变模拟用户的数量,因为许多负载测试应该从小的用户数量开始,并慢慢增加到更多的用户数量。
报告成功、错误和失败
每一个脚本都必须定义一个方法来识别成功的交互以及失败和错误模式(错误完全不会有页面返回,而失败可能在页面上得到错误的数据)。
文章来源于领测软件测试网 https://www.ltesting.net/