在Web或App 应用及服务正式发布之前,通过功能测试和安全测试以后,还要保证互联网产品的服务交付质量,就需要做压力测试、负载测试及性能(强度、容量、稳定性)测试。
压力/负载/性能(强度、容量、稳定性)测试之异同?
在产品研发过程中,常常会混淆压力、负载、性能(强度、容量、稳定性)测试这三者之间的区别,这三种测试到底有什么不同呢?
压测工具 |
定义 |
关注点 |
目标 |
举个例子 |
负载测试(Load Test) |
负载测试测试软件在一定的工作负荷下给系统造成的负荷及系统响应的时间,即本身最大所能承受的测试方法,可以为性能测试、压力测试所采用。负载测试载重,服务器在多大并发下,会挂掉。对于WEB应用来讲,负载则是并发用户或者HTTP连接的数量 |
how much |
目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行,找到系统处理能力的极限 |
一个人背X斤, 200斤情况下,是否能坚持5分钟。
|
压力测试(Stress Test) |
压力测试就是一种破坏性的性能测试,通过逐步增加系统负载,确定在什么负载条件下系统处于失效状态,以此来获得系统能提供的最大服务级别。压力测试强度 |
压力测试是为了发现在什么条件下测试应用程序的性能会变得不可接受。即检查系统处于压力性能下时应用的表现 |
一个人背X斤,200,300,400...斤情况下,他的表现,什么时候失败,失败之后什么表现,重新扛200是否正常。
|
|
性能测试(Performance Test) |
性能测试是为获取或验证系统性能指标而进行测试。多数情况下,性能测试会在不同负载情况下进行。性能测试是动力。操作:“运行负载试验->测度性能->调试系统” |
how much和how fast |
目的不是去找系统Bugs,而是排除系统的性能瓶颈,确保系统能达到预期值,并为回归测试建立一个基准 |
一个人背X斤, 要求200个人并发背X斤,2min内的响应就是属于性能测试。 |
强度测试(Stress Test) |
强度测试是一种性能测试,在系统资源特别低的情况下软件系统运行情况,包括: Spike testing:短时间的极端负载测试 Extreme testing:在过量用户下的负载测试 Hammer testing:连续执行所有能做的操作 |
目的是找到系统在哪里失效以及如何失效的地方 |
一个人背X斤, |
|
容量测试(Volume Test) |
容量测试是一种性能测试,使系统承受超额的数据容量来发现它是否能够正确处理。容量测试通常和数据库有关,容量和负载的区别在于:容量关注的是大容量,而不需要表现实际的使用 |
how much,而不是how fast |
确定系统可处理同时在线的最大用户数 |
一个人背X斤, 在坚持5分钟的情况下,他一次最多能扛多少斤。 |
稳定性测试 |
给系统加载一定业务压力情况下,使系统运行一段时间 |
验证是否支持长期稳定的运行 |
一个人背X斤, Y个人背X斤,看能坚持多少分钟。 |
这几种测试操作的环节都是基本一致的,因此一次测试过程中完全可以包含性能(强度、容量、稳定性)测试、负载测试、压力测试三个方面的内容,所使用的测试工具往往大同小异。
------------------------------------------------------Tanwheey-------------------------------------------------------------------------
爱生活,爱工作。