当前位置: 首页 > news >正文

聊聊使用场景法进行性能测试

目录

使用场景法进行性能测试

一、需求分析

二、创建测试场景

三、确定测试数据

四、 构建测试环境

五、开发测试脚本

六、 执行初步测试

七、 逐步增加负载

八、 分析结果

九、优化和迭代

十、最终测试

十一、 报告和总结

在进行场景性能测试时,首先我们需要分析用户在实际使用中有哪些部署方式,

在业务负载方面,在场景性能测试中,我们还需要尽量模拟用户真实业务的负载特点。

1.性能测试场景的设计方法

2.性能测试场景设计方法(教科书版)


使用场景法进行性能测试

场景法在性能测试中是一种非常有效的方法,它模拟真实用户在系统上的行为。这种方法不仅评估了系统的响应时间和吞吐量,还检查了系统在各种负载下的稳定性和可靠性。以下是使用场景法进行性能测试的一般步骤​

一、需求分析

理解业务需求和关键操作流程。

确定关键的性能指标,如响应时间、吞吐量、并发用户数等。

二、创建测试场景

根据需求分析的结果,设计出代表典型用户行为的测试场景。

这些场景应该覆盖主要的功能点和业务流程。

三、确定测试数据

准备测试数据,确保数据的准确性和多样性,以反映真实用户的使用情况。

四、 构建测试环境

确保测试环境与生产环境尽可能相似,包括硬件、软件、网络配置等。

五、开发测试脚本

使用性能测试工具(如LoadRunner, JMeter等)编写测试脚本来模拟用户活动。

脚本应包含登录、浏览、搜索、购买、退出等用户操作。

六、 执行初步测试

在低负载下运行测试,以验证测试脚本的正确性。

确认所有功能都能按预期工作。

七、 逐步增加负载

逐渐增加并发用户数或事务量,观察系统表现。

记录系统响应时间、吞吐量和资源利用率等数据。

八、 分析结果

分析测试结果,查找性能瓶颈。

检查错误日志,确定问题原因。

九、优化和迭代

根据测试结果调整系统配置、代码或数据库设置。

对修改后的系统再次进行性能测试。

十、最终测试

在最高预期负载下进行最终测试,确保系统在压力下仍能稳定运行。

十一、 报告和总结

编写详细的性能测试报告,包括测试方法、结果、发现的问题及建议。

与团队分享测试结果,讨论可能的改进措施。

场景法的关键在于创建逼真的用户场景,这有助于识别系统在实际使用中的潜在问题,通过这种方法,可以确保系统在上线前能够应对预期的用户流量和操作。

到目前为止,我们讨论的基线性能测试法和影响性能的因子测试法,都是从构,设计和实现角度去考虑的,并没有从用户便用的角度考虑。接下来我们要讨论的场景性能测试法,就是要充分考虑用户的使用因素,以及这些因素是如何影响性能的,以此评估系统是否能够满足用户在特定场景下的使用。

场景是用户会如何使用这个系统以完成预定目标的所有情况的集合。

一般来说,从使用的角度来说,产品会有3个维度部署、配置和业务负载,但是大多数测试者会习惯性地从产品设计的角度去测试,比如在测试前仔细分析开发实现流程,然后设计测试条件或者测试数据去覆盖流程。但是,场景测试却要求测试者从用户使用习惯入手,包括用户会如何部署、用户会如何配置、用户会使用怎样的业务负载,依据这些来构造测试用例,其中涉及的测试检查点也必须是用户的关注点。

在进行场景性能测试时,首先我们需要分析用户在实际使用中有哪些部署方式,

例如:

用户有哪些典型的部署场景(例如组网),与之相关的上下行环境是怎样的?

用户有哪些部署方式(如虚拟化部署、服务器部署等)?

用户部署的环境和测试环境有些不同?

这些典型部署环境中的资源是否能够满足系统的基本要求,环境中是否存在资源争抢或者明显的资源短板,如果有则判断其是否会影响性能,然后将可能影响性能的点作为性能测试因子。

在配置方面,场景性能测试需要分析、总结用户实际使用中的典型配置,并明确用户是怎么使用这些配置的,例如配置的数量、复杂度、是否会动态变化、变化率等。因为多时候,这些都会影响系统的关键算法,影响系统性能。

我们需要将这些配置作为场景性能测试的配置,并在性能测试过程中,按照用户的使用习惯去动态调整配置,确定这些操作对系统性能的影响。

在业务负载方面,在场景性能测试中,我们还需要尽量模拟用户真实业务的负载特点。

例如:

业务的新建情况和并发规模。

吞吐量大小。

数据包的大小、突发情况等。

业务类型分布。

业务是否存在规律,如周期性变化等。

除了正常业务负载之外,我们还需要考虑一些常见异常业务,包括攻击。

从用户关注点角度来说,场景性能测试主要关注哪些和用户性能体验相关的指标,如“响应时间”“抖动”“刷新率”等。

网上冲浪下列文章挺不错:

1.性能测试场景的设计方法

https://mp.weixin.qq.com/s/Pi1uKKnzzqxihq9A3WS0xw

2.性能测试场景设计方法(教科书版)

https://mp.weixin.qq.com/s/YKv4TvQExAQ5v91BE3_UOQ

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 科技赋能生活——便携气象站
  • 假如有一个嵌套集合,怎么通过stream流将集合放到一个集合之中?
  • MySQL数据库基础:约束
  • 【Android】手写笔适配
  • Rest风格快速开发
  • 安卓默认混淆规则文件的区别
  • 【设计模式】六大原则-上
  • SQL面试题练习 —— 计算用户首单是即时单的比例
  • 使用Spring与JDK动态代理实现事务管理
  • 【最新】推荐6款论文ai写论文软件推荐网站平台
  • 【HarmonyOS NEXT星河版开发学习】小型测试案例11-购物车数字框
  • Ubantu设置国内镜像(阿里云、华为云)
  • 基于Jeecgboot3.6.3的vue3版本的流程中仿钉钉流程的鼠标拖动功能支持
  • 多模态大模型intern-vl 1.5 论文解读:How Far Are We to GPT-4V?
  • 代码随想录第二十四天|动态规划(8)
  • 【译】JS基础算法脚本:字符串结尾
  • 收藏网友的 源程序下载网
  • 【技术性】Search知识
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • chrome扩展demo1-小时钟
  • create-react-app做的留言板
  • css的样式优先级
  • Javascript编码规范
  • JS笔记四:作用域、变量(函数)提升
  • SOFAMosn配置模型
  • spring security oauth2 password授权模式
  • Vue ES6 Jade Scss Webpack Gulp
  • 编写高质量JavaScript代码之并发
  • 面试总结JavaScript篇
  • 排序(1):冒泡排序
  • 怎么将电脑中的声音录制成WAV格式
  • 终端用户监控:真实用户监控还是模拟监控?
  • Semaphore
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • ​虚拟化系列介绍(十)
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • $jQuery 重写Alert样式方法
  • (11)MSP430F5529 定时器B
  • (8)STL算法之替换
  • (delphi11最新学习资料) Object Pascal 学习笔记---第14章泛型第2节(泛型类的类构造函数)
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (八)Spring源码解析:Spring MVC
  • (代码示例)使用setTimeout来延迟加载JS脚本文件
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (二十四)Flask之flask-session组件
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (六)DockerCompose安装与配置
  • (排序详解之 堆排序)
  • (万字长文)Spring的核心知识尽揽其中
  • (转)nsfocus-绿盟科技笔试题目
  • (转)visual stdio 书签功能介绍
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