首页 > 其他分享 >软测5班jmeter笔记(2019-10-29)

软测5班jmeter笔记(2019-10-29)

时间:2023-06-07 19:31:45浏览次数:75  
标签:10 软测 请求 29 接口 线程 测试 参数 jmeter


接口测试理论
自动化测试的金字塔模型

硬件接口:比如usb接口,电源接口、耳机接口...

软件接口:数据系统访问接口、 http请求接口...

为什么要做接口测试

Web前端:指用户可以直观操作和看到的界面。html,Css样式,javascript脚本。android和ios等。
web后端:是指与数据库交互进行处理响应的业务逻辑。包括java、python、php 、net等。
通过接口进行沟通。

什么是接口?(API)
API,接口是一个位于复杂系统之上能简化任务,像中间人一样不需要你了解详细的所有细节。比如登录页面,只需要调用登录接口,就可以达到系统登录的目的。
接口的官方定义:接口是模块与模块之间的对接方式定义,或者是系统与系统之间的对接方法定义

接口测试与功能测试的对应关系
接口测试也是一种功能测试,普通的功能测试在网页上模拟用户操作,接口测试是协助工具,通过接口文档,输入请求参数,校验返回的正确性。

单元测试与接口测试的区别:
1、单元测试注重代码逻辑,接口测试注重业务逻辑
2、单元测试粒度最小,是测试最小独立的的单元模块(不依赖其他模块);接口测试不是,会覆盖很多
3、单元测试是白盒测试,接口测试是黑盒测试
4、单元测试关注的代码实现和逻辑,测试范围较小,保证实现逻辑通过就行;接口测试因为关注业务逻辑,所以测试范围较广泛

接口测试流程
需求评审,熟悉业务和需求——>开发提供接口文档(如果没有接口文档就通过抓包工具进行抓包)——>设计测试用例——>用例评审——>执行测试——>编写测试报告

接口文档包含以下哪些内容?
1、接口描述,这个接口是做什么的
2、请求的URL,请求的方法,post get
3、请求的参数(入参),请求的参数类型、请求的参数说明
4、返回响应、返回参数说明

如何设计接口测试用例
主要从以下几个方面考虑:
正常验证:业务规则、功能需求、按照接口文档中的要求,参数正常输入、返回预期的结果
异常验证:不满足前置条件,常见的有些接口需要token或者cookie,携带默认参数值,带默认值的参数不填,入参的必填的参数不填,入参的长度不符合、入参的类型的异常
安全性验证:关键参数是否明文传输、密码安全校验规则、密码复杂程度、像购物订单,用户下单,服务器是否再校验
接口的性能

web自动化测试的二种思路:
1:UI层面自动化,可以使用selenium这样的UI自动化测试框架,模拟用户操作。
2:接口层面的自动化,用发包工具模拟浏览器发包,直接发送http请求给Web服务器,然后对服务器响应回来的结果进行验证。

接口测试工具:
1:抓包工具:fiddler  charles
2:发包工具:jmeter postman或者商业性的Loadrunner

面试题:为什么要进行接口测试?
接口测试由于绕开了前端,直接通过请求调用的方式进行测试,
1:更早的测试介入,只要接口开发完成,就可以进行测试
2:更多的场景覆盖,因为绕开了前端控制,使得测试场景更自由
3:接口测试从项目的角度,工作量是低于UI测试的,投资回报较高
4:接口测试对于自动化的支撑度更好,接口测试可以扩充对于其他类型测试的支持,比如性能测试、安全性测试等,如果接口测试做不好的话,这两种测试也做不好。

jmeter环境配置
需要安装jdk环境
jmeter基于接口的测试
Loadrunner是基于场景的测试

接口测试依据:
1:参数接口文档填入参数
2:没有接口文档,那就需要先跟开发沟通,然后整理接口文档,采用抓包工具fiddler抓包,查看接口请求的参数

jmeter操作基本步骤:
1:添加线程组
2:线程组——>samples——>http请求
3:http请求——>Listener(监听器)——>添加查看结果树

jmeter参数化
1:准备参数文件
2:Thread Grop——>Add——>Config Element——>Csv Data SetConfig
3:使用变量
4:设置线程数

Number of Threads(users):一个用户占一个线程,200个线程就是模拟200个用户
Ram-Up Period(in seconds):设置线程需要多长时间全部启动,如果线程数200,准备时长为10
Loop Count:每个线程发送请求的次数,如果线程数是200,循环的次数为10,那么每个线程发送10次请求,总请求数为200*10=2000

断言:请求成功,返回响应代码为200,并不代表结果一定正确,还需要判断返回内容的正确与否。因此在请求的返回层面增加一层判断机制,以此来提高测试的准确性(类似于Loadrunner检查点)

Response Assertion(响应断言)
1:添加响应断言对web请求的响应进行验证,请求右键——>添加——>断言——>响应断言
2:输入需要匹配的字符
3:添加断言结果,请求右键——>添加——>监听器——>断言结果
4:运行Testplan中的线程组,进行断言检查

jmeter中监控Linux中服务器资源
客户端(Jmeter端)
访问网址https://jmeter-plugins.org/downloads/old/,下载JMeterPlugins-Standard和JMeterPlugins-Extras这两个文件,解压复制JmeterPlugins-Extras.jar、JmeterPlugins-Standard.jar到Jmeter文件夹的lib/ext路径下
重启jmeter后,在监听器中看到perfmon Meterics collector,客户端配置成功

