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

作业要求:在软件测试章节中,我们介绍了不少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. [RN] React Native 下拉放大动画

    React Native 下拉放大动画 经测试,无法运行 https://www.jianshu.com/p/1c960ad75020

  2. html中利用flex容器书写的布局样式

    首先页面基本样式见下图: 如有兴趣可以打开https://migloo.gitee.io/front 或者 https://www.igloo.xin/front 进行查看

  3. Spring Events

    https://www.baeldung.com/spring-events by Eugen Paraschiv Spring+ I just announced the new Learn Spr ...

  4. CentOS 7搭建本地yum源和局域网yum源

    这两天在部署公司的测试环境,在安装各种中间件的时候,发现各种依赖都没有:后来一检查,发现安装的操作系统是CentOS Mini版,好吧,我认了:为了完成测试环境的搭建,我就搭建了一个局域网的yum源. ...

  5. dial tcp 10.96.0.1:443: getsockopt: no route to host --- kubernetes(k8s)DNS 服务反复重启

    kubernetes(k8s)DNS 服务反复重启解决: k8s.io/dns/pkg/dns/dns.go:150: Failed to list *v1.Service: Get https:// ...

  6. 《Linux就该这么学》培训笔记_ch19_使用PXE+Kickstart无人值守安装服务

    <Linux就该这么学>培训笔记_ch19_使用PXE+Kickstart无人值守安装服务 文章最后会post上书本的笔记照片. 文章主要内容: 无人值守系统 部署相关服务程序 配置DHC ...

  7. 使用ADB安装apk安装包

    1.手机通过USB线连接到电脑,并打开开发者选项和USB调试,允许本机进行调试. 2.打开cmd命令行输入:adb devices 查看当前连接的设备列表. 3.安装apk包命令: adb -s [d ...

  8. GIT 安装和使用

    目录 GIT 安装和使用 一.GIT 介绍 二.GIT 安装 三.GIT 使用 1. 配置 2. 创建版本库 3. 远程仓库 4. 分支管理 5.标签管理 6. 自定义 GIT 安装和使用 一.GIT ...

  9. java解析复杂的json字符串

    Java解析Json字符串--复杂对象(方法一)   { "name": "三班", "students": [ { "age&q ...

  10. play framework + sbt入门之环境搭建

    一 sbt的使用 SBT = (not so) Simple Build Tool,是scala的构建工具,与java的maven地位相同.其设计宗旨是让简单的项目可以简单的配置,而复杂的项目可以复杂 ...