ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

性能测试:性能测试分类

性能测试:性能测试分类 性能测试性能测试分类文章目录性能测试性能测试分类1. 基准测试2. 并发测试并发测试的特点3. 负载测试3.1 负载测试的过程3.2 举重的例子3.3 负载测试案例4. 压力测试4.1 压力测试的过程4.2 压力测试和负载测试的区别5. 稳定性测试6. 总结这篇博客是从这篇博客的内容中分离出来的用来介绍性能测试的。上一篇博客 测试(12) - 性能测试概念篇如果你没有看过上一篇博客推荐看到上一篇博客中这篇博客的链接后再点击那个链接进来看这篇博客。常见的性能测试类型包括基准测试并发测试负载测试压力测试稳定性测试下面分别介绍。1. 基准测试基准测试Benchmark Testing又称单用户测试基准测试主要用于监测被测系统在较低压力下的运行情况并记录相关数据。当性能测试环境确定之后通常会选择业务模型中的重要业务进行基准测试。给系统施加一定压力然后获取系统在单用户运行情况下的各项性能指标。这些数据可以作为后续多用户并发测试混合场景测试的参考依据。简单来说先让一个用户或者较低压力运行系统得到一个“基准值”然后再进行后续性能测试。2. 并发测试并发测试Concurrency Testing用于评估多个用户同时执行某些操作时系统的性能表现。例如多个用户同时登录系统 或者 多个用户同时操作某一个功能。通过并发测试可以获取系统在多用户并发操作情况下的性能指标。同时还可以发现并发情况下容易出现的一些问题例如内存泄漏线程锁资源争用数据库访问错误数据写入错误例如多个用户同时访问某一条件数据或者多个用户同时更新数据就有可能发现数据库访问错误写入错误等问题并发测试的特点几乎所有性能测试都会涉及一些并发测试。但是并发测试对于并发发生的时间要求比较严格。因此通常需要借助专门的性能测试工具通过多线程多进程等方式模拟多个虚拟用户同时操作系统。3. 负载测试负载测试Load Testing是性能测试的一种类型。它主要用于评估被测系统在预期的不同负载下的行为。负载测试重点关注系统处理不同负载的能力。这些负载可以通过控制并发用户数量进程数量等方式实现。3.1 负载测试的过程进行负载测试时可以不断增加系统的并发访问负载然后持续监控系统性能变化。直到系统某一项或者多项性能指标达到安全临界值。最终确定在满足安全性能指标的前提下系统能够承受的最大负载量。简单来说负载测试就是不断增加负载找到系统能够正常工作的最大负载。结合并发用户、系统吞吐量、系统响应时间之间的关系图来看负载测试就是找系统的临界值达到最大吞吐量的点3.2 举重的例子负载测试可以类比成举重运动。一开始给运动员10kg然后逐渐增加20kg → 30kg → 40kg → 50kg……直到找到在身体状态保持正常的情况下运动员能够举起的最大重量。负载测试也是类似的。不断增加系统负载直到找到系统在满足性能要求的情况下能够承受的最大负载。3.3 负载测试案例假设一个软件系统要求响应时间不能超过 2 秒。现在不断增加用户访问量。当访问量超过1 万人之后系统响应时间超过了 2 秒。那么就可以确定在响应时间不超过 2 秒的前提下该系统能够承受的最大负载量约为 1 万人。负载测试可以用于系统性能验证性能诊断性能调优4. 压力测试压力测试Stress Testing主要用于评估系统在高于预期负载、高于指定容量或者资源不足情况下的表现。压力测试关注的是系统处理超出预期或者达到特定峰值负载的能力。同时也可以用于评估系统在资源不足情况下的处理能力。例如计算能力不足带宽不足内存不足4.1 压力测试的过程进行压力测试时通常会逐步增加系统负载。让系统中的某些资源达到饱和甚至失效。这样就可以发现一些只有在高负载情况下才会出现的问题例如同步问题内存泄漏系统性能急剧下降系统崩溃压力测试找到使系统崩溃的最大并发数。通过压力测试还可以找到系统性能拐点找到系统能够提供的最大服务级别评估系统峰值负载下的处理能力评估系统超过最大负载后的处理能力压力测试主要用于性能诊断性能调优容量规划4.2 压力测试和负载测试的区别测试类型主要目的负载测试找到满足性能指标要求时的最大负载压力测试找到系统能够承受的极限所以负载测试关注“还能不能正常工作”压力测试关注“什么时候到极限系统崩溃”。可以简单记忆负载测试找到“正常工作的最大值”。压力测试找到“系统的极限系统崩溃”。结合并发用户、系统吞吐量、系统响应时间之间的关系图来看我们看横坐标Server Resource[0 ~ Cx)就是负载测试的过程找系统的临界值达到最大吞吐量的点[Cx~ Dx]就是压力测试的过程找到使系统崩溃的最大并发数。5. 稳定性测试稳定性测试是在负载测试的基础上进行较长时间的测试。主要目的是检查系统长时间运行情况下的稳定性。例如系统在正常负载下运行 1 小时可能没有任何问题。但是运行10 小时、20 小时甚至更长时间之后可能出现内存不断增长响应时间逐渐增加系统资源不断消耗系统最终崩溃因此需要通过长时间运行来发现这些问题。通常来说较长时间一般指 3 × 24 小时以上。也就是72 小时以上。6. 总结常见的性能测试类型包括基准测试先让一个用户或者较低压力运行系统得到一个“基准值”然后再进行后续性能测试。并发测试获取系统在多用户并发操作情况下的性能指标。负载测试负载测试就是不断增加负载找到系统能够正常工作的最大负载就是找系统的临界值达到最大吞吐量的点压力测试系统处理超出预期或者达到特定峰值负载的能力。即 找到使系统崩溃的最大并发数。稳定性测试负载测试的基础上进行较长时间的测试检查系统长时间运行情况下的稳定性。最后如果这篇博客能帮到你的请你点点赞有写错了写的不好的欢迎评论指出谢谢回到性能测试博客测试(12) - 性能测试概念篇
返回列表