前段时间,有一些小伙伴提出希望我们推送点性能测试的技术干货。所以,小编今天通过上网查资料,结合项目实操过程中的一些问题,总结了一些关于性能测试的内容,希望是大家想要了解的内容哈。

1、性能测试的目的

首先,先来明确一个问题,我们为什么要给产品/软件等做性能测试?

时下,市面上绝大多数的软件产品,都是分布式应用。这就产生了一些有意思的现象:开发的产品在少量用户使用时,可能不存在问题,一旦用户多起来,就容易出现系统瘫痪等多种问题。

那么,为什么会出现这种情况呢?这是由于用户的使用数量、用户场景的不确定性造成的。当并发用户数量超过负载量,系统就会陷入崩溃状态。由此可见,对新开发的产品做性能测试是非常重要的。它能帮助我们了解系统可承受的并发用户数量,带宽、cpu、内存、硬盘速度等。

2、性能测试的内容

性能测试主要包括以下几个方面的内容:负载测试、压力测试、容量测试等。

负载测试:不限制软件的运行资源,测试软件的数据吞吐量上限,以发现设计上的错误或验证系统的负载能力。目标是确定并确保系统在超出最大预期工作量的情况下,是否能够正常运行。

压力测试:也称为强度测试。通过模拟实际应用的软硬件环境,及用户使用过程的系统负荷,长时间或超大负荷地运行,来测试被测系统的性能、可靠性、稳定性等。

容量测试:可以看作是系统性能指标中,特定环境下的特定性能指标,即设定的界限或极限值。

3、性能测试评价指标

说了这么多,下面就要对性能测试的指标做评价了。

从用户的角度来说,一般响应时间<2秒,就属于流畅的体验;如果响应时间>10秒,则要考虑改进响应速度的问题;

从产品的吞吐量来说,我们需要关注硬盘IO(读写)、网络IO(上行下行带宽)、cupIO、服务器的处理能力、客户端的打开页面数量等。

另外,我们还需要了解用户打开页面、登陆服务器、实现消息发送等某一动作的事务处理能力。

4、性能测试关注点

l 响应时间快慢,服务器端的处理速度
l 服务器端的使用情况
l 数据库端的资源使用情况
l 最大用户访问数量
l 同时处理最大业务数量
l 考察系统能否支撑7x24小时运转
l 内存资源、线程资源能否正常回收
l 代码,算法,sql语句设计是否合理
l 整个系统的稳定性,可恢复性

5、性能测试的核心原理

1)基于协议(前端、后端的通信机制),基于界面(与前端的交互),基于代码(后端);

2)基于网络的分布式架构:基于网络协议去模拟用户发送请求等;

3)基于多线程:模拟多线程操作,多人同时操作,模拟大负载量;

4)基于真实场景:模拟真实的网络环境,用户操作时间不确定性,操作不确定,得出数据的准确性也存在差异。场景不对,数据也不一定可用。

6、代码实现性能测试

针对某一功能做性能测试,可以通过论坛的登陆以及发帖(post协议,多线程这两点)、登陆操作、发帖操作(涉及协议)等,并采用多线程同时操作。

7、Loadrunner的使用

Loadrunner 的四个部件,分别是指:

l Vuser generator:开发性能测试脚本;
l Controller:提供多线程并发等操作;
l Ananlysis:结果分析;
l Load generator:负载生成器(controller 里面的一个主键)

下面给大家详细介绍一下。

在vuser generator (虚拟用户生成器)中,新建一个脚本:

进入界面,点击start录制一段脚本;

internet application 指的是b-s 架构,win 32 是指c-s 架构,默认是录制到action,勾选recond表示立即开始。

可以手写,可以录制。点击web_url,使用get请求;点击web_submit_data,使用post请求。

如果出现乱码,可以这样解决:
开始时:tool > advaced > support charset // utf-8 或者本机编码
运行时:vuser > preferences > option > convert from/to utf-8

最后是编码的差别,大家可以参考一下:
国标GB-x ,2byte-16bit , 2^16种组合,只对中文进行编码。
utf-8 :3byte = 24bit 2^24种组合 ,对全世界的文字进行统一的编码。
ascii码:一个字节 (2^8=128)

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

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

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

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


好文推荐

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

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

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

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

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

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

