01 要点一:获取用户数信息

1)调查系统当前和未来使用的用户数

系统用户数=本系统目前注册的用户数,注册用户数并不代表他会每天并且无时无刻的使用着。

在线用户数=同时在线对系统进行操作的用户数量(相当于混合场景)

并发用户数=同时在线并且同时操作同一个功能(单场景添加集合点)

估算未来一到五年使用此用户的数量,可以根据一些日志数据估算出来的。

2)调查系统当前和未来的每日、月活跃用户数

当前活跃用户数,即某天大概有多少用户使用本系统:那么这部分数据一说来也就是当前真正对系统构成压力的数量。

02 要点二:获取业务数据量

1)调查当前和未来背景数据量

因为从100条数据中查10条也许很快,但是未来数据量变成100w那你懂得…

2)调查当前和未来业务每天使用的总笔数

每个用户每天可能下多少笔单,平均需要多少次来执行这个操作?那么根据用户数,我们就可以确定每天下单的笔数。如50人,平均每人每天下10次,每次下100笔,那么总笔数就是5010100=50000笔。注意此数据根据TPS换算后,我们可以换算出系统的业务总处理量是否能达到这个数据,这也是一个很重要的指标。

3)调查当前和未来高峰时业务的总笔数

即上面所描述的特殊情况,这也是必须要考虑,并且拿到的数据。

03 要点三:场景业务的调查

1)系统关键、核心的业务

从系统亮点出发,以主要的业务逻辑点为第一核心:这些功能对系统或公司来说往往具有举足轻重的地位,无论怎样都必须要优先执行满足这以功能的性能测试

2)高访问量的功能,经常承受压力的功能点

系统中表现在系统关键、核心业务前面必须要经过的地方:比如对于百度搜索来说,其核心业务是搜索功能,但是首先要面对的其高访问量对是搜索输入框加载的首页,百度首页加载即高访问量的请求

3)业务复杂度高

往往说来业务逻辑复杂度的都具备1、2点的要素,可能其功能使用的人数较少但是对系统有很严重影响:这些功能由于其业务逻辑具有的复杂度,往往出错的可能性也比较高,所以这些功能也是必须要进行测试的。

04 要点四、与性能指标指标相关的调查

1、调查每秒事务数(TPS)
这是衡量系统处理能力的一个重要指标,同时这个指标在一定程序也关系到业务数量是否能够及时完成,所以需要获得。

估算方式一:BS类可以参考以下指标估算:Vuser*TRequest/RPS=TPS(注意1Requset的含义为Resource=0的请求)。Resource=0的含义其实就是保证此次请求能够真正到达服务器,去掉那些本地可以缓存的东西。

估算方式二:CS类可以参考每小时的业务数/3600s,这是没办法的办法。

估算方式三:API类往往要求是Vuser*1API=TPS,由于公司的API都是提供给机构用户的,所以API要求往往比较高,所以需要保证其远算得非常快。

注:Vuser:虚拟用户数;TRequest:事务中的请求数;RPS:平均响应时间。

2、调查90%(或95%)响应时间

只看平均时间是不太科学的,对于我们的系统来说需要保证绝大多数的用户其响应时间都是非常快的,所以我们从90%或95%用户响应时间为指标的标准。

如果拿不到,那么我们仍可以估算:

估算方式一:BS类,按通用的标准2一5一8的标准来进行。不同业务,不同客户类型要求不同,但对于我们的产品来说绝大多数是不能超过5s

估算方式二:CS类,根据处理的数据量其时间不同,但一般说来是不能超过15s的。

估算方式三:API类,从行业的角度来说,一般要求是毫秒级(<500ms)

3、平均响应时间和TPS的波动率

这是对响应时间的补充,要求其系统响应时间应尽量稳定,TPS的波动率受测试方法和思考、间隔时间的影响。可参考以下的计算方式:

