软件测试/测试开发丨 | 想做App测试就一定要了解的App结构

news2024/11/27 0:35:06

性能测试

所谓的性能测试要在功能测试之后。

  • 功能测试:关注能不能用

  • 性能测试:关注好不好用

常见的性能关注点有:

  • 接口响应时间:50毫秒 ~ 1000毫秒

  • 吞吐量:1000万每天,2000万每天 ......10亿每天

  • TPS:Transaction Per Second 事务处理能力,每秒处理事物数(打开页面、登录、选择商品、加入购物车、下单、付款)

注意:“日活”每日活跃用户数,是个运营数据,跟性能没有必然关联性

JMmter是什么?

用更准确的话说,压力测试包括:

  • Spike testing:短时间的极端负载测试

  • Extreme testing:在过量用户下的负载测试

  • Hammer testing:连续执行所有能做的操作

开源免费只是众多优点之一,jmeter有以下几个优点:

  • 开源免费,基于Java编写,可集成到其他系统可拓展各个功能插件

  • 支持接口测试,压力测试等多种功能,支持录制回放,入门简单

  • 相较于自己编写框架或其他开源工具,有较为完善的UI界面,便于接口调试

  • 多平台支持,可在Linux,Windows,Mac上运行

官网:https://jmeter.apache.org/

下载:binary可运行文件包

贴心提醒:

官网下载规律:

首页 -> Download -> 版本号 -> binaries,因为binaries代表已经编译完,source是还未编译的源码。

 JMmeter包含哪些功能模块

主要功能模块

  • 取样器:进行脚本逻辑控制。

  • 线程组:压测场景控制。

  • 监视器:监控压测运行,获取性能指标。

录  制

步骤一:

  • 打开 JMeter

  • 添加 “HTTP(S) Test Script Recorder”

步骤二:

  • 添加“Thread Group”

步骤三:

  • 在 Thread Group中添加“Recording Controller”

在JMeter中设置端口,你可以打开 HTTP(S) Test Script Recorder:比如设定 Port = 8088与此同时,你也可以指定录制保存到哪个controller 比如设定 Target Controller = Test Plan > Tread Group > Recording Controller

设置浏览器端口,你要打开浏览器,将浏览器的代理服务器地址指向 http://localhost:8088

开始录制:单击HTTP(S) Test Script Recorder中的Start按钮,打开代理

单击弹框中的确定按钮

JMeter的录制代理将会开启

在对应的浏览器中访问百度新闻网站

  • 切换到国际频道

  • 切换到财经频道

  • 停止JMeter的代理服务

我们可以利用正则表达式排除一些静态资源在http(s) Test Script Recoder下找到Requests Filtering 添加“include”与 “Exclude”URL 正则匹配表达式

  • Include:.*\.(baidu\.com).*

  • Exclude:.*\.(js|css|PNG|jpg|ico|png|gif).*

当我们录制完毕,你可以添加result tree看请求和响应的细节:添加 View Results Tree

如果你想对录制进行回放,点击左上角的绿色三角:

在压测过程,要例证请求/响应的正确性

  • 断言的实际值与设定值相符 -> 成功

  • 断言的实际值与设定值不相符 -> 失败

右键单击对应的 HTTP Request,添加 Response Assertion

将校验条件添加到响应断言中比如:响应文本内容是否包含某个字符串或者http响应码是不是200

你可以在 View Results Tree 中查看结果,结果如果错误(设置响应码为2001),会报以下的错误

比如设置:

  • 并发数:10

  • 持续时间:30秒

当一切都设置完毕,点击运行,我们发现结果井然有序。

添加聚合压测报告 – Aggregate Report

以下是聚合报告的结果

  • Average:单个请求的平均响应时间

  • Median:中位数,也就是50%用户的响应时间

  • 90%Line:90%用户的响应时间

  • 95%Line:95%用户的响应时间

  • 99%Line:99%用户的响应时间

  • Min:最小的请求响应时间

  • Max:最大的请求响应时间

  • Error%:错误率

  • Throughput:吞吐量

  • Received KB/sec:每秒从服务器端接收到的数据量

  • Sent KB/sec:每秒从客户端发送的请求的数量

写在最后

本文使用漫画形式向大家展示了jmeter的基础用法:录制回放功能,断言,聚合报告。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/143326.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java面试题基本部分