新手上路:盘点「性能测试」必须弄懂的技术点相关推荐

  1. 5分钟弄懂语音识别技术原理

    5分钟弄懂语音识别技术原理 首先,我们知道声音实际上是一种波.常见的mp3.wmv等格式都是压缩格式,必须转成非压缩的纯波形文件来处理,比如Windows PCM文件,也就是俗称的wav文件.wav文 ...

  2. 字节「大力」做教育,依然技术思维,1万员工参与,三年不考虑盈利

    鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 字节跳动搞教育,现在终于官方明确了. 名字和品牌也非常有意思:大力教育. 该品牌会承接字节跳动所有教育产品及业务. 而曾任今日头条CEO的字 ...

  3. AI 与合成生物学「联姻」的五大挑战:技术、数据、算法、评估与社会学

    来源:ACM通讯 编译:王玥 编辑:陈彩娴 在过去的二十年里,生物学发生了翻天覆地的变化,建立在生物系统上的工程成为了可能.赋予了我们细胞遗传密码(DNA)排序能力的基因组革命是这一巨大变化的主要推手 ...

  4. 「RAAS」又什么?气隙技术的发明加密货币安全

    远程自动气隙安全」技术,缩写为「RAAS」--允许任何人使用移动电话或是固定电话随时随地存取自己的数据.远程自动气隙安全技术走向未来对于处理网络上的数据而言,远程可存取的气隙技术是真正的转型.不管你是 ...

  5. 寻找OpenHarmony「锦鲤」|万元豪礼+技术干货全是你的!

    开源项目 OpenHarmony 是每个人的 OpenHarmony 战"码"先锋第二期蓄力出发! 同时,我们也推出了全网寻找开源锦鲤的活动 只为每一位参与OpenHarmony开 ...

  6. 互联网公司招聘「潜台词」,你懂几条?

    刚开始工作时,你总以为是这样的,其实大部分情况下是这样的.为何明面上的意思就是实际意思的公司,貌似都是别人的公司......一看就懂证明你是历经磨难且具有拼搏精神的老司机. 1.能承受较大的工作压力- ...

  7. 「机器学习」彻底搞懂CNN

    作者:水奈樾 上世纪科学家们发现了几个视觉神经特点,视神经具有局部感受眼,一整张图的识别由多个局部识别点构成:不同神经元对不同形状有识别能力,且视神经具有叠加能力,高层复杂的图案可以由低层简单线条组成 ...

  8. 一篇文章带你飞,轻松弄懂 CDN 技术原理

    概述 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因数的 ...

  9. 即将被281亿个传感器包围,你却还没弄懂物联网技术?

    "物联网这三个字听起来很简单,却包含了很广的应用范围和丰富的内容.实际上,我们身边的门禁卡.公交卡.二代身份证.条形码.二维码.智能手环等等都是物联网的一部分,所以物联网的技术并不是新出现的 ...

最新文章

  1. python全栈区别_Python全栈之路-4-list与tuple
  2. 接口自动化测试框架必备的9个功能举例
  3. WinAPI双人贪吃蛇
  4. cocos2dx +vs2012安装教程
  5. 机器视觉基础应用知识详解
  6. Hive SQL行列转换
  7. 黄杏元《地理信息系统概论》考研复习考点精讲(六)
  8. ppt文件太大怎么变小?
  9. 2017_Generating high-quality crowd density maps using contextual pyramid cnns
  10. usage.txt-2
  11. Vue Router系列之 route 和 router 的区别
  12. wlop2020全奖励包_【图包】WLOP鬼刀壁纸【更新至2020年10月】
  13. 数据规范化、实体-联系图、状态转换图、层次方框图、Warnier图、IPO图及验证软件需求
  14. vim 打开php 回车没了,设置 - VIM在Fi结束时禁用自动换行
  15. SHT30使用的学习过程1SHT30工作模式介绍
  16. antV使用教程入门
  17. 基于插件式的开发框架
  18. Linux KVM环境搭建,以及创建kvm虚拟机
  19. (一)权限管理系统介绍
  20. 【python之re模块学习第2天】正则表达式的应用:贪婪模式与懒惰模式

热门文章

  1. seleuium 禁止检测_如何突破网站对selenium的屏蔽
  2. sqlserver垮库查询_sql跨库查询(sqlserver跨库查询)
  3. python输入多组数据_Python3算法类多组数据输入输出格式
  4. CMake配置OpenCV时,显示错误:find_host_package(PythonInterp 2.7)' found wrong Python version
  5. 64位系统使用Access数据库文件的彻底解决方法
  6. Ghost配置2——添加代码高亮
  7. Git学习系列之Debian或Ubuntu上安装Git详细步骤(图文详解)
  8. 搜索引擎网站登陆入口,提交入口
  9. 几个常用JAVA开源项目的地址荟萃
  10. Matlab 数字滤波器设计大报告(数字信号处理课程设计)附代码