性能测试
一、性能测试的定义
验证软件的性能是否满足用户需求,通过自动化测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项指标进行测试
二、性能测试的目的
-
评估系统的能力
-
发现性能的瓶颈,优化系统整体性能
-
检测软件中的问题
-
验证稳定性,可靠性
-
验证系统是否能满足到用户提出的性能指标
三、性能测试过程中要注意的问题
从环境,数据,用例,逻辑方面进行分析
-
环境方面
-
测试环境干净,相对独立
-
尽量模拟生产环境
-
负载机配置尽量一致
-
网络稳定,避免网络延迟,波动,抖动
-
数据方面
-
合理的参数化格式,数据要充分
-
数据库数据,模拟真实数量
-
用例方面
-
事务相关接口正确
-
参数、事务设置合理
-
断言正确
-
指标定义正确
-
场景执行策略设置正确
-
逻辑方面
-
事务比例正确
-
线程数大于并发数
-
主要合理延时设置
四、性能测试的分类
-
基准测试
给系统施加较低压力,得到各项指标的数据,作为后期性能测试的参考,对照。
-
负载测试
不断增加虚拟用户数,寻找当前系统环境所能支撑的最大虚拟用户数
-
压力测试
不断向系统施加压力,来确定系统的最大瓶颈
-
并发测试
同时处理某个事务、业务,是否存在死锁或其他性能问题
-
稳定性测试
给系统施加一定压力情况下,运行一段时间,检测系统的稳定性
-
容量测试
通常指数据库层面,目标是获取数据库的最佳的能力
五、性能测试工作流程
-
业务需求分析
-
场景(用例)设计
-
性能指标制定
-
测试准备(机器,数据)
-
脚本开发
-
场景设置
-
监控部署
-
测试执行
-
性能分析
-
性能调优
-
测试报告