一、Java 基础 1.Java常见基本类型如下 整数类(byte、short、int、long) 浮点类(float、double) 字符类(char) 布尔型(boolean)大小: boolean(8位 1字节) byte(8位 1字…

【数据结构与算法】Manacher算法

Manacher算法 https://github.com/SongJianHIT/DataStructurs-Algorithm/tree/main/src/algorithms/manacher 基本介绍 Manacher 算法常用于 求一个字符串中的最长回文子串。如:abc123321def 的最长回文子串为 123321。 计算字符串的最长回文字串最简单的算法就是…

Lattice CrossLink-Nx LIFCL-40应用连载8:MIPI DSI接口驱动LCD显示器

作者:Hello,Panda 一、案例需求 使用LIFCL-40-7MG121I FPGA的MIPI DSI硬核接口驱动7寸LCD显示器: (1)显示器:7寸,1024*600横屏,60Hz; (2)MIPI物…

计算机网络实验---Cisco Packet Tracer 实验

直接连接两台 PC 构建 LAN 用交换机构建 LAN 交换机接口地址列表 生成树协议(Spanning Tree Protocol) 路由器配置初步 静态路由 动态路由 RIP 动态路由 OSPF 基于端口的网络地址翻译 PAT 虚拟局域网 VLAN 虚拟局域网管理 VTP VLAN 间的通信 …

功率放大器电路图集(多种类功率放大电路)

关于功率放大器电路图集的问题是很多工程师都感兴趣和想了解的,今天就请安泰电子来为大家介绍一下多种类功率放大电路的内容。 一、功率放大电路介绍 1、一般情况来说功率放大电路的主要作用是让负载在不使信号失真或轻微失真的情况下获得最大功率。因此&#xff0c…

JavaScript 语法

文章目录JavaScript 语法JavaScript 语法JavaScript 字面量JavaScript 变量JavaScript 操作符JavaScript 语句JavaScript 关键字JavaScript 注释JavaScript 数据类型数据类型的概念JavaScript 函数JavaScript 字母大小写JavaScript 字符集JavaScript 语法 JavaScript 是一个程序…

Docker - Docker Compose;Docker Swarm

一、Docker Compose (一)Docker Compose介绍 Docker Compose是用于定义和运行多容器Docker应用程序的工具。通过Compose,您可以使用YML文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从YML文件配置中创…

可视化组件使用小技巧——中国地图组件的应用

中国地图作为我们数据展示常用的组件,通常被我们用来展示与地理位置相关的数据,中国地图组件在实际应用中可以帮助我们充当地区数据展示的作用,并让我们一眼看出区域之前的差异趋势。接下来结合实际案例让我们看看在山海鲸可视化软件中如何具…

你知道几种乘法的计算方式?

前言 家里有本《算法详解》一直没有看,昨天晚上打开翻了翻,觉得写的挺有趣的,第一章讨论了一个大家都学过的内容,乘法的计算。大部分人计算乘法,应该都只有一种方式,乘法的计算,也算是一种算法…

记录--微信小程序跳转H5、小程序、App

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 在业务中接触了微信小程序,客户对引流用户非常在意,每次都会提该需求,经常做就存档一下。使用的小程序账户都是企业版非个人版本。 跳转H5 在微信公众平台-小程序后…

axios:基本使用、常用配置项、create方法、请求和响应拦截器、取消请求

axios的使用一、发送ajax请求1.axios函数发送通用请求2.精简版GET请求3.精简版POST请求二、配置通用属性(create方法)三、请求和响应拦截器1.请求拦截器2.响应拦截器四、取消请求五、axios源码解析官网:https://github.com/axios/axios 一、…

GitHub桌面版和汉化包,使用详细(GitHub Desktop安装,github软件汉化包详细使用过程)

github大家都比较熟悉,而它的桌面版使用则更加方便(GitHub桌面版就是GitHub Desktop,它们的数据都是相通的),但是软件是英文版本,使用起来不太方便,这里为大家提供了该软件和汉化包,…

记一次靶场实战【网络安全】

前言 【一一帮助安全学习一一】 ①网络安全学习路线 ②20份渗透测试电子书 ③安全攻防357页笔记 ④50份安全攻防面试指南 ⑤安全红队渗透工具包 ⑥网络安全必备书籍 ⑦100个漏洞实战案例 ⑧安全大厂内部视频资源 ⑨历年CTF夺旗赛题解析 一、信息收集 先用nmap扫一下ip。 锁定…

多元线性回归分析

回归分析:研究X和Y之间相关性的分析回归分析是数据分析中最基础也是最重要的分析工具,绝大多数的数据分析问题,都可以使用回归的思想来解决。回归分析的任务就是,通过研究自变量X和因变量Y的相关关系,尝试去解释Y的形成…

gumbel-softmax的使用、课程学习的使用、有监督的对比学习的使用、无监督的对比学习的使用

一、gumbel-softmax的使用 gumbel-softmax里面的 τ\tauτ值越接近无穷获得的向量越接近一个均匀分布的向量;τ\tauτ值越接近0获得的向量越接近一个one-hard vector;τ\tauτ值越接近1则gumbel-softmax就和softmax越类似 # score:代表序列…

Ubuntu服务器使用NTP功能同步时间

前提: 1. 要明确自己的需求,是设计一个NTP服务器,然后给内网的其他用户提供NTP服务? 2. 还是发现自己Ubuntu系统时间错误,想要同步一个时间进来? 如果是2,继续往下看吧,如果是1&am…

2021年一篇强人工智能论文,基于AGI Brain改进的二代版本

AGI Brain II: The Upgraded Version with Increased Versatility Index返回论文和资料目录 1.论文简介 论文基于19年提出的第一代AGI Brain I 改进。主要有两点改进,1.提出一个AGI指标,2.用Mamdani模糊推理联想记忆代替原本的神经网络NN表示外显记忆&…

字节跳动最爱考的前端面试题:计算机网络基础

注意:每道题前面出现的 (xx) 数字代表这道题出现的频次,此 计算机网络 基础是基于 30 篇前端面经整理出的问题和对应的回答、参考链接等。文章内容为拿到 Offer 的本人整理。 (3)问:HTTP 缓存 HTTP 缓存又分为强缓存和…

ArcGIS基础实验操作100例--实验55栅格与ASCII转换

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 高级编辑篇--实验55 栅格与ASCII转换 目录 一、实验背景 二、实验数据 三、实验步骤 (1&a…

nodejs+vue+element+eachers构建开源项目大型连续剧(3)建立前端基础项目(暂时用的vue2框架)

书接上回,在第二集我们成功安装了mysql数据库,并通过nodejs服务器关联到数据库,并成功更改了数据库中的数据。这一集呢,主要是进行一个前端vue2项目的构建,后面如果大家想要看vue3的话可以后续更新,毕竟现在…