1.性能测试概述和流程
1.1效率特性
主要包括两大方面,时间特性和资源特性
1.2 什么是性能测试
主要关注时间和资源方面的表现,主要做法就是模拟多个用户或者多业务请求者进行对系统进行业务请求
1.3 性能测试的目的
评估当前系统的整体特性,寻找性能瓶颈,优化瓶颈,预测未来系统
1.4 性能测试的注意事项
应该尽早进行,需要团队支持,需要独立的环境,需要定义明确的测试目标
1.5 性能测试分类
基准测试:在一定的软硬件的条件下,模拟单用户访问请求一种或者说中业务.产生基准数据
并发测试:模拟多个用户同时访问统一引应用,模块或者数据
负债测试:通过不断加压,直到资源达到饱和的状态
压力测试:系统一定达到一定的饱和程度,例如资源等处于饱和状态,此时能够处理业务的能力,是否会出错
稳定测试: 在给系统一定压力的情况下,使系统运行一段时间,比如7*24
配置测试:通过调整软硬件的配置和调整,了解各种不同配置对系统的性能影响的程序,从而找到系统的最优配置
1.6 性能测试的指标
并发数: 同时能够处理多少请求
响应时间: 从用户发送一个请求到用户接收到服务器的响应数据之后,这段时间
TPS: 每秒事务数,或者单位时间完成事务的数量
资源利用率: 指的是对不同系统资源的使用程度,通常以占用最大值的百分比来衡量,比如CPU使用率(一般可接受的最高上线为85%),内存利用率(一般最高为90%),等等其他
1.7 性能需求分析
明确被测系统,内容,测试策略,测试指标
a.明确被测系统
a.1 系统架构
a.2 系统要求
开发语言,运行环境(Linux,Nginx,php,mysql)
b.明确被测内容
c.明确测试策略
基准测试,压力测试,负载测试,稳定性测试
d.性能测试的指标
无明确需求指标(需要一起分析,查找相关资料,和类似系统对比,对未来流量的预估,确定性能测试需求的指标)
明确需求指标(具体的指标)
确定性能指标(响应的时间,并发用户数,TPS)
TPS数量(可以根据28 定律,即80%的请求在20%的热点时间去触发的)
资源利用率
1.8 性能测试计划与方案
测试计划
测试目标,人力资源,时间进度,风险
测试目标
登录与支付?
测试人力
计划需要多少人力来进行测试
时间进度
测试用例设计
测试环境搭建
测试数据准备
脚本开发及执行
测试结果分析
风险
列出可能存在的风险
测试方案
测试环境
架构设计,软硬件配置(服务器,数据库),注意(尽量和生产环境移植)
测试工具
性能测试工具,loadrunner(IP欺骗,最近很火)
性能监控工具
Linux ->nmon(安装在Linux,结合loadrunner来使用) -> rpc(安装在Linux,结合loadrunner来使用)
jaisuaiVM(主要监控JAVA程序,监控内存等等)
Spotlight(监控数据库相关的信息)
Windows (Spotlight, perform.EXE)
测试策略
一般的性能测试,稳定性测试(混合业务的场景下)
1.9 性能测试用例编写及执行
按照场景设计分类
-
预期性能指标的测试
-
单业务并发性能的测试
-
混合场景并发性能测试
测试用例设计
测试用例模板
性能测试用例执行
-
脚本编写
-
场景监控设计
-
运行场景
-
监控场景
-
测试报告
压测结果,监控图,性能评估