T=(TPS标准差/TPS平均值)*100%一般说来小于10%
T= (RPS标准差/RPS平均值)*100%一般说来小于10%

第一类前端性能测试(客户端)

B/S:HttpWatch、FireBug、YSlow、JS内存泄漏、大数据量下的功能测试、浏览器长时间运行的稳定性测试等。

C/S:内存泄漏、CPU使用、显卡使用等:

网络性能测试:利用工具分析网络传输以及延时等,为宽带拓展做铺垫。

第二类服务器端性能测试

性能测试,是指以性能预期目标为前提,对系统不断施加压力,验证系统在资源可接受范围内,是否能达到性能预期。(即:系统是否满足预定的性能目标?)

负载测试,是指对系统不断地增加压力或增加一定压力下的持续时间,直到系统的某项或多项性能指标达到临界值,例如某种资源已经达到饱和状态等:(即,最大并发数是多少?在什么时候,响应时间不可接受”系统的服务器资源瓶颈是什么?)

稳定性测试,是指被测试系统在特定硬件、软件、网络环境条件下,给系统加载一定业务压力,使系统运行一段较长时间,以此检测系统是否稳定,一般稳定性测试时间为n*12小时。(即系统在一般压力条件下,是否可以提供连接不断的优质服务?系统在长时间最大压力条件下,是否崩溃?)

4、测试前环境的检查收集

环境检查包括服务器的架构以及部署方案,服务器的配置、中间件的参数配置,以及需求、功能测试报告、API调用方式等。

服务器的配置需要收集生产环境与实测试环境的服务器的配置。主要收集:

CPU:型号、核心、速度、核数、倍频、总线速度,己耗费平均CPU

内存:总物理内存、所在磁盘的虚拟内存、可用物理内存

磁盘:转速(如是旧有电脑,在执行前最好磁盘碎片整理一下)

网卡:一般是100Mb,专用网络可能在1000MB以上。

业务——跟据客户实际使用情况,划分业务比例:

某个功能在一段时间内的使用频率:每天使用此功能大概有多少次?在多长时间内会操作此功能?

如设计脚本用例为:登录>进入单表查询(70%)>通过目录导航(80%)>检索>下载(80%),根据功能的重要性,这个用例应该首先要测试单场景,并且并发数也可能比其它的功能大一些,所以需要设置集合点。

其它业务相对于使用得少一些的则可以将其与上面的用例组合成混合场景:其它场景也可以继续细分。

思考时间——观察、推测用户操作这一个过程的时间

以一个正常用户使用系统业务的角色,录制脚本随机产生,随后根据实际情况调整其值:在运行场景的时候,以50%至120%的比例随机使用思考时间

5.持续时间

用户操作此功能的时间段,采用二八定理,取80%的场景时间:

注意用户操作此功能时间段,如果是业务类软件,中午的时间要去掉:

6.加载和退出方式

一般采用缓慢登录的方式,以便观察当用户数降低时其服务器的资源情况。但登录和退出功能除外,更多的登录和退出是集中在一个时间段。

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

最后: 可以在公众号:伤心的辣条 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

