性能测试设计方案

前言

最近比较多的时间是在做压力测试,也就是常说的压测,而且压力测试也属于性能测试中的其中一个,所以今天总结下性能测试的测试方案。

性能测试分类

常见的性能测试分类一般分为:负载测试、压力测试、稳定性测试
①负载测试(Load Testing):在确定的各种工作负载下系统的性能,目标在负载逐步增加情况下,查看系统各项性能指标的变化情况
②压力测试(Stree Testing):在逐步加压的情况下,观察系统能承受的最大服务级别,即系统能承受的最大瓶颈
③稳定性测试(Stability Testing):增加系统资源占用系统长时间的大并发运行或正常流量的系统访问情况下,能够长期稳定工作的一种能力

测试流程

以压力测试为例进行举例
在这里插入图片描述

性能测试计划

测试目的(清晰明确、无歧义)
测试范围(主要测哪些接口,是单接口测试还是多接口测试)
性能指标(TPS、平均响应时间等指标,可量化)
测试数据(测试的数据以及选择数据的依据)
测试环境(其中包括软件、硬件、网络等)
测试工具和监控工具
风险控制(风险描述、严重级别、如何规避、负责人等)

组建测试团队

也就是在测试整个测试过程中,需要哪些人去配合才能更好完成性能测试,以atype为例,主要有:
产品经理、系统架构师、核心开发工程师、数据分析师、运维工程师、数据工程师

设定性能测试指标

列出性能测试过程中成功的数据指标
1.吞吐量(TPS)
2.平均响应时间
3.系统稳定运行时间要求,一般为(7x24)
4.是否考虑系统支持水平扩容(如加服务器)
5.考虑系统最大容量

性能测试环境建模

基本按照测试环境,这个测试一般按照测试环境与生产环境1:1复制即可,如果不是一样的情况下也可以进行测试,最后明确进行投入的软硬件资源

性能测试工具选择

一般情况下可以选择:Loadrunner、Jmeter、Siege、Apache Bench、自写工具,这里选择:Jmeter,基本掌握一款工具即可。

用例设计思路

测试执行阶段主要包括以下工作:
基准测试
单接口测试
多接口测试
稳定性测试

用例设计

业务流程:流程比较简单不需要做太多分析
使用参数化方式:使用CSV参数化方式
断言内容:主要判断返回的结果是否符合自己想要的结果
加压策略:以50为基准,按每次增加50线程的方式逐步加压
监控方法:添加CPU、TPS插件等方式
日志分析方法:查看日志方式

测试通过标准

测试通过标准一般来自两方面,一方面来自自己所测得出的结果,被测系统是否已经测试到了极限(如:某些资源是否被耗尽,cpu、内存、数据库),另一方面来自以往测试结果,所以每次测试完成后必须出一份测试报告,并走邮件,方便下一次可以做比较,原则为此次测试结果比以往测试结果更好即可,还有一方面来自团队间相互讨论得来的结果,大家有一个共识(这个需要做一定的评估)

常见瓶颈

在测试中,常见的瓶颈有CPU资源耗尽、系统内存耗尽、Swap内存被占用、I-O存在排队、响应时间过长、虚拟机内部占用内存情况

猜你喜欢

转载自blog.csdn.net/weixin_43044440/article/details/106288080