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

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的四个部件,分别是指:

lVuser generator:开发性能测试脚本;

lController:提供多线程并发等操作;

lAnanlysis:结果分析;

lLoad 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)

软件性能测试关注点,盘点性能测试必须掌握的技术点相关推荐

  1. 性能测试关注点整理总结

    作为软件测试人员,我们经常会遇到压力测试.稳定性测试.功能测试.性能测试.兼容性测试等等,有时在工作中潜移默化的就已经在使用这些测试方法中包含的点,但是我们没有太在意去总结梳理,那么每个测试方法的关注 ...

  2. 性能测试关注点整理总结!

    作为软件测试人员,我们经常会遇到压力测试.稳定性测试.功能测试.性能测试.兼容性测试等等,有时在工作中潜移默化的就已经在使用这些测试方法中包含的点,但是我们没有太在意去总结梳理,那么每个测试方法的关注 ...

  3. Jmeter_性能测试(一):性能测试的概念,性能测试的流程和术语,性能测试脚本的制作和调试

    Jmeter_性能测试(1):性能测试的概念 性能测试的概念 性能测试是指通过特定方式,对被测系统按照一定策略施加压力,获取系统 响应时间.TPS(Transaction Per Second).吞吐 ...

  4. 转:性能测试中的性能测试指标与用户体验分析

    转自:http://www.ltesting.net/ceshi/ceshijishu/xncs/2012/0223/204182_2.html 性能测试中的性能测试指标与用户体验分析 网络应用性能分 ...

  5. 如何进行app性能测试,app性能测试应关注的测试点

    随着智能化生活的推进,我们生活中不可避免的要用到很多程序app.有的APP性能使用感很好,用户都愿意下载使用,而有的APP总是出现卡顿或网络延迟的情况,那必然就降低了用户的好感.所以APP性能测试对于 ...

  6. Android软件开发之盘点自定义View界面大合集(二)

    Android软件开发之盘点自定义View界面大合集(二) - 雨松MOMO的程序世界 - 51CTO技术博客 雨松MOMO带大家盘点Android 中的自定义View界面的绘制 今天我用自己写的一个 ...

  7. Android软件开发之盘点界面五大布局(十六)

    Android软件开发之盘点界面五大布局 雨松MOMO原创文章如转载,请注明:转载至我的独立域名博客雨松MOMO程序研究院,原文地址:http://www.xuanyusong.com/archive ...

  8. 项目管理软件排行榜!盘点前十名!

    项目管理软件排行榜!盘点前十名! 如今企业规模不断扩大,业务逐渐复杂化,项目管理已经成为现代企业管理中不可或缺的一环.作为协调管理者.团队成员和客户之间交流的工具,项目管理软件不仅可以提高工作效率,还 ...

  9. 【实战教程】如何在管家婆软件中高效盘点固定资产

    摘要 库存盘点想必大家都操作过,那固定资产要怎么盘点呢?让我们看下分销A\V系列软件中固定资产盘点的具体步骤吧. 01 在固定资产卡片上设置盘点条码. 02 在固定资产条码打印中将条码打印出来,贴在对 ...

最新文章

  1. (备忘)Java数据类型中String、Integer、int相互间的转换
  2. 安装vmware esx4.1
  3. 信息系统项目管理师优秀论文:沟通与干系人管理
  4. pico8 掌机_使用Pico-8构建自己的复古游戏
  5. P4213-[模板]杜教筛(Sum)
  6. echarts3 loading动画无法去除解决方案
  7. 计算机原理实验八位算术逻辑运算,8位算术逻辑运算计算机组成原理实验一
  8. Java中try、finally语句中有return时的执行情况
  9. matlab制作强光效果代码,自己动手做一个雷达PPI显示器的动态效果图(附Matlab代码)...
  10. 搜狗浏览器收藏夹在哪_搜狗浏览器居然流氓到操作我的微博账号
  11. 进程栈大小 与 线程栈大小-转
  12. 在JS中获取页面form中的一个TEXT元素的坐标值
  13. linux实现防止恶意扫描 PortSentry
  14. ue4是什么意思_UE4 C++基础教程 - 资源常见名词解释
  15. python将excel生成pdf_高效办公!Python 批量生成PDF文档
  16. 基于FFmpeg的简单Android视频播放器
  17. RGB888与RGB565
  18. 自定义View时,用到Paint Canvas的一些温故,PropertyAnimation中的ObjectAnimator(动画三,“大大姐”的旋转跳跃)...
  19. FMEA失效模式与影响分析与质量成本COQ产品质量先期策划APQP关系
  20. 马上大四了,秋招还是春招好?先找工作还是找实习

热门文章

  1. mseloss 与 smooth_l1_loss比较
  2. transport=websocket' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
  3. python--gevent高并发socket
  4. too many indices for tensor of dimension 3
  5. Hadoop Intellij IDEA 建demo
  6. mysql 分页优化
  7. 特征值和特征向量的实际意义
  8. mysql案例_MySQL实例crash的案例详细分析
  9. (填坑:SQL打印两次)mybatisplus+p6spy 日志打印
  10. ngx对accept加锁操作