性能测试流程分享
Posted 软件测试资源共享站
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能测试流程分享相关的知识,希望对你有一定的参考价值。
【性能测试流程导图】
【执行步骤细化】
阶段 | 执行步骤 | 说明 |
---|---|---|
方案制定 |
文档收集 | 1、系统架构图:被测系统的技术架构,包括从客户端到DB的周转流程、应用服务器、中间件等 2、网络拓扑图:不同层级之间的网络拓扑关系 3、数据库表设计 4、接口文档 |
目的确认 | 1、并发测试:被测系统在一定条件下可承受的最大并发数 2、容量测试:被测系统在一定配置下的最大服务能力 3、配置测试:验证系统在不同配置下的性能表现,为性能调优和扩容提供重要参考 4、验收测试:验证系统是否满足实际业务需要的性能表现 5、确定性测试:验证系统在一定压力下,长时间正常处理请求的能力 6、多节点测试:验证系统在服务集群下的负载均衡能力 |
|
压测场景及性能指标确认 |
例如: 登录(单个接口),最大TPS>4k,压力下平均响应时长<10ms 下单及列表更新操作(多接口),最大TPS>4k,压力下平均响应时长<10ms |
|
测试环境确认 | 1、被测系统环境:FAT(生产环境)、UAT(验收环境)、预发布环境等 2、环境类型:docker容器、虚拟机或者其他类型 3、服务配置:连接数线程、队列、缓存等 4、服务器/DB登录账号、密码,服务部署路径、日志路径等 5、挡板/Mock:某些依赖关系较复杂的系统或者模块,是否需要挡板?如果需要挡板,是来提供? |
|
预埋数据方案确认 | 1、基础数据:比如基础模板数据、用户信息等 2、预埋/铺底数据:根据生产实际的数据量对测试环境的DB进行数据预埋,尽量和生产保持一致或可以等量换算 3、测试数据:数据生成规则,如加解密、随机生成等 4、垃圾数据:每轮测试产生的垃圾数据如何隔离或者清理 5、数据脱敏:如果是在生产环境进行压测,如何进行数据脱敏或者数据隔离防污染策略 |
|
测试准备 | 压测脚本准备 | 编写压测脚本、调试 |
测试执行前确认 | 1、容器:镜像克隆成功,服务部署完成,且完成功能性校验 2、压测机:测试机准备完成,并完成性能测试环境的调试验证 3、工具:相关监控工具等部署设置完成,比如服务器监控工具、DB监控工具等 4、网络:网络连接通畅(如果有防火墙策略,运维同事应在测试方案评审开始前准备完成,并告知相关人员调试验证) 5、数据:基础数据、预埋数据、测试数据准备完成(正确+可用+数据量级达标) |
|
测试执行 |
执行测试 |
1、执行压测、记录数据、记录问题 2、排查、解决、回归问题 |
输出报告 | 1、整理优化的配置项信息及压测数据 2、输出测试报告,包含:压测目的、环境拓扑、环境配置、压测场景、性能指标及描述、测试结论 |
|
测试后续 | 重启服务,还原数据库 | 重启服务,还原数据库,验证服务可用性。 |
性能结果评估 | 根据测试报告,评估是否符合生产要求 |
【可参考的测试结论及其定义】
通过 | 无性能缺陷,且无风险提示 |
---|---|
有限通过 | 存在小缺陷/优化级别缺陷,或有风险提示,但能满足当前生产环境性能要求 |
不通过 | 存在一般、严重、致命缺陷,无法满足生产环境性能要求 |
【可参考的性能缺陷等级及其定义】
等级 |
定义 |
---|---|
致命 | 造成被测系统出现致命性错误的包括但不限于以下情形: 1.内存泄漏、服务崩溃、死锁、死循环、连接泄漏等导致系统不可用; 2.因并发导致的业务逻辑错误、功能不可用等; 3.客户端长时间无响应、异常关闭、句柄泄漏、内存溢出等导致的客户端系统不可用。 |
严重 | 造成被测系统出现严重性能问题的包括但不限于以下情形: 1.系统核心功能的性能测试结果与指标要求偏差>20%; 2.严重影响用户体验,如:客户端操作响应超过8秒等; 3.严重影响系统正常运行的,包括但不限于CPU 使用率>80%、disk busy>80%等; 4.系统核心功能请求响应成功率<100%。 |
一般 | 造成被测系统出现性能问题的包括但不限于以下情形: 1.系统核心功能的性能测试结果与指标要求偏差超过 10%; 2.系统非核心功能的性能测试结果与指标要求偏差超过 20%; 3.影响用户体验,如:客户端操作响应超过4秒等; 4.系统非核心功能请求响应成功率<100%。 |
小缺陷 | 系统非核心功能的性能测试结果与性能测试指标要求偏差超过10%,或与上一版本性能测试结果偏差超过10% |
优化 | 在满足性能指标前提下,有性能优化空间。 |
备注:核心指标包括但不限于:TPS(每秒事务数)、ART(平均响应时间)、并发数、批量业务处理时间等.
以上是关于性能测试流程分享的主要内容,如果未能解决你的问题,请参考以下文章