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

作业要求:在软件测试章节中,我们介绍了不少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. # 数位DP入坑

    Hdu 2089 不要62 #include<iostream> #include<cstdio> #include<cmath> #include<cstr ...

  2. JavaScript插件开发

    一.前言 通过 "WWW" 原则我们来了解 JavaScript 插件这个东西 第一个 W "What" -- 是什么?什么是插件,我就不照搬书本上的抽象概念了 ...

  3. ReentrantLock源码简析

    概念 ReentrantLock,可重入锁.在多线程中,可以通过加锁保证线程安全. 加锁和解锁 加锁: public void lock() { sync.lock(); } 解锁 public vo ...

  4. Java正则表达式入门基础篇

    正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为 ...

  5. .net core 运行不需命令行

    1.问题情景: 需要保证已安装.net core SDK,并且命令提示符下运行“dotnet --version”,有反应. 如果之前运行良好,现在却不行了,查看安装程序中存在.net core SD ...

  6. 【CSP2019】题解合集

    诈个尸 先挖坑 虽然连去都没去但还是想做做 今年貌似比去年还毒瘤啊... yrx.hjw都进了省队线tql orz (myh:没AK真丢脸 Day1T1 格雷码 Day1T2 括号树 Day1T3 树 ...

  7. python实现栈结构

    # -*- coding:utf-8 -*- # __author__ :kusy # __content__:文件说明 # __date__:2018/9/30 17:28 class MyStac ...

  8. [转帖]什么是IOC(控制反转)、DI(依赖注入)

    什么是IOC(控制反转).DI(依赖注入) 2018-08-22 21:29:13 Ming339456 阅读数 20642   原文地址(摘要了部分内容):https://blog.csdn.net ...

  9. [转帖]Linux操作系统定时任务系统 Cron 入门0

    Linux操作系统定时任务系统 Cron 入门 https://www.cnblogs.com/zhuiluoyu/p/5646400.html   cron是一个linux下的定时执行工具,可以在无 ...

  10. Mysql 学习参考

    [1]Mysql 基础知识 (1)<Mysql 官网> (2)<菜鸟教程之Mysql数据库教程> (3)<C语言中文网之Mysql数据库栏> (4)<W3Sc ...