软件性能测试是基于系统测试阶段的一种非功能性测试,为什么叫非功能性测试呢?大家都知道,功能并不会覆盖多线程操作,但是性能测试就会覆盖多线程操作,一个功能1000人操作不会有问题,但是一个功能上万人甚至上亿人同时访问,可能会导致系统崩溃,所以说软件性能测试是一种非功能性测试,但是基于功能测试之上,性能测试并不会覆盖需求所有测试点,只是对产生并发压力的功能进行测试。

1. 性能测试:在一定的负载条件下,测试系统的响应时间等各项性能指标是否符合需求。

How Fast:是用来反应一个系统的处理效率的。

How Much:是用来反应一个系统的处理能力的。

2. 负载测试:主要是为了获取系统的最大有效负载用户数、系统的最大处理能力和最佳的性能表现点。

负载用户,就是指虚拟用户,即我们在性能测试过程中模拟向服务器发起请求的虚拟用户数。

系统最大负载用户数:即系统实际的用户数。

用户数不一定就是使用用户的人,可能是:人、设备、调用者(人、上层接口、外部接口)。

3. 稳定性测试:也叫可靠性测试,通过给系统加载一定的业务压力,让系统持续运行一段时间(一般为7×24小时),检测系统是否能够稳定运行,连接是否会中断,比如网络中断易恢复性。

4. 压力测试:主要是为了测试系统的稳定性。理论上来说,一般来说稳定性测试都是要求7*24小时。一般来说,结合监控,不需要也没有条件去进行长时间的压力测试。

如何理解与区分软件性能测试、负载测试、稳定性测试、压力测试?-编程之家

不同测试种类之间的区别分析:

性能测试的区别在于,在一定的用户负载条件下,测试系统的响应时间,也就是服务器返回结果给客户端呈现在网页上的时间,一般以2s-5s-10s原则作为标准值 ,以及各项性能指标符合需求。

负载测试:相对性能测试强度更大,用来分析系统性能瓶颈的一种手段,例如一个人你让他背100斤东西没问题能正常走路,当你加10斤、20斤、30斤、50斤时可能走不动了这个点就是负载测试的瓶颈点,需要根据异常情况分析性能指标。

稳定性测试其实就是可靠性测试,保证客户端与服务端的连接畅通能够正常通信,网络稳定,功能稳定,如果网络不稳定一段时间网络正常系统要能正常使用。

压力测试:不需要给系统添加思考时间,直接将系统压崩溃为位,分析系统最大能支撑多少用户访问。

1,软件性能是软件的一种非功能特性,它关注的不是软件是否能够完成特定的需求功能,而是特指功能的响应及时性。

软件性能主要通过响应时间、吞吐量、并发用户数、系统资源占用、系统稳定性几个指标来衡量。

这里面,功能响应及时性,通俗的说,就是输入一个指令,系统多长时间给出一个想要的结果。也就是说,系统性能是用户的一种最终的综合的感受。

2,稳定性测试就测试系统的长期稳定运行能力。在系统运行过程中,对系统施压,观察系统的各种性能指标,以及服务器的指标。

系统稳定性对系统管理员的意义重大,稳定性的好坏也可以直接影响到最终用户所关心的“响应时间”,因此,稳定性测试也可以是性能测试中非常重要的一环。

稳定性测试(亦可称可靠性测试)通过给系统加载一定的业务压力,让系统持续运行一段时间(一般为7×24小时),检测系统是否能够稳定运行。

要注意的是,稳定性测试属于概率性的测试,也就是说,即使稳定性测试通过,也不能保证系统实际运行的时候不出问题。所以要尽可能多的提高测试的可靠性。可以通过多次测试,延长测试时间,增大测试压力来提高测试的可靠性。

3,负载测试,通常是让被测系统在其能忍受的压力极限范围内(或临界状态下)连续运行,来测试系统的稳定性。其目的是找到系统的处理极限,为系统调优提供依据。

通俗的说,这个负载能力的概念,就是系统不同部分各自能够承担的最大输出量。相当于一小时最多能够处理多少数据,给出多少结果。如果改变了数据输入量,又会如何。

负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征。例如,响应时间、事务处理速率和其他与时间相关的方面。

负载测试与压力测试的区别在于负载测试侧重于压力持续的时间,而压力测试则更加强调施加压力的大小。

4,压力测试,是指不断地给被测系统增加压力,直到被测系统被压垮,从而确定系统能承受的最大压力。它实际上是通过对系统不断施压,来确定系统瓶颈或不能接受用户请求的性能点,以获得系统能提供的最大服务级别。换句话说,压力测试就是为了发现什么条件下系统性能变得不可接受。