什么性能测试还有分类?不是就看快慢么? 大哥你要是这么理解那就外行的不能在外行了~其实也不怪大家,常会别人说到性能测试、负载测试、压力测试、并发测试,很多人都是混合使用,或者一会叫压力测试,一会叫并发测试。这些概念除了非测试人员分不清楚,甚至许多专业测试人员也对这些名词也很模糊。
下来我们就说性能测试的分类。
先说说性能测试(狭义)的定义
性能测试方法是通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求。通俗地说,这种方法就是要在特定的运行条件下验证系统的能力状态。
特点:
1、这种方法的主要目的是验证系统是否有系统宣称具有的能力。
2、这种方法要事先了解被测试系统经典场景,并具有确定的性能目标。
3、这种方法要求在已经确定的环境下运行。
也就是说,这种方法是对系统性能已经有了解的前提,并对需求有明确的目标,并在已经确定的环境下进行的。
下来说说广义面的定义和类型
基本上有以下几种
一·负载测试
通过在被测系统上不断加压,直到性能指标达到极限,例如“响应时间”超过预定指标或都某种资源已经达到饱和状态。
特点:
1、这种性能测试方法的主要目的是找到系统处理能力的极限。
2、这种性能测试方法需要在给定的测试环境下进行,通常也需要考虑被测试系统的业务压力量和典型场景、使得测试结果具有业务上的意义。
3、这种性能测试方法一般用来了解系统的性能容量,或是配合性能调优来使用。
打个比方 例如 每次吃饭只吃一碗米饭,结果为了检测你最多能吃多,那就不停地让你吃,直到你实在吃不下去,哈哈 崩溃了吧~
压力测试
压力测试方法测试系统在一定饱和状态下,例如cpu、内存在饱和使用情况下,系统能够处理的会话能力,以及系统是否会出现错误
特点:
1、这种性能测试方法的主要目的是检查系统处于压力性能下时,应用的表现。
2、这种性能测试一般通过模拟负载等方法,使得系统的资源使用达到较高的水平。
3、这种性能测试方法一般用于测试系统的稳定性。
打个比方,CPU在满负荷的状态下 你在去打开几个应用 看系统会不会崩溃 等等~
并发测试
并发测试方法通过模拟用户并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或其者他性能问题。
特点:
1、这种性能测试方法的主要目的是发现系统中可能隐藏的并发访问时的问题。
2、这种性能测试方法主要关注系统可能存在的并发问题,例如系统中的内存泄漏、线程锁和资源争用方面的问题。
3、这种性能测试方法可以在开发的各个阶段使用需要相关的测试工具的配合和支持。
打个比方 例如 一个饭堂最多能容纳100人吃饭,结果中午去了 200个在同一时刻去吃饭,结果100只能等着别人吃完饭 所以最大并发数为100
配置测试
配置测试方法通过对被测系统的软\硬件环境的调整,了解各种不同对系统的性能影响的程度,从而找到系统各项资源的最优分配原则。
特点:
1、这种性能测试方法的主要目的是了解各种不同因素对系统性能影响的程度,从而判断出最值得进行的调优操作。
2、这种性能测试方法一般在对系统性能状况有初步了解后进行。
3、这种性能测试方法一般用于性能调优和规划能力。
打个比方 例如 我们玩一个款大型网络3D游戏 你拿很烂的双核1G机器玩 赶紧很卡 但是你拿4核4g的机器玩 我靠 怎么这么流程 这就叫配置测试
可靠性测试
在给系统加载一定业务压力的情况下,使系统运行一段时间,以此检测系统是否稳定。
特点:
1、这种性能测试方法的主要目的是验证是否支持长期稳定的运行。
2、这种性能测试方法需要在压力下持续一段时间的运行。(2~3天)
3、测试过程中需要关注系统的运行状况。
打个比方 例如 老板说这一个月你都要每天加班到晚上10点,OK 如果你这一个月能扛下来的话,那通过测试,结果你干了2星期 身体垮了 测试失败们哈哈 是不是有点变态