南京正厚软件技术培训学校

7x24小时咨询热线

400-660-3310

当前位置 : 好学校 南京正厚软件技术培训学校 学习资讯 资讯详情

性能测试、压力测试、负载测试的区别

2021-08-25

性能测试、压力测试、负载测试的区别

负载测试(Load testing)、压力测试(Stress Test,应称为强度测试)和性能测试,这三个概念常常引起混淆、难以区分,从而造成不正确的理解和错误的使用。虽然负载测试、压力测试和性能测试的测试目的不同,但其手段和方法在一定程度上比较相似,通常会使用相同的测试环境和测试工具,而且都会监控系统所占用资源的情况以及其它相应的性能指标,这也是造成人们容易产生概念混淆的主要原因。

l影响软件运行的因素

软件通常是运行在特定环境中,这种环境包括支撑软件运行的软硬件配置和影响软件运行的外部因素。为了让客户使用软件系统有更好的体验感,必须确保系统运行良好,达到高安全、高可靠和高性能。其中,系统是否具有高性能的运行特征,不仅取决于系统本身的设计和程序算法,而且取决于系统的运行环境。系统的运行环境会依赖于一些关键因素,例如:

1、系统架构:如分布式服务器集群还是集中式主机系统等;

2、硬件配置:如服务器的配置,CPU、内存等配置越高,系统的性能会越好;

3、网络带宽:随着带宽的提高,客户端访问服务器的速度会有较大的改善;

4、支撑软件的选定:如选定不同的数据库管理系统(Oracle、MySQL等)和web应用服务器(Tomcat、GlassFish、Jboss、WebLogic等),对应用系统的性能都有影响;

5、外部负载:同时有多少个用户访问、用户上传文件大小、数据库中的记录数等都会对系统的性能有影响,一般来说,系统负载越大,系统的性能会降低。

l性能、压力、负载测试概念

性能测试是通过自动化的测试工具模拟多种正常峰值以及异常负载条件来对系统的各项性能指标进行测试。压力测试和负载测试都属于性能测试,两者一般结合进行。

负载测试是模拟软件系统所承受的负载条件的系统负荷,通过不断加压(如逐渐增加模拟用户数量)或其它加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU/内存/磁盘读写)等,以检验系统的行为和特性,以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题,负载更多地体现了一种方法或技术。

压力测试是在强负载(大数据量、大量并发用户等)下的测试,查看应用系统在峰值使用情况下的操作行为,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。压力测试分为高负载下的长时间(如持续运行24小时及以上)的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试。

l负载测试与压力测试特点:

u两者都是通过模拟软件生产运行的业务压力值和使用场景组合测试软件的性能是否能够满足需要,主要具备一下三个特点:

1、目的是验证系统是否具有系统宣称具有的健壮能力;

2、需要事先了解被测系统使用的典型场景(如淘宝的双十一凌晨下单支付),并确定性能目标;

3、模拟测试的进行必须要求在已确定的环境中。

u负载测试用来验证系统饱和状态、确定阈值,其特点:

1、目的是摘到系统处理能力的极限,通过检测、加压、阈值手段找到如“响应时间补超过10s”、“服务器平均CPU利用率低于65%”等指标;

2、需要再给定的测试环境下进行,通常也需要考虑被测系统的业务场景和压力量;

3、这种方法一般用来了解系统的性能容量,或者配合性能调优的时候来使用。

u压力测试是测试系统在一定饱和状态下(CPU/内存等饱和),系统能够处理session的能力,以及系统是否会出现崩溃等,其特点:

1、该方法是检查系统处于压力情况下应用的表现。如增加VU数量、节点数量、并发用户数量等使系统的资源使用保持一定的水平,目的在于检测此时应用的表现,重点在于观察有无错误信息产生,系统的响应时间等;

2、该方法通过模拟负载实现压力。首先需要考虑模拟是否有效,其次需要结合业务和软件架构来定制模拟指标,需要选取合适的测试工具使测试数据更有参考性;

3、该方法也能测试系统的稳定性,需要根据平台使用场景定义多长的压测时间才能有效得体现出稳定性。

收藏
分享到:

相关课程

相关资讯

南京正厚软件技术培训学校

南京正厚软件技术培训学校

认证等级

信誉良好,可安心报读

南京正厚软件技术培训学校

已获好学校V2信誉等级认证

信誉值

  • (60-80)基础信誉积累,可放心报读
  • (81-90)良好信誉积累,可持续信赖
  • (91-100)充分信誉积累,推荐报读

与好学校签订读书保障协议:

  • 100%
  • 65
  • 12378
在线咨询
;