性能测试概述
性能测试基本概念
一、性能测试策略:
1.负载测试——load testing
-在一定的软件、硬件及网路环境下,通过改变系统负载方式、增加负载等来发现系统中所存在的性能问题
-用于确定系统所能承载的最大用户数、最佳用户数;关注不同用户数下的系统响应时间及服务器的资源利用率
2.压力测试——stress testing
-在一定的软件、硬件及网路环境下,通过模拟大量的虚拟用户向服务器产生负载,使服务器的资源处于极限状态下长时间连续运行
-目的测试服务器在高负载情况下是否能够稳定工作,找出系统最薄弱的环节
3.并发测试——concurrency testing
-通过模拟多个用户并发访问同一个应用、同一个存储过程或数据
记录以及其他并发操作
-测试是否存在死锁、数据错误等故障
4.稳定性测试——stability testing
-在一定的软件、硬件及网络环境下,模拟一定数量虚拟用户运行一种或多种业务,长时间的运行(7*24小时)系统
-目的是检测系统在长时间运行下的稳定性和性能相关指标是否符合预期
二、关键性能测试指标:
1.响应时间:response time
2.CPU:CPU使用率,CPU队列长度
3.内存:内存使用率,内存页交换频率
4.磁盘:磁盘使用率,磁盘队列长度
5.单位时间处理效率(TPS)
6.业务成功率:用户操作成功、失败比率
7.最佳用户数,最大用户数
三、性能测试的特点:
用户量大、并发性强、测试运行时间比较久
四、性能测试工具:
1.HP
LoadRunner:商用软件
2.Apache
Jmeter:开源
3.IBM RPT:
五、性能测试核心原理:
1.基于协议
2.多线程:一个线程一个用户
3.任务调度
六、性能测试的流程:
1.应用系统分析
a.分析被测系统的性能测试点
-用户量大、用户使用比较集中、
大数据量、系统核心功能考虑性能测试的
b.熟悉性能测试点使用流程和场景
c.性能测试有哪些指标?指标值是多少?
-响应时间、业务成功率、硬件资源占用率
如果没有明确规定:
-参考竞品、调研用户、依赖于以往的经验-参考竞品、调研用户、依赖于以往的经验
2.性能测试计划:
a.明确测试范围
b.测试资源、如何准备
c.性能测试的工作有哪些、进度安排、负责人
d.性能测试的策略:测试的设计工作,如何完成
e.性能测试的风险
f.性能测试的输出物
3.书写用例:
-脚本用例:明确开发哪些脚本,如何去开发脚本
-场景用例:场景就是知道性能测试执行的,要测试哪些用户场景
4.创建和优化脚本:
5.创建场景:
6.运行场景:
7.分析测试结果:分析不通过要调优
8.测试结束: