当前位置: 首页 > news >正文

接口测试基本知识点

1、接口的定义

系统与系统之间、组件与组件之间、数据传递交换的通道

2、接口的类型

按协议:http、tcp、ip

按语言:C++、java、php

按范围:系统与系统、内部系统与内部系统、外部系统与外部系统之间

程序划分:多个内部程序、内部系统与外部系统、模块与模块

3、接口的优点

责任划分清晰、缩短研发周期、可拓性强

4、接口测试的特点

1、接口测试可提前接入,提早发现bug,符合质量控制前移的理念

2、可以发现一些页面操作发现不了的问题

3、接口测试低成本高收益

4、不同于传统的单元测试,接口测试是从用户角度对系统进行全面的检测

5、接口测试的实现方式

1、使用接口测试工具来实现(比如:JMeter、postman、fiddler)

2、通过编写代码来实现(比如:python+request)

6、自动化接口测试的定义

让程序或工具代替人工自动完成对接口进行测试的一种过程,借助工具、代码、模拟客户端发送请求给服务器,借助断言自动判断预期结果和实际结果是否一致。

7、网络编程基本概念

客户端(Client):移动应用(iOS、Android、Web等应用)

服务器(Server):为客户端提供服务、提供数据、提供资源等机器

请求(Request):客户端向服务器索取数据的一种行为

响应(Response):服务器对客户端发出请求做出的影响,一般指返回数据给客户端

8、HTTP协议

计算机网络中两台计算机之前进行通信所必须遵守的规则或规定。

HTTP协议:(Hyper Text Transfer Protocol)超文本传输协议,是一种规定了浏览器和服务器之前通信的规则。是一个基于请求与响应模式的、应用层协议、也是互联网上应用最为广泛的一种协议。

9、HTTP协议的特点

1、支持客户端服务器端模式

2、支持快速简单

3、灵活

4、无连接

5、无状态

10、URL(统一资源定位符)

是互联网标准的资源地址,HTTP使用URL建立连接和传输数据。

概念:互联网上资源的地址,位置。唯一的定义一个数据资源。

格式:协议:主机地址/路径

11、URL语法格式组成

https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzkxMzI4ODgyOA==&action=getalbum&album_id=2068674408138768385#wechat_redirect

协议 域名IP 资源路径 查询参数

端口范围 0到65535、http默认80、https默认443

12、协议http规定数据传输的方式

域名ip:在网络环境中找到主机

端口(port):在网络主机上,标识一个进程(应用程序)

资源路径:标识网络资源(文件、图片、音视频、变量等等)

查询参数:传递给资源路径对应的数据,查询参数内部用&隔分多个键值对

13、请求分为两种:GET POST

GET:提交的数据显示在地址栏,不安全,提交的数据量有限制,不重要的数据使用

POST:隐式提交数据,更安全,没有数据量大小的限制,重要数据使用

14、数据传递的格式

1、纯文本的和简单的名称值对

2、ML格式:适用于标记文档,提供了对大规模数据的逐步解析方案

3、JSON格式:轻量级的数据交换格式,因为简单灵活适用于数据分析

15、HTTP请求

请求行:请求方法+URL+协议版本

请求头:请求体的数据类型User-Agent描述请求发送端的浏览器类型

请求体:post(添加,常用于登录) put(修改) 有请求体get(查询) delete(删除)没有请求体

16、HTTP响应

1XX:指示信息,表示请求已接受,继续处理

2XX:成功,表示请求已被成功接收、理解、接受,200 201

3XX:重定向,要完成请求必须进行进一步的操作

4XX:客户端错误,请求由语法错误或请求无法实现,404 403

5XX:服务器端错误

17、传统风格接口

查询某个用户:get和post

查询所有用户:get和post

添加用户:post

修改用户:post

删除用户:get和post

特点:

1、请求方法:只使用get和post即可

2、URL不唯一,同一个操作可以对应不同的URL

3、状态码的使用比较单一,200比较常见

18、RESTful接口

定义:一种软件架构设计风格而不是标准,只是提供了一组设计原则和约束条件

RESTful架构特点:

1、统一的接口:http(s)😕/服务器地址:端口号【项目名称/版本-可选】资源

http:// 为我们http协议的访问头标准

服务器地址:为我们项目服务器ip地址

端口号:为我们服务器内项目访问的指定编号

项目名称/版本:可选

资源:互联网-图片、音乐、视频、文本、数据

2、http请求方法

