【性能测试】性能测试的概念、分类及特点

hello,大家好!我是磨磨唧唧小蘑菇~

双11或者618之前,公司都会组织进行压力测试(性能测试的一种),前前后后压测了6次,也只懂了个三三四四,趁此机会想总结各方知识,然后陆陆续续落地沉淀出来,望各位提出批评指正~

目录

一、何为性能测试

二、性能测试分哪几类?有什么特点?

一、何为性能测试

性能测试是通过模拟生产运行的业务压力量和使用场景组合,来测试系统的性能是否满足软件的性能要求。即,这种方法就是要在特定的运行条件下验证软件系统的处理能力。

通俗讲,这种方法是对系统性能已经有了解的前提,并对需求有明确的目标,并在已经确定的环境下运行的(eg:某接口已经在线上环境运行良久,遇到大促期间线上流量会增加,本次压测其性能是否满足tps=xx,响应时间(最大/最小/平均)=xx,TP值(50/99/999)=xx,等等指标)。

二、性能测试分哪几类?有什么特点?

1、压力测试(强度测试)

测试系统在一定饱和状态下,例如CPU、内存在饱和使用情况下,系统能够处理的会话能力,以及系统是否会出现错误。

特点:

  • 主要目的是检查系统处于压力性能下,软件应用的具体表现;
  • 一般通过模拟负载测试等方法,使得系统的资源使用达到较高的水平;
  • 一般用于测试系统的稳定性;

To summarize,压力测试是让系统处在很大强度的压力下,看系统是否稳定,哪里会出问题。

2、负载测试

通过在被测软件系统上不断实施加压,直到性能指标达到极限状态,例如“响应时间”超过预定指标或某种资源已经达到饱和状态。

特点:

  • 主要目的是为了找到系统处理能力的极限;
  • 需要在给定的测试环境下进行,也需要考虑被测系统的业务压力量和典型场景,使得测试结果具有业务上的实际意义;
  • 一般用来了解系统的性能容量,或是配合系统性能调优来使用;

To summarize,负载测试是对一个系统持续不断的加压,看系统什么时候超出“预期要求”或系统崩溃。

3、并发测试

通过模拟用户并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题。

特点:

  • 主要目的是发现系统中可能隐藏并发访问时的问题;
  • 主要关注系统可能存在的并发问题,例如系统中的内存泄漏、线程锁和资源并用方面的问题;
  • 可以在开发的各个阶段使用,不过是需要相关的测试工具的配合和支持;

To summarize,并发测试的关注点是多个用户同时(并发)对一个模块或操作进行加压。

4、配置测试

通过对被测系统的软/硬件环境的调整,了解各种不同方法对软件系统的性能影响的程度,从而找到系统各项资源的最优分配原则。

特点:

  • 主要目的是了解各种不同因素对系统性能影响的程度,从而判断出最值得进行的调优操作;
  • 一般在对系统性能状况有初步了解后才进行;
  • 一般用于性能调优和软件处理能力的规划;

To summarize,配置测试的关注点是“微调”,通过对软/硬件的不断调整,找出系统的最佳状态,使系统达到一个最稳定的状态。

5、可靠性测试

通过给系统加载一定业务压力的情况下,使系统运行一段时间,以此检测系统是否稳定。

特点:

  • 主要目的是验证系统是否支持长期稳定的运行;
  • 需要在压力下持续一段时间的运行;
  • 需要关注系统的运行状况;

To summarize,可靠性测试的关注点是“稳定”,不需要给系统太大的压力,只要系统能够长期处于一个稳定的状态即可。

文中所有观点只代表个人,有不足之处,欢迎指正,不胜感激!!!

你可能感兴趣的:(性能测试,压力测试)