压力测试与负载测试

发布时间 2023-04-26 11:33:51作者: 灵笑若然

什么是压力测试 

顾名思义:压力测试,就是  被测试的系统,在一定的访问压力下,看程序运行是否稳定/服务器运行是否稳定(资源占用情况)

比如: 2000个用户同时到一个购物网站购物,这些用户打开页面的速度是否会变慢,或者网站是否会奔溃

 

做压力测试的常用工具

做压力测试,一般要使用工具, 人工是没办法做的。   最常用的工具是LoadRunner, 但是LoadRunner毕竟是收费软件,而且使用上也比较复杂。 现在越来越多的人开始使用Jmeter来做压力测试。 免费, 而且使用上非常简单。

 

做压力测试的步骤如下:

1. 写脚本 或者录制脚本

2. 使用用户自定义参数

3. 场景设计

4. 使用控制器,来控制 模拟多少用户。

5. 使用监听器, 查看测试结果

 


 

1、什么是负载测试?

解答:对软件产品进行各种方式的加载负荷以获得被测产品在各种加载情况下的性能参数等信息。

2、负载测试的目的是什么?

解答:(1)对被测产品各性能参数进行不同频率、不同时间长度及不同负载量的加压测试,以便项目的开发、测试人员了解产品的性能瓶颈。

(2)获得产品的某些关键性能指标的极限。以便于产品设计人员对产品的升级周期进行预测。

(3)通过压力测试的结果获得产品的极限值,以这些极限值作为参考得到产品的期望工作条件值,测试人员就可以使用这些期望工作条件值对产品进行性能测试和浸透测试等。

3、何时进行负载测试?

解答:产品基本功能稳定之后开展。在非功能性测试开始之时,就应该立即开始对产品进行负载测试,因为其他性能测试大都需要负载测试来产生其参考值。

4、负载测试需要做哪些环境配置?

解答:硬件配置包括主板型号、CPU型号、内存大小及型号、硬盘大小及接口类型、网卡的接口类型及支持的带宽,还要考虑专用设备的配置,例如负载均衡器、交换机、代理服务器等。

软件配置包括操作系统、杀毒软件、数据库软件、web服务环境及业务逻辑服务环境等。

除了软硬件配置以外,在负载测试中还必须用到一些自动化的测试工具来模拟用户的请求和网络状态等参数。例如TCPReplay来播放一些预先抓取的数据包;用WireShark、TCPDump等工具在网络上摘取用来回放的数据;或来抓取被测产品的数据来进行对比以测试产品对数据处理的正确性及有无丢包。另外还有一些网络状态的模拟工具可以模拟网络延时、误码、各种带宽、数据包掉包、出现重复数据包及数据包顺序混乱等情况或现象。

5、负载测试的加载策略有哪些?

解答:(1)一次性加载:一次性对被测产品加载定量的负载,并且维持一个较长的时间段。通常用于验证被测产品在某一固定负载下是否能长时间的正常工作。

(2)递增加载:逐步对被测产品增加负载,直到被测产品不能正常工作为止。通常用于获取被测产品正常工作的负载极限。

(3)峰谷式加载:对被测产品加载一个较高的负载并且维持一段时间,然后再对被测产品加载一个较低的负载并且维持一段时间,如此不断重复。通常用于发现被测产品在不断的申请资源、释放资源的轮回中是否产生资源或内存的泄露。

(4)随机加载:随机对被测产品加载定量的负载,并且维持一个较长的时间段。通常用于模拟真实情况下被测产品的运行状况,并可能发现一些不在测试用例设计范围内的产品缺陷或性能瓶颈。