iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Web性能测试实例设计分析
  • 649
分享到

Web性能测试实例设计分析

2023-06-05 00:06:24 649人浏览 八月长安
摘要

本篇内容介绍了“WEB性能测试实例设计分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先,为什么要进行性能测试?性能不佳的应用通常无法实

本篇内容介绍了“WEB性能测试实例设计分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

首先,为什么要进行性能测试

性能不佳的应用通常无法实现企业预期利益,花费了大量时间和金钱,但是却在用户中失去了信誉。

相比功能测试和验收测试,性能测试容易被忽略,往往在发布之后碰到性能和扩展性问题才意识到重要性。

某网站性能测试用例分享

某网站提供会员模板下载、上传、购买、支付等功能,目前进入性能测试阶段,通过性能需求可以了解到主要有以下几个性能指标需要进行测试:
● 产品页面刷新性能
● 产品上传性能
● 产品下载性能
  目前给出的指标为:
  延迟:
  测试项 响应时间 抖动 备注
  产品页面刷新 <5秒 <2秒
  产品下载相应时间 <4秒 <2秒
  吞吐量:
  编号 项 吞吐量
Perf.T.1 所有登录用户在线状态更改频率 每10分钟1次
Perf.T.2 每日页面平均访问量 60000次
Perf.T.3 每日下载量 50000
Perf.T.4 平均每日新增会员数量 500
Perf.T.5 高峰同一模板下载量 100用户并发下载
Perf.T.6 高峰不同模板下载量 150用户并发下载
  容量:
  编号 项 容量
Perf.C.1 用户数 <=100万
Perf.C.2 活动用户数 10000
Perf.C.3 模板中心总用户数 <=25万
  根据如上性能需求及数据我们该如何设计性能测试用例及场景呢?(可以说给出的性能需求很垃圾,没有丝毫价值,但没办法还是点做啊)
  首先,我不去在乎它要求的性能是什么,我只需要去做在一定的测试环境下对系统进行压力测试,找到各个性能指标的临界点就好了,至于是否达到性能指标,在和性能需求对照编写测试报告即可。
  所以,针对这几个需要进行性能测试的页面,我们做一下分析,如何设计场景才能尽可能准确地体现出系统的性能:
  先说一下搜索页面
  搜索页面根据对项目的了解,搜索后,将所有符合条件的结果遍历出来,显示在前台,每页的显示数量是一定的,超出的部分分页显示。根据上面的描述我们可以看出搜索结果是在将符合条件的所有结果集均发送到前台页面,对于页面显示对性能的消耗我们可以忽略不计,主要的压力来自数据的传输、sql的执行及应用服务器的处理过程,所以我可以从两个方面设计场景:
a、虚拟用户一定,不同数据库数量级的情况下,搜索的性能
  如何确定虚拟用户的数量成为一个关键,我们可以让客户提供一个常规情况下每天访问用户数(如果没有实际数据可参考,可以根据产品方案中期望的用户数来代替),我们就用这个用户数来进行测试;再来分析一下不同的数据库数量级,如果系统运营1年的产品数据量是5万条,那么我们就根据这个值分别取1W条、3W 条、5W条、10W条、20W条数据量来进行测试(具体的分法可以根据实际情况而定),所以对于这个测试目标,我们可以设计5个场景进行:
  虚拟用户数数据库数量级录制页面并发用户数执行时间思考时间
100 10000 搜索页面随机产生30分钟加入思考时间
100 30000 搜索页面随机产生30分钟加入思考时间
100 50000 搜索页面随机产生30分钟加入思考时间
100 100000 搜索页面随机产生30分钟加入思考时间
100 200000 搜索页面随机产生30分钟加入思考时间
b、一定数据库数量级,不同量虚拟用户的情况下,搜索的性能
  我们定下来一个常规的数据库数据量,在数据量不变的情况下逐步增加虚拟用户数,测试一下不同虚拟用户压力下系统的性能
  虚拟用户数数据库数量级录制页面并发用户数执行时间思考时间
50 50000 搜索页面随机产生30分钟加入思考时间
80 50000 搜索页面随机产生30分钟加入思考时间
100 50000 搜索页面随机产生30分钟加入思考时间
120 50000 搜索页面随机产生30分钟加入思考时间
150 50000 搜索页面随机产生30分钟加入思考时间
产品上传
  影响上传性能的主要因素有上传文件的大小和上传的请求数,所以我们就从这两个方面设计用例。
a、虚拟用户数一定,上传不同大小的文件
  虚拟用户数上传文件大小录制页面并发用户数执行时间思考时间
