【性能测试】接口测试各知识第1篇:接口测试,学习目标【附代码文档】

接口测试完整教程(附代码资料)主要内容讲述:接口测试,学习目标学习目标,2. 接口测试课程大纲,3. 接口学完样品,4. 学完课程,学到什么,5. 参考:,1. 理解接口的概念。学习目标,RESTFUL1. 理解接口的概念,2.什么是接口测试,3. 接口测试的基本流程,4. 学习掌握接口测试工具RESTClient、Postman的使用,目标,1. 定义。Jmeter 基本使用流程学习目标,目标,1. 主界面布局,2.Jmeter的基本使用流程,3. 相关概念。Jmeter 八大元件及执行顺序,参数化学习目标,目标,1. 元件作用域及执行顺序,2. 八大可执行元件,目标,目标。Jmeter 从数据库中获取数据,Jmeter 关联目标,目标,为什么要使用Jmeter从数据库中获取数据?,目标,1. 需求,2. 正则表达式提取器。Jmeter断言,Jmeter 集合点目标,目标,1. 断言概述,2. 需求,3. 响应断言,4. Size Assertion(大小断言)。Jmeter 逻辑控制器学习目标,目标,1 为什么要学习逻辑控制器?,2. 什么是逻辑控制器?,3. 常用(控制类)逻辑控制器,4. 常用(分组类)。Jmeter 图形监视器扩展插件下载及使用,项目-学生信息管理系统学习目标,目标,1. 为什么要下载图形监视器扩展插件?,2. 图形监视器扩展插件有什么用?,目标,目标。项目-学生信息管理系统,Jmeter 附件-API文档目标,目标,Queries释义,Queries释义,目标,目标。接口自动化脚本设计,性能脚本设计目标,目标,为什么要设计自动化脚本?,3. 组件配置图,4. 整体效果动态演示,5. 脚本执行含查数据库演示。Jmeter FTP服务器测试,Jmeter Test Fragment(测试片段)目标,目标,1. FTP是什么?,2. FTP有什么用?,3. 如何测试FTP服务器?,目标。

全套笔记资料代码移步: 前往gitee仓库查看

感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~


全套教程部分目录:


部分文件图片:

接口测试

学习目标

  • 了解接口测试服务对象,基本作用
  • 接口测试环境插件工具
  • 掌握jmeter的使用

  • 环境搭建

  • 8大元件的作用和简单的使用
  • 脚本录制
  • 常用函数的使用
  • 功能脚本的编写
  • 自动化脚本的编写
  • 性能脚本的编写
  • 掌握接口测试的接口清单 整理

  • 掌握接口测试的测试用例编写

  • 编号,标题,处理,预期结果

2. 接口测试课程大纲

课程安排
序号阶段内容
01第一阶段- 理解接口测试
02第二阶段- 熟悉Jmeter工具组成
03第三阶段(核心)- 参数化、集合点、关联、断言、数据库
04第四阶段- 属性管理器及逻辑控制器
05第五阶段- 项目实战(接口功能脚本、自动化脚本、性能脚本)

3. 接口学完样品

3.1 Jmeter工具元件使用

元件使用

3.2 聚合报告

聚合报告

3.3 用例设计

测试用例

3.4 html性能报告

html测试报告

3.5 Aggregate Graph

监听器

3.6 Response Time

响应时间

4. 学完课程,学到什么

1. 熟练使用Jmeter工具;
2. 掌握接口测试规范;
3. 掌握基于Jmeter完成接口测试(功能、自动化、性能)脚本;
4. 掌握基于Jmeter对Web项目性能压测;

5. 参考:

