【性能测试】4_性能测试基础 _流程(重点)

文章目录

  • 一、如何开展工作
  • 二、性能测试流程
    • [2.1 性能测试需求分析](#2.1 性能测试需求分析)
    • [2.2 性能测试计划及方案](#2.2 性能测试计划及方案)
    • [2.3 性能测试用例](#2.3 性能测试用例)
    • [2.4 建立测试环境](#2.4 建立测试环境)
    • [2.5 测试脚本编写/录制](#2.5 测试脚本编写/录制)
    • [2.6 执行测试脚本](#2.6 执行测试脚本)
    • [2.7 性能测试监控](#2.7 性能测试监控)
    • [2.8 性能分析和调优](#2.8 性能分析和调优)
    • [2.9 性能测试报告总结](#2.9 性能测试报告总结)

一、如何开展工作

yacas 复制代码
思考:为什么要掌握性能测试流程?
解答:功能测试需要按照流程来推进, 性能测试也同样, 一套完整的测试流程是一次成功性能测试的基石

软件测试工程师,初入职,如何开展工作:
1、部署环境(工作环境)
2、了解项目需求
    -约产品经理讲解
	-约测试主管
	-约项目组经验丰富的同事
3、了解项目的进度
4、了解自己所负责的测试内容,梳理自己工作计划

二、性能测试流程

yacas 复制代码
1. 性能测试需求分析
2. 性能测试计划及方案
3. 性能测试用例
4. 建立测试工具环境(项目环境早在功能测试之前已经搭建好)
5. 测试脚本编写/录制 
6. 执行测试脚本
7. 性能测试监控
8. 性能分析和调优
9. 性能测试报告总结

提示: 使用不同的性能测试工具时, 主要流程是不变的

2.1 性能测试需求分析

说明: 性能需求分析是整个性能测试工作开展的基础, 性能需求分析做的好不好直接影响到性能测试的结果。

性能需求分析的目标:

1、明确被测系统

yacas 复制代码
- 熟悉被测系统的业务功能
- 熟悉被测系统的技术架构

2、明确性能测试内容

yacas 复制代码
从业务角度明确测试内容
- 确定关键业务。 即:用户使用频率较高的业务功能。

从技术角度明确测试内容
- 如:通常逻辑复杂度较高的业务也是CPU密集运算较大的地方,考量服务器CPU在预定性能指标下是否达标.
- 如:通常数据量较大的业务很占用系统内存,考量服务器内存在预定性能指标下是否达标。

3、明确性能测试策略

yacas 复制代码
- 基础测试 
- 负载测试
- 稳定性测试
- ·········根据实际系统的业务,分析是否需要并发测试、压力测试等。

4、明确性能测试指标

yacas 复制代码
无明确需求指标:
- 通过查找相关资料,和类似的系统对比,以及对未来流量的预估,确定性能测试需求的指标。

有明确需求指标:
- 只需要根据执行分析结果与预期指标做对比,如果有不满足的,就需要分析问题所在。
  ------例如, 类似如下指标
	•下订单业务并发20个用户
	•平均响应时间要小于等于3s
	•事务成功率为100%
	•CPU使用率小于等于85%

2.2 性能测试计划及方案

说明: 性能测试实施第一份文档, 也是最重要的一份文档 。

从模板内容来说,与功能测试基本一致,主要就是写清楚测什么、谁来测、怎么测。

yacas 复制代码
1. 项目背景---------简介
2. 测试目的
3. 测试范围---------对于需求分析中的性能测试内容
4. 测试策略---------对应于需求分析中的测试策略
5. 风险控制---------技术风险、人力风险
6. 交付清单---------每个阶段的产出物
7. 进度与分工-------谁在什么时候做什么事
1.测什么 2.谁来测 3.怎么测
项目背景 进度与分工 测试策略
测试目的 交付清单
测试范围

2.3 性能测试用例

要素:用例标题、用例编号、用例描述、用例前置条件、用例步骤和预期结果、用例实际结果。

(实际结果:需要监控的各项性能指标)

2.4 建立测试环境

1、在进行性能则试之前,需要先完成性能 测试工具 环境的搭建工作。

2、部署性能测试 使用的 项目环境。

  • 要求:硬件、软件、网络 必须与线上环境完全一致。(一般情况下可以要求运维和开发工程师协助完成 )
  • 一部分项目,直接使用线上环境展开性能测试

2.5 测试脚本编写/录制

说明: 性能测试用例编写完成以后, 接下来就需要结合用例的需要, 进行测试脚本的编写工作。

提示: 录制或编写, 根据不同的工具要注意代码冗余。

注意:没有能力写脚本的人,才会进行录制,极力不推荐使用脚本录制。

2.6 执行测试脚本

说明: 先保证脚本调试通过之后, 才能进入正式压测阶段。

执行测试脚本时, 要先进行性能运行场景的设置, 再运行脚本。

2.7 性能测试监控

性能监控就是监控服务器的各项性能指标。 例如: 监控CPU、 内存、 网络、 TPS、 磁盘IO等

结合工具+命令来监控。

2.8 性能分析和调优

说明:性能测试分析人员经过对结果的分析以后,如果不符合性能需求,则会提出性能bug,然后由开发人员进行后续的调优。

提示:

  • 调优--开发人员为主导,运维工程师(系统工程师、网络工程师)、DBA(数据库管理员)、性能测试分析人员配合进行。
  • 验证--性能测试人员继续进行第二轮、第三轮......的测试,与以前的测试结果进行对比,从而确定经过调整以后系统的性能是否有提升。
yacas 复制代码
系统调优由易到难的先后顺序如下:
1. 硬件问题(CPU、内存、硬盘)
2. 网络问题
3. 中间件(应用服务器)、 数据库等配置问题
4. 源代码、 数据库脚本问题
5. 系统构架问题

2.9 性能测试报告总结

测试报告是对性能测试工作的总结,为软件后续验收和交付打下基础。

性能测试总结要包含以下内容:

  1. 生成的性能测试报告图表(以 图 和 表 为主)。
  2. 体现测试过程中,出现性能瓶颈的位置、原因、解决的思路、调优的方法。
  3. 当前项目在测试过程中的风险如何处理,未来项目存在哪些性能风险。
  4. 总结项目测试过程中的经验和教训,以备后续项目反复出现!
yacas 复制代码
测试报告的主要内容:
- 测试工作的经过回顾
- 缺陷分析和调优
- 风险评估
- 性能测试结果
- 测试工作总结与改进
相关推荐
测试19987 小时前
Jmeter性能压测:TPS与QPS
自动化测试·软件测试·python·jmeter·测试用例·压力测试·性能测试
脑叔5 天前
opencode多会话并行测试:同时运行build/plan Agent性能评估
性能测试·ai编程助手·多会话并行
程序员小远12 天前
系统性能指标全解析
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·性能测试
学代码的真由酱13 天前
Java文档搜索引擎-测试报告
java·自动化测试·功能测试·搜索引擎·性能测试·测试报告
Python-AI Xenon19 天前
Linux逻辑卷(LVM)初始化与文件系统选型全指南
linux·运维·性能测试·存储
安畅检测齐鲁物联网测试中心24 天前
国产化项目验收测评,如何才算真正过关?
性能测试·兼容性测试·安全测试·国产化项目·验收测评
测试19981 个月前
性能测试方案设计的方法和思路
自动化测试·软件测试·测试工具·jmeter·测试用例·压力测试·性能测试
安畅检测齐鲁物联网测试中心1 个月前
信创产品性能测试怎么做才能通过验收
性能测试·信创产品·验收标准·业务负载·混合测试
twc8291 个月前
从架构视角梳理全链路压测的核心业务链路
java·大数据·软件测试·架构·性能测试·全链路压测