性能测试是一个总称,可细分为性能测试、负载测试、压力测试、稳定性测试。
性能测试
以系统设计初期规划的性能指标为预期目标,对系统不断施加压力,验证系统在资源可接受范围内,是否能达到性能瓶颈。
关键词提取理解
有性能指标,验证
性能测试目标
验证系统的性能指标,是否为初期规划的预期目标
客户指定相关性能指标,有性能相关要求,测试以这些指标为参数,进行测试,验证
运用场景:此类型的测试目前最常见。每个项目的性能点,都需要做性能测试。
负载测试
负载测试,又称为强度测试,是通过逐步增加系统负载,测试系统性能变化,并最终确定在满足系统性能指标的情况下,系统所能承受的最大负载量的测试。
关键词提取理解
负载是逐步增加的、在满足性能指标的前提下、发现最大负载量
负载测试目标
评估系统的性能指标,如:响应时间、事务处理效率等
确定并确保系统超出最大逾期工作量的情况下仍能正常运行
日常我们说的这个软件性能咋样,基本说的就是负载测试,因为我们考虑的是这个软件用起来流畅度,响应快不快、耗不耗资源等。
运用场景:此类型的测试目前运用得比较少。一般情况下,是以服务器资源安全临界值为界限的测试。如果要模拟某个应用在指定服务器上最大且安全的负载量,则属于负载测试。
压力测试
压力测试,对系统逐渐增加压力的测试,来获得系统能提供的最大服务级别的测试或者不能接受用户请求的性能点。
关键词提取理解
压力是逐步增加的,直到系统不能接受用户请求的性能点
通俗理解
让系统崩溃的压力点,去发现系统在什么情况下,应用程序的性能会变得不可接受。
压力测试可以细分为并发测试和大数据量测试:
并发测试:当测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题。并发测试不是为了获取系统的性能指标,而是为了发现并发引发的问题,如:线程锁、内存泄漏、资源占用等
大数据量测试:包含独立数据量测试,主要是针对某些系统存储、传输、查询等业务进行大数据量测试,如测试系统存储能力,IO传输速率、读取速率、慢查询等
负载测试和压力测试之间的区别
负载测试用来评估系统的性能指标,而压力测试是去制造问题,然后去分析引起问题的原因
运用场景:此类型的测试目前运用得比较少。但对于大型的共享中心或者核心的应用,也会用到。
稳定性测试
稳定性测试,又称为疲劳强度测试,通常是采用系统稳定运行情况下的并发用户数,或者日常运行用户数,持续运行较长一段时间,保证达到系统疲劳强度需求的业务量。
关键词提取理解
日常运行用户数、运行时间长
稳定性测试目标
确定系统最大工作量强度性能的过程【负载量一般来说相比其它较小】
稳定性测试特点
是一种概率测试,即使系统通过了稳定性测试,也无法保证系统在运行的时候不出问题。【符合测试原则之:测试无法保证软件或系统没有问题】。采取的措施:尽量增加测试次数、延长测试时间、适当增加测试压力
运用场景:此类型的测试目前也最常见,针对需要长时间稳定运行的性能点,需要执行稳定性测试。往往在一个项目的性能测试过程中,会划分出优先级较高的性能点,做稳定性测试。
性能测试压力变化模型
随着单位时间流量的不断增长,被测系统的压力不断增大,服务器资源会不断被消耗,TPS值会因为这些因素而发生变化,而且符合一定的规律。性能测试压力变化模型如图中:
a 点:性能期望值
b 点:高于期望,系统资源处于临界点
c 点:高于期望,拐点
d 点:超过负载,系统崩溃
由上述压力变化模型,将性能测试分成狭义的4种类型:
性能测试
a 点到 b 点之间的系统性能
负载测试
b 点到 c 点之间
压力测试
b 点到 d 点之间
稳定性测试
a 点到 b 点之间
最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!