[1. Jmeter从入门到精通](

2. Jmeter 中文手册

[3. Jmeter教程](

[4. Jmeter官网](

学习目标

1. 理解接口的概念

2.什么是接口测试

3. 接口测试的基本流程

4. 学习掌握接口测试工具RESTClient、Postman的使用

接口与接口测试

学习目标

  • 理解接口的概念
  • 理解接口测试概念
  • 掌握接口测试分类
  • 接口测试的基本流程

演示接口

[

[

[

1. 接口概述(了解)

1.1 什么是接口呢?

接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口; 或者一种是软件接口,一种是硬件接口.

我们常说的接口是应用程序编程接口,也就是Application Programming Interface,简称API.

1.2 常见接口

  1. webService接口:是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。可以使用的工具有SoapUI、jmeter、loadrunner等;

  2. http api接口:是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。可以使用的工具有postman、RESTClient、jmeter、loadrunner等;

1.3 使用接口的优点

  • 项目开发中,使用接口带来的优点
1. 统一设计标准;
2. 前后端开发相对独立;
3. 扩展性灵活;
4. 前后端都可以使用自己熟悉的技术;
  • 项目开发中,未使用接口的缺点
1. 研发标准不统一,团队磨合难度高
2. 研发周期长
3. 可扩展性差

总结:

  • 软件项目开发模式大多数都采用接口了,那我们作为软件测试人员要学接口吗?

    复习-接口的组成部分

2. 接口测试

2.1 什么是接口测试

接口测试是测试系统组件间数据交互的一种方式.

接口测试就是通过测试不同情况下的输入参数和与之对应的输出结果来判断接口是否符合或满足相应的功能性、安全性要求.

简单的说,接口测试是就是代替前端或者第三方,来验证后端实现是否符合接口规范.

2.2 接口测试的好处

通过接口测试,测试接口的正确性和稳定性, 能快速定位bug,提高测试效率.

  • 能为项目平台带来高效的缺陷监测和质量监督能力;
  • 平台越复杂,系统越庞大,接口测试的效果越明显(提高测试效率,提升用户体验,降低研发成本)

2.3 接口测试原理

原理:

模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收响应数据后并进行判断

  • 请求: 是否正确, 默认请求成功是返回200, 假如请求错误返回400, 404, 500等状态码
  • 检查: 返回数据的正确性与完整性
  • 安全性: 接口一般不会暴露在网上任意被调用,需要做一些限制,比如必须登录或者请求次数、频率限制

2.4 基本流程

接口测试流程: 定位服务器接口资源并提交测试数据,然后查看响应结果是否符合预期

  1. 定位接口资源(URL)

  2. 提交测试数据

  3. 检查响应结果

2.5 接口测试分类

  • web接口测试
  • 模块接口测试
(1). web接口测试
  • 服务器接口测试, 是测试浏览器与服务器的接口, 是B/S架构的

  • 外部接口测试, 测试第三方接口,

    举例:支付接口测试/天气预报接口测试

(2). 模块接口测试
  • 单元测试的基础,主要测试模块的调用与返回.

3. 如何做好接口测试

接口测试要遵循一些要点:

  1. 接口的功能性实现. 检查接口返回的数据与预期结果的一致性.
  2. 测试接口的容错性, 例如传递的数据类型是错误的能否处理.
  3. 测试接口参数的边界值. 例如传递的数据足够大或者为负数时能否处理
  4. 测试接口性能, 接口处理和响应数据的时间也是测试的一个方面, 这牵扯到代码实现的优化
  5. 测试接口的安全性. 特别是第三方接口,比如登录的用户名密码第三方是否是密文传输的

常用的测试工具

学习目标

  • 熟悉并了解开发常用接口测试插件
  • 快速掌握离线及在线安装插件方式
  • 体验接口测试

常用的接口测试工具

  • loadrunner:一款商业性能测试工具,可用来做接口测试、性能测试、压力测试等,很好很强大
  • jmeter:一款开源的性能测试工具,操作简单,方便,既有jdbc request操作数据库数据,也有http request和soap request应对测试
  • postman:谷歌浏览器的扩展工具,谷歌商店中选中安装,界面同poster差别不大,界面简洁
  • soapui:开源测试工具,通过soap/http协议来检查、调用、实现Web Service的功能/负载/符合性测试;
  • RestClient: Firefox上一款用于测试各种Web服务的插件,它可以向服务器发送各种HTTP请求(用户也可以自定义请求方式).

我们主要使用Jmeter, 简单了解Postman、RestClient

1. Postman

是google开发的一款功能强大的网页调试与发送网页HTTP请求,并能运行测试用例的的Chrome插件.

postman

1.1 安装postman
  • 安装chrome浏览器
  • 安装postman插件
  • 安装方式离线式/在线式(比较慢,建议离线) potman安装包
1.2 Postman安装步骤
  • 1). 安装谷歌浏览器

  • 2). 打开浏览器扩展页面

  • chrome://extensions/

  • 自定义及控制->更多工具->程序扩展

  • 3). 勾选开发者模式

安装postman

  • 4). 加载已解压的扩展程序

安装postman

1.3 Postman演示
  • 请求方法(GET)
  • 请求URL:[
1.4 结果
  • 查看响应状态码
  • 查看响应数据

2. RestClient

是Firefox上的插件,这款插件由国人开发,功能上支持于返回的数据高亮显示

restclient

2.1 安装环境
  • 安装火狐浏览器
  • 安装接口插件工具RestClient(RestClient安装包)
  • 安装方式(在线)
2.2 RESTClient安装步骤
  • 1). 安装火狐浏览器

  • 2). 打开浏览器-附加组件

  • about:addons

  • Ctrl+Shift+A
  • 工具菜单->附加组件

  • 3). 搜索RESTClinet 2.0.5