服务器
1、把下载的ServerAgent-2.2.*.zip复制到服务器端,解压即可unzip ServerAgent-2.2.*.zip
2、cd ServerAgent-2.2
3、chmod 777 startAgent.sh
4、./startAgent.sh

面试题:
在手工接口测试或者自动化接口测试的过程中,上下游接口有数据依赖如何处理?
答案:在jmeter中可以用正则表达式来来实现。
第1步:Jmeter中关联可以在需要获取数据的请求上 右键-->后置处理器 选择需要的关联方式,
第2步:设置正则表达式提取器:包括引用名称、正则表达式、模板、匹配数组等
第3步:在其他下游请求中用${引用名}来或取第2步中的值

标签:10,软测,请求,29,接口,线程,测试,参数,jmeter
From: https://blog.51cto.com/jcy58/6434375

相关文章

  • Win10 powershell提示符修改
    在“文档”目录下新建“Microsoft.PowerShell_profile.ps1”,#只显示当前文件夹名称functionprompt{$p=pwd|Split-Path-Leaf"$p:"}#下边是conda的配置命令(&"C:\Users\hello\anaconda3\Scripts\conda.exe""shell.powershell""hook")......
  • 我在<电脑编程技巧与维护>2010年8月刊上写的文章
    ......
  • 性能测试-批量向数据库中构造数据(10万条)
    通过存储过程向数据库sys_member表中插入10万条数据:向苏汽系统中Mysql插入批量数据(构造10万条数据):第1种方法:通过存储过程实现DROPPROCEDUREIFEXISTSmy_insert;CREATEPROCEDUREmy_insert()BEGINDECLAREnintDEFAULT0;loopname:LOOPinse......
  • YS9082HC+B27B固件量产工具,YS9082HT可参考,YS9082HC+镁光MT29F512G08EBLCE开卡!YS9082HP
    YS9082HC+B27B,镁光MT29F512G08EBLCE开卡!闪存ID:2C,C3,08,32,E6,00。如下图,不知道为什么检测出来的是9081?开卡设置,从量产部落下载的YS9082HCMPTool,如下图:结果报错:重新设置,更改了大小,240G改到了160G!分析是坏块过多了!我有不少B27颗粒的坏块都多,还是主控问题?我的其他两片B27,开120G都......
  • day10-Spring Cloud Alibaba Nacos-服务注册与配置中心
    SpringCloudAlibabaNacos-服务注册与配置中心官网:https://github.com/alibaba/nacos,Nacos官方中文手册Nacos:SpringCloudAlibaba服务注册与配置中心(非常详细)(biancheng.net)SpringCloudAlibaba系列-一文读懂Nacos原理-掘金(juejin.cn)1.什么是NacosNacos/nɑ:k......
  • win10 共享文件夹给本地打印机
    在“启用活关闭Windows功能”里,找到“SMB1.0/CIFS文件共享支持”,勾选开启;建议在系统属性里,把计算机名设置成简单的字母,比如hi,然后重启电脑;在  防火墙和网络保护→允许应用通过防火墙,里面找到“文件与打印机共享”,后面两个复选框全部勾选;在任意磁盘新建一个文件夹,我这新建......
  • 如何对16个末端回路的电气因素进行在线监测——智慧用电精灵AESP100
    安科瑞虞佳豪AESP100系列末端多回路智慧用电在线监测装置应用于户内建筑物及类似场所的工业、商业、民用建筑及基础设施等领域低压终端配电网络。此装置配合断路器使用,对用电线路的关键电气因素,如电压、电流、功率、温度、能耗等进行实时监测,具有预警报警、电能计量统计等功能。......
  • TI 芯片CC1310系列问题答疑分享
    1.CC1310的发射、接收、休眠功耗、供电范围是多少?1)TX:13.4mA@+10dBm;23mA@+14dBm2)RX:5.4mA3)MCU电流:2.5mA@48MHzARMCortex-M34)Sensorcontroller电流:400uA+8.2uA/Mhz5)休眠电流:0.7uA(RTC与RAM保持)6)深度休眠电流:0.185uA7)供电范围:1.8V~3.8V2.CC1310支持的无线频段、速率、距离、发射功......
  • 彻底关闭Win10自动更新
    一、禁用WindowsUpdate服务1、同时按下键盘Win+R,打开运行对话框,然后输入命令services.msc,点击下方的“确定”打开服务。2、找到WindowsUpdate这一项,并双击打开。3、双击打开它,点击“停止”,把启动类型选为“禁用”,最后点击应用。4、接下再切换到“恢复”选项,......
  • STM32F429 Discovery开发板应用:实现SPI-SD Card文件写入(搭载FatFS文件系统)
    MCU:STM32F429ZIT6开发环境:STM32CubeMX+MDK5 外购了一个SPI接口的SDCard模块,想要实现SD卡存储数据的功能。首先需要打开STM32CubeMX工具。输入开发板MCU对应型号,找到开发板对应封装的MCU型号,双击打开(图中第三)。 此时,双击完后会关闭此界面,然后打开一个新界面。 ......