软件工程综合实践第五次个人作业

作业要求:在软件测试章节中,我们介绍了不少VSTS的软件测试工具,请使用一些其他平台上的测试工具,并写博客介绍如何在你的项目中具体使用。

前言:

  第一次看到这个作业要求当真是又喜又悲啊!喜的是另外一门软件测试的课中教了许多测试工具与测试方法,然后在近期还做了小组作业,可以说是一举两得;悲的是本次博客需要利用测试工具测试小组项目成果,但是由于项目并未达到全平台运行的程度,所以暂时完成不了对小组项目的测试。但是作业又不可能不做,所以我今天只好给大家带来其它的测试展示。(本次博客的部分内容来自我与彭ZY同学共同完成的实验报告,具体会在上手过程这一版块进行展开,请允许我偷个懒:(,期末大作业实在是太多了,望体谅。)

认识过程:

Jmeter简介:

  JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
  Jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。使用者可以使用它做性能的图形分析或在大并发负载测试服务器/脚本/对象。
 
上手过程:
 
1)为什么这么做:
  我与我的搭档通过jmeter对百度网做负载测试,使用 JMeter 图形结果和聚合图帮助测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力并估计系统的瓶颈和并发阀值,以期得出科学合理的测试结果。
 
2)配置JMeter运行环境:

JDK:网络下载,并配置好环境变量,因为已经学习过java相关课程,故不在此做相关介绍。

Jmeter:

下载解压JMeter压缩包

下载地址: http://jmeter.apache.org/download_jmeter.cgi 解压

环境变量设置:

系统变量新建JMETER_HOME,值为Jmeter路径,如:

E:\Jmeter\apache-jmeter-5.1.1\apache-jmeter-5.1.1

修改CLASSPATH,添加:

%JMETER_HOME%/lib/ext/ApacheJMeter_core.jar;%JMETER_HOME%/lib/jorphan.jar;%JMETER_HOME%/lib/logkit-2.0.jar

之后打开bin文件夹里的jmeter.bat文件即可运行

 
3)测试过程

1.在jmeter文件目录下的bin文件夹打开jmeter.bat文件运行。

2.右击testplan,选择add-threads(users)-thread group

3.右击创建的用户进程组,add-sampler-http request创建http请求

并设置相应参数:

4.右击进程组找到cookie管理器并创建,在浏览器中找到cookies,填入数据:

完成后添加监视器:右击线程组-add-listener-view results tree后即可运行测试

4)实验数据比对

样本:总共发送到服务器的请求数

平均:总运行时间除以发送到服务器的请求数

吞吐量:服务器每分钟处理的请求数

标准偏差:服务器响应时间变化、离散程度测量值的大小。即数据的分布。

由线性图表可知:吞吐量于12500线程时达到较高的值,20000线程时吞吐量降低,预估秒级并发阈值在15000左右

具体数据对比如下(依次为5000、12500、20000)

 

Label:说明是请求类型,如Http,FTP等请求。
#样本:也就是图形报表中的样本数目,总共发送到服务器的样本数目。
平均值:也就是图形报表中的平均值,是总运行时间除以发送到服务器的请求数。
Median:也就是图形报表中的中间值,是代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。
90%line:是指90%请求的响应时间比所得数值还要小。
最小值:是代表时间的数字,是服务器响应的最短时间。
最大值: 是代表时间的数字,是服务器响应的最长时间。
异常%:请求的错误百分比。
吞吐量:这里是服务器每单位时间处理的请求数,注意查看是秒或是分钟。
KB/sec:是每秒钟请求的字节数。

继续利用最小值、最大值、异常等数据进行对比,12500与20000线程之间数据差距较大,故推测系统秒级阈值为15000。表现优秀。

总结:

虽然此次测试在之前已经操作过一遍了,但由于时间久远又相当于重新复习了一遍,温故而知新这话是不假的,我对于软件测试又有了新的见解。并且我再一次认识到:测试工具是个好东西,没有这类工具的话不知道得花费多少人力物力财力,这又一次让我感受到了科技的力量,并且让我坚定了为世界做贡献的决心。另外我也发现平常课程中的活动还是要多多参与的,保不准你这次做的东西下次就有可能用到,这就省去了许多时间(尤其是在期末阶段)。如果只是一味抱大腿的话,则会产生一个不良循环,不利于自身发展的同时还麻烦了他人。

所以相信天道酬勤吧!!!共勉。

