前言
并发/负载/压力理解
负载测试:通过不断加压使系统达到瓶颈,为调优提供参考数据
压力测试:
稳定性压力测试:在不同的给定的条件下(比如内存的使用,一定时间段内有多少请求等),系统表现出来的处理,反应能力(这里会考虑系统的容错能力,恢复能力)
破坏性压力测试:不断加压,直至系统崩溃,挂掉,来得出系统的最大承受能力在哪儿
并发测试:简单理解就是业务场景短时间内有大量的请求需要处理,一般出现在登陆或者某些比较重要的模块,按钮。
压力测试
定义:系统在一定饱和状态下,例如CPU、内存等饱和情况下,系统能够处理的会话能力,以及系统是否会出现错误
特点:
该方法的主要目的是检查系统处于压力情况下是应用的性能表现;
该方法通过增加访问压力,是系统资源使用保持在一定水平,检验此时应用的表现,重点在于有误出错信息产生,系统对应用的响应时间等。
该方法一般通过模拟负载等方法,使得系统的资源使用达到较高的水平
负载测试
定义:在被测系统上不断增加压力,直到性能指标(如响应时间)超过预期指标或者某种资源使用已经达到饱和状态。可以找到系统的处理极限,为系统调优提供数据
特点:
该方法主要目的是找到系统处理能力的极限;
该方法在给定的测试环境下进行,通常需要考虑被测系统的业务压力量和典型场景;
该方法一般用来了解系统的性能容量,或者是配合性能调优来使用;
性能容量:系统在保证一定响应时间的情况下能够允许多少并发用户的访问
验收性能测试
定义:特定条件下验证系统的能力状况
特点:
该方法主要目的是验证系统是否具有系统宣称的能力;
方法包括:确定用户场景,给出需要关注的性能指标,测试执行,测试分析几个步骤。
该方法需要事先了解被测系统的典型场景,并具有确定的性能目标;
这种方法要求在已确定的环境下进行;
配置测试
定义:通过对被测系统软硬件环境的调整,了解各种不同环境对系统性能影响的程度,从而找到系统各项资源的最优分配原则
特点:
该方法主要目的是了解各种不同因素对系统系能影响的程度,从而判断出最值得进行的调优操作;
该方法一般在对系统性能状况有初步了解后进行,需要在确定的环境、操作步骤和压力条件下进行;
该方法一般用于性能调优和规划能力;
并发测试
定义:模拟多用户并发访问同一个应用、模块或者数据记录时是否存在死锁或者其他性能问题
特点:
该方法主要目的是发现系统中可能存在的并发访问时的问题;
该方法主要关注系统中可能存在的并发问题。
比如:内存泄漏、线程锁和资源争用等问题
该方法可以在开发的各个阶段使用,需要相关的测试工具的配合和支持
常用工具:
商业软件loadrunner:功能完整强大,内存占用大,需要收费
开源工具jmeter:开源免费,自由,操作较简单,能辅助完成日常的一些测试工作
可靠性测试
定义:给系统施加一定的业务压力,让其持续运行一段时间,测试在这种条件下能否稳定运行
特点:
该方法的主要目的是验证系统是否支持长期稳定的运行;
该方法需要在压力下持续一段时间的运行;
测试过程中需要关注系统的运行情况;
比如:内存使用或者其他资源的使用以及响应时间有无明显变化
失效恢复测试
针对有多余备份和负载均衡的系统设计
定义:检测如果系统局部发生故障,系统能否继续使用
特点:
该方法主要目的是验证局部故障下系统能否继续使用;
该方法需要指出:问题发生时“能支持多少用户访问”和“采取何种应急措施”;
一般只有对系统持续运行能力有明确指标的系统才需要该类型测试
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取