软件性能测试工具发展历程及各类工具使用对比有何特点?

摘要:一、性能测试工具的发展 性能测试工具的发展主要包括如下几个阶段: 开发工程师测试阶段:由于早期没有专业的性能测试工具,也没有专门的性能测试工程师,所以性能测试主要依靠开发工程师自己通过写测试代码的方式来完成性能测试,而且这时的性能测试也比较
一、性能测试工具的发展 性能测试工具的发展主要包括如下几个阶段: 开发工程师测试阶段:由于早期没有专业的性能测试工具,也没有专门的性能测试工程师,所以性能测试主要依靠开发工程师自己通过写测试代码的方式来完成性能测试,而且这时的性能测试也比较简单,相关体系和规范几乎没有。 性能测试工具的初期阶段:在上个世纪末,随着软件系统的发展,性能测试开始被日益重视,也正是在此时开始出现了专业的性能测试工具,比如1998年Jmeter 发布了第一个版本,同时在1999年的时候,LoadRunner也发布了第一个版本,但是早期的性能测试工具都比较简单,比如早期的LoadRunner仅仅用于模拟多个用户同时访问某个软件系统,并且能收集一些性能测试数据以用于评估系统的性能表现。这时的性能测试工具的功能都比较少,无法满足一些复杂业务场景的性能测试以及无法提供更多的性能分析诊断功能。同时这个阶段开始出现了一些简单的性能测试体系和规范,但是还远远不够完善。 性能测试工具的发展阶段:LoadRunner在发布了第一个版本后受到了大量软件开发者的好评,随后又开始发布了第二个版本,在这个版本中开始支持Web协议、数据库协议等网络应用协议,并且可以模拟多种Web浏览器的行为(比如点击按钮,填写表单等),同时在2003年的时候,LoadRunner发布了第三个版本增加了对移动应用程序、不同网络环境的模拟等的支持。与此同时Jmeter也在这个阶段进行了大量的版本迭代和发布,光在1999年的时候,Jmeter 就发布了超过4个版本,支持了那个时期常见的Http等Web协议的性能测试。 性能测试工具的井喷阶段:在这个阶段除了LoadRunner、Jmeter在不断的迭代发布之外,还出现了WebLoad(官方网址:https://www.radview.com/)、NeoLoad(官方网址:https://www.tricentis.com/products/performance-testing-neoload)、Gatling(官方网址:http://www.fefe.de/gatling/)、Ngrinder(官方网址:https://naver.github.io/ngrinder/)等大量的性能测试工具,这些性能测试工具各有特点,除了推动了性能测试工具的发展外,还极大的推动了性能测试这个行业的发展。 云服务性能测试工具阶段:随着云计算的出现和高速发展,软件系统的部署不在局限于本地部署或者自建机房部署,而是更多的去上云部署,所以很多云服务的厂商也趁机推出了自己的云服务的性能测试工具,比如阿里云推出的性能测试 PTS工具(官方网址:https://cn.aliyun.com/product/pts)等,当然云服务的性能测试也可以通过传统的Jmeter、LoadRunner等性能工具来完成。 性能测试工具的未来阶段:随着人工智能的快速发展,相信未来的性能测试工具也会更加AI化,会不需要性能测试工程师写更多性能测试脚本,会让性能测试变得更加简单。 二、各个性能测试工具的对比 性能测试发展到现在已经非常的成熟,而且可选的性能测试工具也很多,这里对常见的性能测试工具做一个对比,如下表所示。 性能测试工具名称 优点 缺点 Jmeter 1、 开源免费,支持对几乎所有的软件系统做性能测试,而且支持插件和扩展,可以扩展其功能和性能以满足特定的性能测试需求。 2、 支持性能测试流程编排,并且也支持断言、逻辑控制器等高级性能测试逻辑,可满足复杂的性能压测需求。 3、 支持分布式的部署,可以模拟大量的高并发请求。 4、 学习成本低,相关的技术资料非常齐全,社区非常强大。 1、 使用Java 语言开发,软件界面功能比较简单,体验性较差。 2、 可查看的监控和报告指标较少。 3、 分布式部署时较复杂,维护和管理分布式集群成本较大。 LoadRunner 1、 商业付费软件,拥有可靠的售后支持,在国内的知名度很高。 2、 提供非常强大的负载测试能力,支持分布式部署, 能生成详细的性能测试结果和报告。 3、 成熟、稳定的企业级性能测试,适用于超大规模性能并发测试,并且提供丰富的测试场景和性能结果分析功能。 4、 支持Web协议的性能测试脚本录制,可以减少部分编写性能测试脚本的难度。 1、 付费软件,购买价格较高,软件安装包较大,并且安装程序繁杂。 2、 操作难度较大,需要一定的学习和培训成本。 3、 底层是基于C语言开发,编写性能测试脚本时,需要对C语言脚本有一定的了解。 4、 只能运行在 Windows 系统上,不能兼容其他的操作系统来运行。
阅读全文