性能测试包含哪些-流程,测试大D佬详细讲解

一、前言

一个系统的架构,各服务器之间是如何交互工作、系统的数据流向、系统的压力点,从而确定性能测试需求和指标,即那些功能需要考虑压力,能承担的压力是多大

性能测试的目的是发现系统处理能力的瓶颈而系统调优才是最终的目的,如果能进一步提高各业务服务器、数据库服务器的调优技能,对性能测试工作来说是如虎添翼

比如一个购物网站,最典型的登陆功能、提交订单功能需要支持多少个用户并发,每个并发用户在几秒之完成操作,系统长时间在压力状态下的稳定性

二、准备工作

在什么阶段开展性能测试工作?一般情况下,是在被测系统已完成功能测试、系统趋于稳定的情况下,才会进行性能测试

1、组建测试团队

根据被测系统的实际情况,组建一个性能测试团队,团队成员包括:开发人员、运维人员、DBA和测试人员等

2、性能需求调研

性能需求调研工作一般是有性能测试人员负责,产品经理、开发人员、运维人员配合完成

调研系统线上环境的性能需求,包括性能需求、可靠性需求、可维护性需求等

调研系统相关信息,如硬件参数配置、系统架构与部署方式等

调研业务场景信息,如关键业务逻辑与处理流程、交易列表、交易量信息、业务分布规律等

3、工具的选择

综合系统设计、工具成本、测试团队的技能来考虑,选择合适的测试工具

压测工具:JMeter、Loadrunner、Locust等等

监控工具:nmon、lepus、jvisualvm、prometheus、grafana等等

三、测试计划
1、分析性能测试背景

根据对项目背景和业务的了解,确定本次性能测试要解决的问题点

常见的情况有:

  • 对于一个新系统,需要测试系统的承受能力
  • 对于运行中的系统不能满足实际的需求,需要确定性能瓶颈
  • 增加了新的业务,需要重新评估系统的承受能力
  • 系统架构进行了调整,需要重新评估系统的承受能力
2. 分析用户场景

根据对系统业务、用户活跃时间、访问频率、场景交互等各方面的分析,整理业务场景,为测试脚本开发提供依据

3、确定性能目标

针对具体的业务功能点,制定期望的性能目标。其中需要和其他业务部门进行沟通协商,以及结合当前系统的响应时间等数据,确定最终我们需要达到的响应时间和系统资源使用率等目标

4、制定性能测试实施计划

根据项目组的时间安排,计划本次性能测试的起止时间、参与人员、产出物等等

四、性能测试设计
1、测试环境设计

不同的软件和硬件配置会制约系统的整体性能,所以需要部署多个不同的测试环境,在不同的硬件配置上检查应用系统的性能,并对不同配置下系统的测试结果进行分析,得出最优结果。需要重点关注有数据库服务器、应用服务器、软件运行环境

2. 测试场景设计

根据被测系统的业务特性,并通过和业务部门沟通以及以往用户操作习惯,确定用户操作习惯模式,以及不同的场景用户数量,操作次数,确定测试指标,以及性能监控等

3、测试用例设计

根据设计的测试场景,编写测试用例
用例的核心内容包括:用例编号、用例标题、前置条件、操作步骤、测试数据、预期结果、实际结果等等

4、编写测试脚本

根据测试用例和选择的工具,准备测试数据,编写测试脚本

五、性能测试执行

1、部署测试环境一般由运维或开发人员进行环境的部署,并进行资源协调

2、执行测试脚本在已部署好的测试环境中,按照业务场景和测试用例,按顺序执行我们已经设计好的测试脚本

3、性能监控和记录根据选择的测试工具和监控工具,在压测的过程中对各项性能指标进行监控和记录

六、性能测试分析

分析不同的测试环境下,硬件设备的性能指标与预期的性能指标进行对比,确定是否达到了我们需要的结果。针对没有达到预期的指标,分析具体的瓶颈点

分析不同的测试环境下,分析应用服务器、数据库服务器、中间件等组件的性能指标

