性能测试定义
性能测试是观察系统在给定的运行环境下,测试场景中系统的性能表现是否符与预期目标一致,评判是否存在性能缺陷,根据结果识别性能瓶颈。
- 运行环境:硬件服务器、操作系统、网络、数据库、web服务器、应用服务器等都为系统的运行环境。
- 测试场景:用户如何使用系统,即是“某个时间段,用户在做什么”;例如12306购票系统,平时:用户购票少,用户购票时间段分散,春运期间:用户多,用户使用时间集中。
性能测试策略
- 负载测试(Load Testing)
模拟改变系统负载方式、增加负载等来发现系统中所存在的性能问题;目的如下:
(1)确定系统所能承受最大用户数、最佳用户数;
(2)关注不同用户数下的系统响应时间及服务器资源使用情况。 - 压力测试(Stress Testing)
模拟大量的虚拟用户向服务器产生负载,使得服务器处于极限状态下长时间运行;目的如下:
测试服务器在高负载情况下,是否能够稳定工作,找出系统链路中存在瓶颈的环节。 - 并发测试(Concurrency Testing)
模拟多个用户并发,访问同一个应用、同一个存储过程、数据记录以及其他类型并发操作;目的如下:
测试并发情况下是否存在死锁、数据错误等异常情况。 - 稳定测试(Stability Testing)
模拟一定数量虚拟用户,运行一种或多种业务,长时间的运行(7*24小时)系统;目的如下:
(1)检测系统长时间运行下,系统稳定性和性能指标是否符合预期目标;
(2)检测系统是否存在宕机、内存泄漏等异常情况。
性能测试指标
1. 响应时间
用户发出请求后,收到响应结果的时间;一般包含了网络传输时间、系统排队时间、系统处理业务时间、数据库操作等时间的和;
2. TPS
单位时间内处理交易的效率,即“每秒处理事务数”,代表系统处理业务能力;
3. 业务成功率
用户操作系统成功与失败交易笔数的比率;
4. VU
virtual user即虚拟用户数,每一个VU代表一个并发用户;
5. 最大用户数
系统能够承受用户同时访问的最大并发数;
6. CPU
包含服务器CPU使用率以及CPU队列长度等资源利用的指标,主要考察CPU使用率情况;
7. 内存
包含内存使用率和内存页交换频率的指标,主要考察内存使用率情况;
8.磁盘
包含磁盘读写大小能力和磁盘繁忙率,根据实际情况主要从这两个维度进行考察;文章来源:https://www.toymoban.com/news/detail-408811.html
性能测试流程
总体性能测试流程如下图所示:文章来源地址https://www.toymoban.com/news/detail-408811.html
- 性能需求分析
(1)性能测试指标:主要分析被测系统指标有哪些?指标值是多少?根据经验判断,调研用户使用情况,参考同行业系统信息等,例如响应时间3秒内,交易成功率99%,资源使用率80%,TPS为3万笔/秒;
(2)性能测试交易:用户使用量大、用户使用比较集中、系统的核心功能等都可纳入性能测试交易范围,例如12306系统的购票交易、淘宝天猫的秒杀活动、双11购物支付场景;
(3)性能测试场景:包含前面提到的测试策略,负载测试、并发测试、压力测试、稳定测试等,还应根据不同被测系统考虑一些异常场景,例如容灾测试、高可用测试等场景;
(4)性能测试环境:包含被测系统的软硬件信息,软件包含使用哪些软件、软件版本信息、软件参数配置等信息硬件包含了硬件操作系统版本、CPU、内存配置,内核参数配置等信息;例如某系统应用软件配置:jdk1.8,硬件配置:Redhat 7.8、CPU8核、内存16G; - 性能测试方案
(1)根据需求分析情况,确定交易范围、指标范围、测试场景、以及测试环境等信息;
(2)根据压测工作内容,进行压测计划进度安排,明确各工作负责人;
(3)性能测试过程将会出现的风险,以及具体风险规避措施; - 性能测试准备
(1)根据方案交易范围,编写交易测试脚本,通过参数化、关联、断言等来强化脚本;
(2)根据交易涉及操作数据库表,进行做表存量数据铺底;
(3)性能测试环境准备,包含了软件安装、应用部署、参数配置、数据库安装等工作; - 性能测试执行
(1)性能测试场景执行,测试结果统计;
(2)测试结果分析,性能调优;
(3)调优验证; - 性能测试报告
(1)根据性能测试方案,描述被测系统测试范围、环境情况、测试指标等内容;
(2)对测试场景执行测试数据分析、量化分析、系统评价等内容,总结测试结论满足预期指标。
到了这里,关于性能测试从入门到放弃(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!