安装restclient

  • 4). 安装

安装restclient

安装restclient

2.3 RESTClient演示
  • 请求方法(GET)
  • 请求URL:[
2.4 结果
  • 查看响应状态码
  • 查看响应数据

3 总结

接口测试常用工具很多,我们讲解的是比较常用的postman、restclient以及后续重点学习的jmeter.

未完待续, 同学们请等待下一期

全套笔记资料代码移步: 前往gitee仓库查看

感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~

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

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

相关文章

Day65-企业级防火墙iptables精讲1

Day65-企业级防火墙iptables精讲1 补充:1.什么是防火墙?2.防火墙种类2.1 商用防火墙介绍2.2 Linux下防火墙介绍 3.选择何种防火墙?4.企业级架构最佳防火墙场景5.学好iptables的技术栈基础6.Iptables是什么?7.Iptables企业常用场景…

C++的并发世界(三)——线程对象生命周期

0.案例代码 先看下面一个例子&#xff1a; #include <iostream> #include <thread>void ThreadMain() {std::cout << "begin sub thread:" << std::this_thread::get_id()<<std::endl;for (int i 0; i < 10; i){std::cout <&…

海豚调度任务类型Apache SeaTunnel部署指南

Apache DolphinScheduler已支持Apache SeaTunnel任务类型&#xff0c;本文介绍了SeaTunnel任务类型如何创建&#xff0c;任务参数&#xff0c;以及任务样例。 一、Apache SeaTunnel SeaTunnel 任务类型&#xff0c;用于创建并执行 SeaTunnel 类型任务。worker 执行该任务的时…

python项目练习——12.在线购物商城应用程序

项目功能分析&#xff1a; 这个项目可以让用户浏览商品、添加商品到购物车、进行结账等操作。这个项目涉及到数据库操作、用户认证、支付集成等方面的技术。 代码示例&#xff1a; # models.py from django.db import models from django.contrib.auth.models import User cl…

前端学习<四>JavaScript基础——01-编程语言和JavaScript简介

计算机语言 概念 计算机语言&#xff1a;人与计算机之间通信的语言。它是人与计算机之间传递信息的媒介&#xff0c;它通过特定的语法规则和语义约定&#xff0c;将人类可理解的指令转化为计算机可以执行的机器指令。 计算机程序&#xff1a;就是计算机所执行的一系列的指令…

下载kibana安装包 ubuntu 23 进行安装

要在 Ubuntu 23 上手动下载 Kibana 安装包并进行安装&#xff0c;您可以遵循以下步骤&#xff1a; 步骤 1&#xff1a;下载 Kibana 安装包 访问 Elastic 官方网站的 Kibana 下载页面。选择适合您系统架构&#xff08;通常是 amd64 对应于 x86_64 架构&#xff09;的 Kibana 版…

【js】监听文件上传下载进度,设置请求头信息与获取响应头信息

监听文件上传下载进度 例子&#xff1a;html部分 <input type"file" id"selectFile"> <span id"progress1"></span><button id"downloadFile">download</button> <span id"progress2"&g…

关联对象介绍

关联对象的作用 在分类里面&#xff0c;不可以直接为分类添加属性 在代理中&#xff0c;不可以直接为代理添加属性 在普通类中&#xff0c;property (assign, nonatomic) int age; 会做三件事&#xff1a; 生成age的成员变量生成age的get、set方法的声明生成age的get、set方…

使用 Docker 部署 Puter 云桌面系统

1&#xff09;Puter 介绍 :::info GitHub&#xff1a;https://github.com/HeyPuter/puter ::: Puter 是一个先进的开源桌面环境&#xff0c;运行在浏览器中&#xff0c;旨在具备丰富的功能、异常快速和高度可扩展性。它可以用于构建远程桌面环境&#xff0c;也可以作为云存储服…

Unix运维_如何测试C11和C++11至C17和C++17标准的支持

Unix运维_如何测试C11和C11至C17和C17标准的支持 C语言 标准主要有以下几个版本: K&R C: 这是 C语言 的第一个标准, 由 Dennis Ritchie 和 Brian Kernighan 于 1978 年在《The C Programming Language》一书中定义。K&R C 标准包含了基本的语法, 数据类型, 运算符等,…

C# OpenFileDialog

c#—OpenFileDialog&#xff08;打开文件对话框&#xff09; OpenFileDialog 是 Windows Forms 应用程序中用于打开文件的常用对话框。它提供了一个标准的用户界面&#xff0c;让用户能够浏览文件夹、查看文件列表以及选择一个或多个文件。下面是一个使用 OpenFileDialog 的基本…

codeforces Edu 142 D. Fixed Prefix Permutations 【思维、字典树求LCP】

D. Fixed Prefix Permutations 题意 给定 n n n 个长度为 m m m 的排列 a 1 , a 2 , . . . a n a_1,a_2,...a_n a1​,a2​,...an​ 定义一个排列 p p p 的 价值 为 最大顺序长度 k k k&#xff1a; p 1 1 , p 2 2 , p 3 3 , . . . p k k p_1 1,p_2 2, p_3 3, ...…

在编程中使用中文到底该不该??

看到知乎上有个热门问题&#xff0c;为什么很多人反对中文在编程中的使用&#xff1f; 这个问题有几百万的浏览热度&#xff0c;其中排名第一的回答非常简洁&#xff0c;我深以为然&#xff1a; 在国内做开发&#xff0c;用中文写注释、写文档&#xff0c;是非常好的习惯&…

产品经理功法修炼(2)之专业技能

点击下载《产品经理功法修炼(2)之专业技能》 1. 前言 产品经理的能力修炼并非局限于某一技能的速成,而是需要全面参与到产品的整个生命周期中,通过不断的实践来逐步提升自己的各项能力。尽管在企业的日常运作中,我们不可能身兼数职去扮演每一个角色,但作为产品的核心负…

【适用于福彩3D和体彩排列3】012路直选代码对照表

在我的第6套算法中&#xff0c;我用自己搭建的AI模型&#xff0c;对012路直选进行了预测&#xff0c;但是由于没有对照表&#xff0c;导致很多朋友无法看懂预测结果。众所周知&#xff0c;对于012路直选&#xff0c;共计27种组合方式。我自己进行了组合分类&#xff0c;并赋予相…

建立mysql测试数据

建立一个多数据&#xff0c;多字段的大表&#xff0c;索引有意不全&#xff0c;用于多线程测试 1.建表 /*Navicat Premium Data TransferSource Server : duoSource Server Type : MySQLSource Server Version : 80300 (8.3.0)Source Host : localhost:…

LeetCode 209 长度最小的子数组(滑动窗口,双指针实现)

给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续 子数组 [numsl, numsl1, ..., numsr-1, numsr] &#xff0c;并返回其长度。如果不存在符合条件的子数组&#xff0c;返回 0 。 示例 1&#xff1a; 输入&…

微知识-git rebase常用的3个场景和2个本质

如何修改历史提交的commit 的msg信息 r &#xff0d; git rebase -i xxxx 其中xxx是需要修改的commit的father , -i 是指交互式 &#xff0d; 将pick 修改为r 表示修改commit msg &#xff0d; 其他的不要动 git rebase的原理是&#xff0c;在交互式界面好比是输入命令&#x…

[C/C++] -- 二叉树

1.简介 二叉树是一种每个节点最多有两个子节点的树结构&#xff0c;通常包括&#xff1a;根节点、左子树、右子树。 满二叉树&#xff1a; 如果一棵二叉树只有度为0的结点和度为2的结点&#xff0c;并且度为0的结点在同一层上&#xff0c;则这棵二叉树为满二叉树。深度为k&a…

创研杯赛事:激发英语热情,助力人才培养

2024 中国翻译协会年会期间&#xff0c;知名赛事活动平台赛氪承办的“AI 科技时代竞赛与就业”分论坛&#xff0c;于 3 月 30 日下午在长沙圆满落幕。其中值得瞩目的是&#xff0c;第三届”创研杯“大赛也在本次会议上进行了启动。 创研杯赛事由空中英语教室杂志社发起主办&am…