一、性能测试人员级别划分,以及职责
1、初级性能测试:编写脚本
2、中级性能测试 :场景设计、环境搭建(服务环境、监控环境、网络环境)、性能测试执行、一部分性能分析与调优
3、高级性能测试: 脚本编写、环境、场景设计、性能测试执行、性能分析与调优(重点)
二、入门前先抛出一个问题:需求文档中,有一个性能测试需求,你怎么动手?
1、怀疑需求--因为产品经理不一定懂性能测试,因此需求的准确性是要打问号的;
2、确认需求--通过运维的线上数据(日均访问量,在线用户数);
3、性能概念--从运维得到的数据来确认需求对象,通过与产品PK,确认性能测试的目标;
4、编写脚本--是对业务操作的程序化体现,一个脚本一般为一项业务的过程描述;
5、场景设计--模拟用户的使用场景,比如:点餐系统,高分期主要集中在11:00-13:00和17:00-19:00,大概就是两个脉冲;
6、搭建环境--测试环境搭建和被测服务器环境搭建;
7、搭建监控--监控后台资源使用情况;
8、性能测试执行
9、性能分析与调优--有的调优测试可以做,比如:测试服务器的系统配置
三、性能概念
1、什么是性能测试
(1)负载测试:逐步增加并发用户数,来找出我们最大并发用户数区间(每一段并发用户数,持续运行时长,一般只要几十秒到几分钟)
--怎么判断是最大并发用户数区间?====最大可接受的并发用户数
(1)看请求的结果**是否有连续性**报错出现
(2)平均响应时间(在当前并发用户数时的平均响应时间) 不超过1.5s(1.5s只是,我们行业里面,用户满意、用户能接受的响应时间定位1.5s APDEX用户满意度指数)
(3)tps趋势,是否有明显下降
(2)压力测试:使用一定量的并发用户数(较大性能压力下),持续运行一段时间,看系统服务以及各个资源使用情况
--持续运行一段时间(现在一般小时为单位,以前以天为单位:7X24h)
--一定量并发用户数 产品的最大可接受的并发用户数 20% 80%并发数
(3)性能测试:并发用户数从某个区间取值找到准确指标值,这个阶段叫做性能测试(只需要执行几分钟到小几十分钟)
--一般先做负载测试,确定最大并发数的区间后,再做性能测试
(4)可靠性测试:在给定一定的业务压力下,持续一段时间,查看系统是否稳定
--与压力测试基本相同,只是在并发用户数上小于压力测试的并发用户数
(5)容量测试:在一定的软、硬件条件下,在数据库不同数量级数据量的情况时,对系统中读/写比较多的业务进行测试,从而获得不通数据量级下的性能指标
思考:
情景一:企业中说,要你做一个压测,这里的压测是什么意思?
答:是需要你去得到一个性能指标值,怎么做?
(1)你知道用多少并发用户数吗? ------负载测试
(2)最大可接受的并发用户数做性能测试是多少?------性能测试
通过两个步骤才能得到性能指标值
情景二:如果领导,环境有宕机情况,需要你去做一个压测,看是什么问题,这里的压测又是什么意思?
答:压测:负载测试 + 性能测试(10min-30min) + 压力测试(7x24小时)
2、性能测试前提
(1)确认需要做性能测试的场景:
a、核心功能
b、用户使用量最多
c、架构调整
d、重大缺陷修复
(2)性能指标量化,产品出现需求,不一定专业,需求性能指标一定要量化为数字:
a、多少并发用户数
b、平均响应时间多少以内
c、错误率多少以内
d、资源利用率 在以内
e、tps要能达多少
。。。
3、性能测试的目的是什么?
目的:寻找或证明系统的某些关键性性能指标
(1)全新系统,从未做性能测试--寻找关键的性能指标值
(2)非全新系统基于已有的性能测试基础上,再次做性能测试--验证预定的性能指标值
未完待续,点个关注,持续更新。。