get:从服务器取出资源 一个或者多个

post:在服务器新建一个资源 单个或者多个

put:在服务器更新资源(客户端提供改变后的完整资源)

delete:从服务器删除资源

19、接口测试流程

1、需求分析,主要依据需求文档

2、接口文档解析,一般是由开发人员编写接口文档(API文档)

3、设计测试用例

4、执行测试,使用接口测试工具实现或通过编写代码实现

5、接口缺陷管理与跟踪

6、生成测试报告

7、接口自动化集成(可选)

开发:概要设计书、详细设计书、代码

测试:测试计划、测试方案、测试用例、执行测试用例、提交跟踪缺陷、编写测试报告

20、接口文档定义

又称为API文档,一般是由开发人员所编写的,用来描述系统所提供接口信息的文档。大家都根据这个文档进行开发,并需要一直维护和遵守。

21、为什么要写接口文档

1、能够让前端开发与后端开发人员更好的配合,提高工作效率(有一个统一参考的文件)

2、项目迭代或者项目人员更迭时,方便后期人员查看和维护

3、方便测试人员进行接口测试

22、接口文档内容

一个规范的接口文档要包含以下信息

资源路径:协议、域名、请求方法、接口描述

请求参数:请求头Content-Type描述请求体的数据类型

请求体:实现该接口使用的数据及对应类型

返回数据:状态码200,错误码(自定义错误码)码值+描述信息

现在我邀请你进入我们的软件测试学习交流群:746506216】,备注“入群”, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!

在这里插入图片描述

在这里插入图片描述

相关文章:

  • C++学习记录4
  • JSP企业内部交流系统myeclipse开发mysql数据库bs框架java编程jdbc
  • 关于获得淘宝商品评论的那些事
  • 资深工程师整理2022年最新面试题汇总
  • 打破程序员“中年危机”8年测试工程师经验之谈
  • 资深架构师必备知识:Netty+MySQL+并发+JVM+多线程
  • java移动端选课系统设计与实现服务器端计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
  • hadoop historyserver启动,无法访问,查看报错等问题
  • Worthington公司刀豆蛋白A的特性及参考文献
  • 面试算法 二叉树的遍历,方法 :线索二叉树 ( morris ) ,前序遍历: 中序遍历: 后序遍历
  • Google Earth Engine(GEE)——一个简单的影像波段时序折现图
  • Pytorch神经网络设计技巧-如何得到各层的input shape
  • 21-mvc 体系结构源码详解
  • 22-Spring MVC源码跟踪
  • 113:vue+openlayers 动态添加layer到layerGroup,并动态删除( 示例代码 )
  • go语言学习初探(一)
  • JavaScript函数式编程(一)
  • JS笔记四:作用域、变量(函数)提升
  • KMP算法及优化
  • Linux后台研发超实用命令总结
  • vue:响应原理
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 简单基于spring的redis配置(单机和集群模式)
  • 力扣(LeetCode)21
  • 爬虫模拟登陆 SegmentFault
  • 前端技术周刊 2019-01-14:客户端存储
  • 强力优化Rancher k8s中国区的使用体验
  • 区块链技术特点之去中心化特性
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 正则表达式小结
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • ​ArcGIS Pro 如何批量删除字段
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • #在 README.md 中生成项目目录结构
  • $(function(){})与(function($){....})(jQuery)的区别
  • (MATLAB)第五章-矩阵运算
  • (力扣题库)跳跃游戏II(c++)
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (算法)求1到1亿间的质数或素数
  • (转)Oracle存储过程编写经验和优化措施
  • .net core使用RPC方式进行高效的HTTP服务访问
  • @property @synthesize @dynamic 及相关属性作用探究
  • [ web基础篇 ] Burp Suite 爆破 Basic 认证密码
  • [20190113]四校联考
  • [ASP]青辰网络考试管理系统NES X3.5
  • [bzoj1324]Exca王者之剑_最小割
  • [C++数据结构](31)哈夫曼树,哈夫曼编码与解码
  • [CF543A]/[CF544C]Writing Code
  • [codevs1288] 埃及分数
  • [HTML]HTML5实现可编辑表格
  • [InnoDB系列] -- SHOW INNODB STATUS 探秘
  • [Invalid postback or callback argument]昨晚调试程序时出现的问题,MARK一下
  • [Java] 什么是IoC?什么是DI?它们的区别是什么?
  • [java基础揉碎]方法的重写/覆盖