在性能测试执行过程中,可能会发现某些功能上的不足或存在的缺陷,以及需要优化的地方

七、性能测试调优

确定问题:根据性能分析的结果确定存在的性能问题

分析问题:根据确定的问题进行具体详细的分析出现问题的原因

确定调整目标和解决方案

测试解决方案:对调优后的系统再次进行测试
分析调优结果:分析调优结果是否到达了预期目标

八、性能汇总与报告

对性能测试的过程和结果进行汇总
编写性能测试报告

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

  • 17
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 综述 1.1 什么是性能测试 检验系统的性能是否符合要求的测试。包括压力测试、负荷测试、可靠性测试、稳定性测试...... 1.2 性能测试包括哪些方面的测试 速度:服务响应速度 容量:最大支持用户数 可靠性:高负荷运行、长时间运行 1.3 性能测试的目的 (举例) 测算系统的性能指标 查找系统的性能瓶颈 给出较适合的软硬件配置方案 检验硬件配置能否满足客户要求 系统调优(硬件调优、数据库调优) 出一份报告给客户看 1.4 性能指标 (举例) 平均响应时间(秒) 成功率(%) 系统最大处理能力(请求/秒) 系统支持的最大并发用户数 系统预期响应时间(秒) 1.5 性能测试过程 确定目的 设计方案 测试实施 数据分析 2 性能测试过程详述 2.1 确定目的 2.1.1 如何确定测试目的 问主管 问项目经理 问市场人员 问客户 看需求规格说明书 看系统设计文档 靠经验 2.1.2 确定分析方法 需要收集哪些数据 由这些数据怎样分析出测试目的 2.1.3 注意事项 并非所有目的都是合理的(典型例子:测一下所有用户同时点击某个功能) 要找到真正的目的,而不是光问出一句话,有时候,一个人说的并不是他真正要的 各种方法所收集到的目的很可能是不同的,要综合分析,并与相关人员确认 2.2 设计方案 2.2.1 选择具有代表性的功能 最常用的 最耗资源的 2.2.2 设计测试环境 各台机器软硬件配置 系统的各个程序运行在哪台机器上 2.2.3 选定测试工具 通常是选用现成的测试工具,例如loadrunner,但也可能需要自己编写 2.2.4 设计测试步骤 系统运行的步骤 测试数据(界面输入的数据,数据库表中的记录数、索引情况) 2.2.5 确定要记录的原始数据 由测试目的决定 举例: 成功次数、失败次数 测试总时长 CPU占用率(平均、最大) 内存占用 磁盘I/O 2.2.6 注意事项 一般来说,系统的各个程序运行在哪台机器上,在这个阶段可以初步确定,但在测试实施阶段可能还要作出调整 确定数据库表的记录数时,采用从严的原则,在客户实际使用可能产生的数据量的基础上乘以1.5到10倍 确定需要记录哪些原始数据时,采用从宽的原则,即不确定是否需要时,尽量记录下来 2.3 测试实施 2.3.1 搭环境 2.3.2 运行测试工具,记录原始数据 2.3.3 对原始数据进行初步分析 根据成功、失败次数确定本组数据是否有效(成功率大约95%,成功次数大于20) 根据成功、失败次数确定是否需要调整一组数据的测试时长 根据数据的发散情况确定本组数据是否有效 根据前后数据的对比确定本组数据是否有效 根据前后数据的对比确定是否需要在同样情况下再次测试 根据CPU占用率确定下一步的负荷 ...... 2.3.4 重复上面2步 2.4 数据分析 根据原始数据计算出性能指标,对当初确定的目的作出一个结论 3 性能测试的误区 做性能测试主要就是测试工具的使用 测试工具可以自动生成我所需要的报表 我做不好性能测试,是因为对测试工具不熟悉 4 常见问题 主管要我做性能测试(或压力测试、负荷测试),我该怎么办? 我用工具测了一些数据出来,我要怎样分析?我们的系统到底性能怎么样?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值