【JMeter】压力测试工具的概览与使用的更多相关文章

  1. windows下Jmeter压力测试工具的安装

    JMeter是Apache软件基金会的产品,用于对静态的和动态的资源(文件,Servlet,Perl脚本,Java 对象,数据库和查询,FTP服务器等等)的性能进行测试.是一款很方便的测试软件. 系统 ...

  2. Jmeter压力测试工具安装及使用教程

    一.Jmeter下载 进入官网:http://jmeter.apache.org/ 1.第一步进入官网如下图 2.选择进行下载,下载下来为一个压缩包,解压即可. 3.我下载的是jmeter4.0版本, ...

  3. [转]Jmeter压力测试工具安装及使用教程

    一.Jmeter下载 进入官网:http://jmeter.apache.org/ 1.第一步进入官网如下图 2.选择进行下载,下载下来为一个压缩包,解压即可. 3.我下载的是jmeter4.0版本, ...

  4. Jmeter压力测试工具基本使用

    转:https://blog.csdn.net/envyfan/article/details/42715779

  5. Jmeter:图形界面压力测试工具

    Jmeter是一款强大的图形界面压力测试工具,完全用Java写成,关于Jmeter的介绍,网上其实有不少的文章,我原本是不想再重复写类似文章的,但我发现有些很关键性的,在我们测试中一定会用到的一些设置 ...

  6. apache压力测试工具的apache bench和JMeter的安装

    Apache压力测试工具的安装 1,apache bench的安装 apache  bench工具集成在http的软件包内,可以直接安装apache就可以. 当有些时候,我们不需要用到所有的软件包,我 ...

  7. MQTT压力测试工具之JMeter插件教程

    基于Jmeter的MQTT测试插件-上 1. Jmeter插件简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具.下载 用于对软件做压力测试,它最初被设计用于Web应用 ...

  8. JMeter压力测试和性能测试工具

    Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测 试但后来扩展到其他测试领域. 它可以用于测试静态和动态资源例如静态文件 ...

  9. Jmeter使用指南----压力测试工具

    来源: https://blog.csdn.net/u012111923/article/details/80705141 https://www.cnblogs.com/st-leslie/p/51 ...

随机推荐

  1. 数据库: 安装配置数据库,使用Navicat for MySQL和手机APP 连接测试(如果上一节碰到问题可参考这一节)

       咱就安装上       还有这个                    最终测试请参考上一节 启动MySQL服务主要有以下两种方法: 第一种: 在搜索框中输入“services,msc” ,en ...

  2. 三天精通Vue--Vue的常用语法

    Vue的介绍 官网教程:https://cn.vuejs.org/v2/guide/installation.html 掘金:https://juejin.im/ cdn(在线的网络连接资源):htt ...

  3. 记录一次在生成数据库服务器上出现The timeout period elapsed prior to completion of the operation or the server is not responding.和Exception has been thrown by the target of an invocation的解决办法

    记一次查询超时的解决方案The timeout period elapsed...... https://www.cnblogs.com/wyt007/p/9274613.html Exception ...

  4. PS 个人常用功能

    PS是什么? Adobe Photoshop,简称"PS",是由Adobe Systems开发和发行的图像处理软件. 不是美工,为什么要学PS? 1)写博客时,有些需要的素材图片有 ...

  5. 连上Microbit板

    我们是在自己电脑上,用Mu编程,最终程序要烧录到Microbi板子的控制芯片中去,还记得这款芯片是哪家公司生产的?是多少位的?呵呵. 因此,我们要把板子和电脑连起来,用常见的一大一小的USB线就可以了 ...

  6. Vue父组件如何调用子组件(弹出框)中的方法的问题

    如果子组件是一个弹出框,只有在触发某个点击事件时弹出框才能出现(也就是说在父组件中的子组件使用上用了v-if),那在父组件上如果不点击弹出框是不能获取到$ref的. 原因就是:引用指向的是子组件创建的 ...

  7. 【chromium】 渲染显示相关概念

    DRM(Direct Rendering Manager) DRM 由两个部分组成:一是 Kernel 的子系统,这个子系统对硬件 GPU 操作进行了一层框架封装.二是提供了一个 libdrm 库,里 ...

  8. jmeter(二十七)分布式压测注意事项

    之前的博客:jemter(二十三):分布式测试简略的介绍了利用jmeter做分布式测试的方法,当时只是介绍了背景和原因,以及基本的配置操作,有同学说写得不够详细. 正好今年双十一,我司的全链路压测,也 ...

  9. vs2017专业版和企业版的密钥

    Enterprise: NJVYC-BMHX2-G77MM-4XJMR-6Q8QF Professional: KBJFW-NXHK6-W4WJM-CRMQB-G3CDH

  10. jquery 获取后台实时数据

    第一步.提醒后台处理数据1.$.ajax({}) 提交数据,2.后台返回状态3.后台开始处理数据,并每秒记录状态到 data.json 文件4.前台每秒请求 data.json 文件,直到处理完成 第 ...