测试开发新手:从0到1开展性能测试必备的性能测试要点!相关推荐

  1. 【测试开发】一个5年测试开发的成长经验,大学毕业就开启他的职业生涯......

    目录:导读 前言 一.Python编程入门到精通 二.接口自动化项目实战 三.Web自动化项目实战 四.App自动化项目实战 五.一线大厂简历 六.测试开发DevOps体系 七.常用自动化测试工具 八 ...

  2. Java自动化测试系列[v1.0.0][TestNG测试开发环境配置]

    基于之前写的一篇文章Java自动化测试系列[v1.0.0][Maven开发环境]的基础上,阐述如何配置单元测试框架TestNG的测试开发环境 创建Maven项目 启动IDEA,点击Create New ...

  3. 0基础24岁女硕士生,想转行做月薪30k的测试开发,需要从什么开始学习?

    最近后台有个粉丝留言说:说她24岁硕士生,本科和研究生阶段都未接触过测开.那该如何学习测试开发呢,接下来我带大家一一解惑 与IT行业大量男生的现状相比,女生一旦做得好的话,反而会更受欢迎,女生天生具有 ...

  4. 软件测试 | 测试开发 | 测试人生 | 00后0经验应届毕业生拿下2线城市15W offer,好励志~

    本文为霍格沃兹测试开发学社优秀学员跳槽笔记,测试开发进阶学习文末加群. 本人毕业于武汉市某不知名二本院校的物联网工程专业,物联网专业在我们学校是偏硬件的,对于软件的学习仅仅停留在基本的理论和操作方面. ...

  5. 联合阿里p8测试开发耗时一个月整理的全套从0开始到功能测试再到自动化测试再进阶测试开发学习路线图

    前言: 从事测试工作已10有余了,今天想聊一下自己刚入门时和现在的今昔对比,虽然现在也没什么成就,只能说笑谈一下自己的测试生涯. 技术栈的变化: 刚开始是做的开发,也是做了三年的开发,刚开始也都是的自 ...

  6. 测试开发实战[提测平台]19-Echarts图表在项目的应用

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  7. 游戏开发新手入门之DirectX入门

    游戏开发新手入门之DirectX入门 [文章导读]       今天我们要接触到令人敬畏的DirectX.它比Windows GDI要快好几倍,可用于不同的语言和多种平台 [正文] ☆ 简介 今天我们 ...

  8. 测试开发人员与开发人员_如何升级为开发人员

    测试开发人员与开发人员 by Will Hughes 威尔休斯(Will Hughes) 如何升级为开发人员 (How to Level up as a Developer) Being a prod ...

  9. python 测试linux dev文件,Linux测试开发人员要掌握的Linux命令有哪些?

    今天小编要跟大家分享的文章是关于Linux测试开发人员要掌握的学习Linux和 一.文件和目录相关 文件和目录相关 1.进入目录--cd cd /usr/local //进入/usr/local这个目 ...

最新文章

  1. Vue教程5【vuex】getters,mapState,mapGetters,mapActions,mapMutations,模块化namespace
  2. 数据结构为什么重要?
  3. 实训项目2Linux基本命令,实训项目2 Linux文件系统管理
  4. 认清当下的努力,可能毫无意义
  5. poj 2417 Discrete Logging
  6. jquery版瀑布流
  7. 【 Educational Codeforces Round 71 (Rated for Div. 2) F】Remainder Problem【分块】
  8. 【学习Spring框架】依赖注入和控制反转异同?
  9. DoraemonKit一款功能齐全的Android研发助手
  10. Node.js视频教程
  11. 富友支付富掌柜智能收银系统是怎样的一套系统
  12. 成为软件架构师需要什么?
  13. 《游戏人工智能》学习笔记3——7 用脚本写现实世界的行为树
  14. SEO及SEM学习参考资源
  15. Flutter踩坑之flutter doctor --android-licenses报错
  16. 做事先做人 做人先立德
  17. 整理的最新的前端面试题必问集锦 (持续更新)
  18. 西安交通大学计算机考研资料汇总
  19. 多級commentable處理
  20. 专业文学网站设计原则与趋势

热门文章

  1. mysql for mac
  2. android异步任务更新进度条,Android的AsyncTask异步任务浅析
  3. c语言模拟计算机程序阶乘,辽宁省计算机二级(C语言)模拟试卷B(无答案).doc
  4. python分行打印list_python如何用print打印出列表
  5. android系统一直显示通知栏_Android8以上 显示通知栏简单实现
  6. 元件原理图旋转45度_你能看懂电气原理图有多少?建议收藏共同学习
  7. linux下nginx404,linux+nginx下的404可能错误
  8. 如何在10亿个数中找到前1000大的数?
  9. 阿甘博客文章写法与教学方法
  10. 从零开始玩人工智能-机器人服务-03