1.熟悉项目的功能模块和技术架构
2.性能需求分析
关注系统对特定业务场景测满足程度(时间,资源)
- 客户方提出(可以是甲方,也可以是产品):能够明确提出需求的一般是金融、银行、电信、医疗相关的行业软件;提示,需要评估需求的合理性
- 根据历史数据分析(根据软件在运行过程中的运营数据来计算出应该达成的性能指标):日活,初步评估稳定性负载;峰值,初步评估压力负载。
- 通过分析历史运营数据收集用户信息:注册用户数、日活、月活,计算用户的增长速度;每月,每周,每天的峰值业务量是多少;用户频繁使用的功能模块是哪些
3.掌握如何进行性能测试点的提取
- 用户频繁使用的业务功能:从功能的使用频率分析(基于运营数据),如搜索商品,加入购物车
- 非常关键的业务功能:从功能的重要程度分析(核心业务功能),如加入购物车,下订单
- 特殊交易日或峰值交易的业务功能:如双11
- 核心业务发生重大调整的业务功能:核心业务流程发生修改
- 资源占用非常高的业务功能:CPU,内存(商品信息非常多,搜索商品),网络(响应数据量大)等资源占用
4.掌握性能测试计划包含的主要内容
- 测试背景:背景介绍
- 测试目的:需求分析阶段确定的项目需要达成的性能目标
- 测试范围:需求分析阶段确定的性能测试点
- 测试策略:结合测试范围,考虑用什么样的方式(场景)进行测试,可以达成对应的测试目标
- 风险控制:管理型分析(从技术,人员,时间,进度各个方面考虑可能会出现的问题及如何解决这些问题)
- 进度与分工:说明性能测试工作分为哪几个步骤进行,每个步骤的开始/结束时间,及对应的负责人
- 交付清单:对应进度安排中每个阶段的阶段产物
5.掌握如何编写测试用例
6.熟练掌握如何编写Jmeter测试脚本
7.知道如何建立性能测试环境
8.掌握如何执行测试脚本
9.掌握性能测试监控关键指标
10.知道如何进行性能测试瓶颈分析
11.知道如何进行调优
- CUP过高
(1)CPU分为用户CPU和系统CPU
a.综合其他的各项资源指标来分析,内存、磁盘IO、网络等指标无任何异常,因此此处不是系统CPU占用高
b.主要原因是用户进程占用的CPU高
c.目前CPU占用高的为数据库服务器,而数据库服务器主要的任务就是执行SQL语句
(2)数据库服务器CPU高,可能的原因是SQL执行时间太长,SQL语句过多
a.确定SQL的执行时间是否过长:查看慢查询日志,看看是否有超过预期指标的SQL语句,并分析排查
b.确定SQL语句是否过多:查看当前数据库中正在执行的SQL语句及连接池的状态,发现大量SQL在等待执行 - TPS较低
(1)带宽较低
a.增加带宽(带宽便宜)
b.分析进入商品详情是的数据传送内容,是否有可以精简的内容;或者是可以异步传输
12.掌握性能测试报告包含的主要内容
- 简介
- 测试目的
- 测试范围(重点)
- 测试时使用的工具和环境
- 性能测试的问题及分析过程(重点)
- 给出结论(测试通过/通不过)