如何做好性能测试_流程篇

    性能测试阶段划分为需求阶段、测试准备、测试过程和测试结束四个阶段。根据个人性能测试经验,经常会出现某个过程的某些检查点遗漏而导致返工造成工作量浪费的浪费,进而影响测试进度。这里总结一下每个测试阶段关注点。

需求阶段

  1、了解性能测试需求背景。需要先搞清楚为什么要进行本次性能测试需求。通常进行性能测试常见有以下几种:

    (1)逻辑复杂且用户使用较多的新需求;

    (2)核心功能逻辑变更或者增加处理逻辑可能影响性能;

    (3)重现生产问题需要压测性能;

    (4)生产需要替换新硬件,需要获取新硬件业务性能指标;

    (5)生产环境需要扩容,了解现网环境指标。 

 2、评审性能测试需求方案,明确性能测试需求。

    (1)测试硬件环境要求。主要包括服务器型号、CPU个数、内存大小、磁阵型号。

    (2)测试软件要求,包括操作系统类别和版本、Oracle版本、业务版本、JDK版本、中间件版本。

    (3)确业务模型。主要包括总TPS数、是单一场景还是混合场景压测,混合场景各各业务的TPS值分别是多少。

    (4)数据模型。主要包括用户模型(注册用户数、活跃用户数、非注册用户数、不同层级用户数等)、交易历史记录表数量<特别是查询历史交易记录性能>及其他关键大表。

    (5)数据收集要求,是否有无特别要求。主要包括TPS、成功率、响应时间。其他可能会要求TPS数和资源消耗的曲线图。

    (6)测试测试交付件。主要包括性能测试报告、性能测试过程记录截图等。

    (7)测试组网。是单网元还是负载均衡。

    (8)测试工具。是否有特殊工具的要求、是否需要License、是否需要新开发测试套,谁负责提供

  3、评估测试工作量。除了任务本身工作量外,需要考虑依赖测试资源的到位时间点。

  4、输出性能测试策略和测试计划并评审。评审角色要求项目经理、测试经理和开发一同评审。

准备阶段

  1、检查操作系统版本、orace版本、JDK版本、中间件版本。

  2、调整操作系统内核参数与生产环境保持一致。

  3、调整Oracle核心参数与生产环境保持一致。包括Oracle SGA大小、processes/sessions数、大内存页设置、redo文件大小、temp/system表空间大小等

  4、检查文件系统规划和oracle数据文件规划是否与生产环境一致。特别注意的是oracle数据文件通常是在磁阵上。

  5、检查文件系统空间和oracle数据表空间大小。特别是写文件空间和业务插数据表空间。

  6、检查影响性能的业务核心参数与生产环境一致。比如线程数、JVM大小、静态控制参数等。

  7、导入业务数据,调试业务功能成功。参数化数据第1个、中间、最后1个调试业务全部成功。

  8、关闭所有业务环境的debug日志打印,清理log和temp文件以及性能统计文件。

测试过程阶段

  1、检查压测工具发起TPS数、测试工具是否有错误日志。

  2、检查业务环境是否有错误日志。

  3、检查环境消息队列是否正常接收和处理,是否有不断堆积接收消息。

  4、检查业务环境接收处理TPS是否与测试工具发起一致。

  5、检查业务处理消息成功率,通常要求100%。

  6、检查业务处理响应时间分布情况。

  7、检查服务器资源消耗情况,主要是CPU、内存和IO资源消耗。业务不同,资源瓶颈不同。

  8、记录测试过程数据,包括参数调整、发现的问题、TPS及对应资源消耗收集(CPU、内存、IO)、响应时间、成功率等。

  9、所有上述检查项处于正常范围后,可进行持续压测至少30分钟进行数据收集(TPS及对应资源消耗收集(CPU、内存、IO)、响应时间、成功率等)

 测试结束阶段

  1、所有测试用例已执行完成,测试结果达标。如果不达标,已分析出结论。

  2、测试过程参数调整已确认、发现问题已提单并完成处理。

  3、测试报告按照模板或者指定要求完成输出。

  4、确认测试环境是否保留及保留时长。如不需保留,清理恢复测试环境。

转载于:https://www.cnblogs.com/linyfeng/p/8107819.html

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、付费专栏及课程。

余额充值