一、什么是软件压力测试?
软件压力测试是一种基本的质量保证行为,它是每个重要软件测试工作的一部分。软件压力测试的基本思路很简单:不是在常规条件下运行手动或自动测试,而是在计算机数量较少或系统资源匮乏的条件下运行测试。通常要进行软件压力测试的资源包括内部内存、CPU 可用性、磁盘空间和网络带宽。
二、5款常用的压力测试工具分享
1、Apache JMeter
JMeter是一款开源免费的压测产品,最初被设计用于Web应用功能测试使用,如今JMeter被国内企业用于性能测试。对于WEB服务器(支持浏览器访问),不建议使用Jmeter,因为jmeter的线程组都是线性执行的,与浏览器相差很大,测试结果不具有参考性。对于纯接口的部分场景(对接口调用顺序无严格要求)测试可以使用,但是要注意使用技巧,才能达到理想结果。
2、locust
Locust 完全基本 Python 编程语言,采用 Pure Python 描述测试脚本,并且 HTTP 请求完全基于 Requests 库。除了 HTTP/HTTPS 协议,Locust 也可以测试其它协议的系统,只需要采用Python调用对应的库进行请求描述即可。但是需要手工编写脚本,有一定的难度
3、Webbench
Webbench是知名的压力测试工具,由Lionbridge公司开发,它能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。
4、Apache Bench
Apache Bench是Apache服务器的一个web压力测试工具,简称ab。它可以模拟多个用户对某个网站发起访问,灵活小巧、易学易用,适合中小型互联网企业,但它的测试结果不能以图形显示。
5、Loadrunner
Loadrunner模拟用户的效果极其逼真,可进行独立的单元测试,可它学习成本高,需要专业素养较强的人方可熟练使用。