50 100k 上传页面随机产生30分钟取消思考时间
50 300k 上传页面随机产生30分钟取消思考时间
50 500k 上传页面随机产生30分钟取消思考时间
50 800k 上传页面随机产生30分钟取消思考时间
50 1M 上传页面随机产生30分钟取消思考时间
b、上传文件大小一定,不同量的虚拟用户
  虚拟用户数上传文件大小录制页面并发用户数执行时间思考时间
20 300k 上传页面随机产生30分钟取消思考时间
50 300k 上传页面随机产生30分钟取消思考时间
80 300k 上传页面随机产生30分钟取消思考时间
100 300k 上传页面随机产生30分钟取消思考时间
产品下载
  影响下载性能的主要因素有下载文件的大小和下载的请求数,所以我们就从这两个方面设计用例
a、虚拟用户数一定,下载不同大小的文件
  虚拟用户数下载文件大小录制页面并发用户数执行时间思考时间
50 100k 下载页面随机产生30分钟取消思考时间
50 300k 下载页面随机产生30分钟取消思考时间
50 500k 下载页面随机产生30分钟取消思考时间
50 800k 下载页面随机产生30分钟取消思考时间
50 1M 下载页面随机产生30分钟取消思考时间
b、下载文件大小一定,不同量的虚拟用户
  虚拟用户数下载文件大小录制页面并发用户数执行时间思考时间
20 300k 下载页面随机产生30分钟取消思考时间
50 300k 下载页面随机产生30分钟取消思考时间
80 300k 下载页面随机产生30分钟取消思考时间
100 300k 下载页面随机产生30分钟取消思考时间

“Web性能测试实例设计分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Web性能测试实例设计分析

本文链接: https://www.lsjlt.com/news/240645.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++ 生态系统中流行库和框架的贡献指南
    作为 c++++ 开发人员,通过遵循以下步骤即可为流行库和框架做出贡献:选择一个项目并熟悉其代码库。在 issue 跟踪器中寻找适合初学者的问题。创建一个新分支,实现修复并添加测试。提交...
    99+
    2024-05-15
    框架 c++ 流行库 git
  • C++ 生态系统中流行库和框架的社区支持情况
    c++++生态系统中流行库和框架的社区支持情况:boost:活跃的社区提供广泛的文档、教程和讨论区,确保持续的维护和更新。qt:庞大的社区提供丰富的文档、示例和论坛,积极参与开发和维护。...
    99+
    2024-05-15
    生态系统 社区支持 c++ overflow 标准库
  • c++中if elseif使用规则
    c++ 中 if-else if 语句的使用规则为:语法:if (条件1) { // 执行代码块 1} else if (条件 2) { // 执行代码块 2}// ...else ...
    99+
    2024-05-15
    c++
  • c++中的继承怎么写
    继承是一种允许类从现有类派生并访问其成员的强大机制。在 c++ 中,继承类型包括:单继承:一个子类从一个基类继承。多继承:一个子类从多个基类继承。层次继承:多个子类从同一个基类继承。多层...
    99+
    2024-05-15
    c++
  • c++中如何使用类和对象掌握目标
    在 c++ 中创建类和对象:使用 class 关键字定义类,包含数据成员和方法。使用对象名称和类名称创建对象。访问权限包括:公有、受保护和私有。数据成员是类的变量,每个对象拥有自己的副本...
    99+
    2024-05-15
    c++
  • c++中优先级是什么意思
    c++ 中的优先级规则:优先级高的操作符先执行,相同优先级的从左到右执行,括号可改变执行顺序。操作符优先级表包含从最高到最低的优先级列表,其中赋值运算符具有最低优先级。通过了解优先级,可...
    99+
    2024-05-15
    c++
  • c++中a+是什么意思
    c++ 中的 a+ 运算符表示自增运算符,用于将变量递增 1 并将结果存储在同一变量中。语法为 a++,用法包括循环和计数器。它可与后置递增运算符 ++a 交换使用,后者在表达式求值后递...
    99+
    2024-05-15
    c++
  • c++中a.b什么意思
    c++kquote>“a.b”表示对象“a”的成员“b”,用于访问对象成员,可用“对象名.成员名”的语法。它还可以用于访问嵌套成员,如“对象名.嵌套成员名.成员名”的语法。 c++...
    99+
    2024-05-15
    c++
  • C++ 并发编程库的优缺点
    c++++ 提供了多种并发编程库,满足不同场景下的需求。线程库 (std::thread) 易于使用但开销大;异步库 (std::async) 可异步执行任务,但 api 复杂;协程库 ...
    99+
    2024-05-15
    c++ 并发编程
  • 如何在 Golang 中备份数据库?
    在 golang 中备份数据库对于保护数据至关重要。可以使用标准库中的 database/sql 包,或第三方包如 github.com/go-sql-driver/mysql。具体步骤...
    99+
    2024-05-15
    golang 数据库备份 mysql git 标准库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作