29 | 聊聊性能测试的基本方法与应用领域

并发用户数、响应时间、系统吞吐量之间的关系

        当系统并发用户数较少时,系统的吞吐量也低,系统处于空闲状态,这个阶段被称为 “空闲区间”

     并发用户数进一步增长,系统的处理能力逐渐趋于饱和,因此每个用户的响应时间会逐渐变长。整体吞吐量并不会随着并发用户数的增长而继续呈线性增长。这个阶段被称为系统的“拐点”

        随着系统并发用户数的增长,系统处理能力达到过饱和状态。此时,如果继续增加并发用户数,最终所有用户的响应时间会变得无限长。相应地,系统的整体吞吐量会降为零,系统处于被压垮的状态。这个阶段被称为“过饱和区间”

        后端性能测试的测试负载,一般设计在“线性增长区间”内;而压力测试的测试负载,会设计在系统“拐点”上下,甚至是“过饱和区间”。

常用的七种性能测试方法

后端性能测试:通过性能测试工具模拟大量的并发用户请求,然后获取系统性能的各项指标,并且验证各项指标是否符合预期的性能需求的测试手段。

前端性能测试:前端性能关注的是浏览器端的页面渲染时间、资源加载顺序、请求数量、前端缓存使用情况、资源压缩等内容,希望借此找到页面加载过程中比较耗时的操作和资源,然后进行有针对性的优化,最终达到优化终端用户在浏览器端使用体验的目的。

        优化规则:减少 http 请求次数、减少 DNS 查询次数、避免页面跳转、使用内容分发网络(CDN)、Gzip 压缩传输文件

代码级性能测试:代码级性能测试,是指在单元测试阶段就对代码的时间性能和空间性能进行必要的测试和评估,以防止底层代码的效率问题在项目后期才被发现的尴尬。

        测试方法:改造单元测试框架。

        将原本只会执行一次的单元测试用例连续执行 n 次,这个 n 的取值范围通常是 2000~5000;

        统计执行 n 次的平均时间。如果这个平均时间比较长(也就是单次函数调用时间比较长)的话,比如已经达到了秒级,那么通常情况下这个被测函数的实现逻辑一定需要优化

压力测试:通常指的是后端压力测试,一般采用后端性能测试的方法,不断对系统施加压力,并验证系统化处于或长期处于临界饱和阶段的稳定性以及性能指标,并试图找到系统处于临界状态时的主要瓶颈点

配置测试:主要用于观察系统在不同配置下的性能表现。

并发测试:在同一时间,同时调用后端服务,期间观察被调用服务在并发情况下的行为表现,旨在发现诸如资源竞争、资源死锁之类的问题

可靠性测试:验证系统在常规负载模式下长期运行的稳定性。

性能测试的四大应用领域

能力验证:验证“某系统能否在 A 条件下具有 B 能力”

能力规划:如何才能使系统达到要求的性能和容量

性能调优:解决性能测试过程中发现的性能瓶颈的问题。通常会涉及多个层面的调整,包括硬件设备选型、操作系统配置、应用系统配置、数据库配置和应用代码实现的优化等等。

缺陷发现:发现诸如内存泄露、资源竞争、不合理的线程锁和死锁等问题

各个应用领域需要用到的测试方法

29 | 聊聊性能测试的基本方法与应用领域_第1张图片

你可能感兴趣的:(测试,服务器,运维,自动化测试,性能测试,性能调优,压力测试)