接口测试定义

接口是前后端沟通的桥梁,是数据传输的通道,包括外部接口、内部接口。内部接口又包括:上层服
务与下层服务接口,同级接口

生活中常见接口:电脑上的键盘、USB接口,电梯按钮,KFC下单

接口测试:是对系统或组件之间的接口进行测试,主要校验数据的交换、传递和控制管理过程,以及
相互逻辑依赖关系

接口自动化测试:让程序代替人为对接口项目进行自动化验证测试的过程

接口测试意义

接口测试使"测试更早投入"这句话变成现实

接口测试可以测试一些界面测试非常难以实现或无法测试的范围

从对项目的影响,接口测试直接测试后端服务,更加接近服务器上运行代码,也更能发现影响范围广泛的bug

接口测试更容易和自动化测试系统相结合

总结:熟练接口测试,能够独立搭建接口测试框架是测试工程师能力分水岭的体现

接口测试的实现

  • 实现方式:

1.使用接口测试工具来实现,比如jmetey,postman
2.通过编写代码来实现,比如python+requests

  • 两者比较

1.接口工具:更容易上手;测试数据不好控制;不方便测试加密接口;扩展能力不足
2. 代码实现:比较难;测试数据容易控制;可以使用加密函数对接口加密;容易扩展

接口测试的原理

接口测试是基于协议进行测试的,实际上是黑盒测试,基本的测试思路是通过输入和输出来判断
被测系统或对象的逻辑是否符合用户需求。

 
接口测试

HTTP协议

http (Hypertext Transfer Protocol) :超文本传输协议,一个简单的请求响应协议

https:是以安全为目标的HTTP通道,在HTTP的基础上通过传输加密(SSL)和身份认证保证了传输过程的安全性。

FTP(File Transfer Protocol):文件传输协议,在网络上传输大的文件时,一般也采用该协议。

HTTP组成

http消息是服务器和客户端之间交互数据的方式。有两种类型的消息:

1.请求:由客户端发送,用来触发一个服务器上的动作

请求由三个部分组成:请求行、请求头、请求体

2.响应:来自服务器的应答

响应也由三个部分组成:状态行、响应头、响应正文

http有哪些请求方式:

GET:向特定资源发送请求
Post:向指定的资源,提交数据进行处理请求
HEAD DELETE TRACE CONNECT OPTINONS PUT

 
接口测试

接口测试的流程

接口测试也是属于功能测试,所以跟我们以往的功能测试流程并没有太大区别,测试流程依旧是:

1.分析测试接口文档
2.根据接口文档编写测试用例
3.准备接口测试脚本,一般是用工具来完成的
4.执行接口测试活动
5.得出接口测试报告

 
接口测试
 
接口测试
 
软件测试全栈学习路线.jpg

接口测试原理及Postman详解的更多相关文章

  1. Go语言备忘录:反射的原理与使用详解

    目录: 预备知识 reflect.Typeof.reflect.ValueOf Value.Type 动态调用 通过反射可以修改原对象 实现类似“泛型”的功能   1.预备知识: Go的变量都是静态类 ...

  2. 基础 | batchnorm原理及代码详解

    https://blog.csdn.net/qq_25737169/article/details/79048516 https://www.cnblogs.com/bonelee/p/8528722 ...

  3. Oracle中的SQL分页查询原理和方法详解

    Oracle中的SQL分页查询原理和方法详解 分析得不错! http://blog.csdn.net/anxpp/article/details/51534006

  4. Spring学习 6- Spring MVC (Spring MVC原理及配置详解)

    百度的面试官问:Web容器,Servlet容器,SpringMVC容器的区别: 我还写了个文章,说明web容器与servlet容器的联系,参考:servlet单实例多线程模式 这个文章有web容器与s ...

  5. Go语言备忘录(2):反射的原理与使用详解

    本文内容是本人对Go语言的反射原理与使用的备忘录,记录了关键的相关知识点,以供翻查. 文中如有错误的地方请大家指出,以免误导!转摘本文也请注明出处:Go语言备忘录(2):反射的原理与使用详解,多谢! ...

  6. DeepLearning tutorial(3)MLP多层感知机原理简介+代码详解

    本文介绍多层感知机算法,特别是详细解读其代码实现,基于python theano,代码来自:Multilayer Perceptron,如果你想详细了解多层感知机算法,可以参考:UFLDL教程,或者参 ...

  7. 机器学习——KMeans聚类,KMeans原理,参数详解

    0.聚类 聚类就是对大量的未知标注的数据集,按数据的内在相似性将数据集划分为多个类别,使类别内的数据相似度较大而类别间的数据相似度较小,聚类属于无监督的学习方法. 1.内在相似性的度量 聚类是根据数据 ...

  8. Spark RDD、DataFrame原理及操作详解

    RDD是什么? RDD (resilientdistributed dataset),指的是一个只读的,可分区的分布式数据集,这个数据集的全部或部分可以缓存在内存中,在多次计算间重用. RDD内部可以 ...

  9. 非极大值抑制(NMS,Non-Maximum Suppression)的原理与代码详解

    1.NMS的原理 NMS(Non-Maximum Suppression)算法本质是搜索局部极大值,抑制非极大值元素.NMS就是需要根据score矩阵和region的坐标信息,从中找到置信度比较高的b ...

随机推荐

  1. MySql多表查询_事务_DCL(资料三)

    今日内容 1. 多表查询 2. 事务 3. DCL 多表查询: * 查询语法: select 列名列表 from 表名列表 where.... * 准备sql # 创建部门表 CREATE TABLE ...

  2. 面试现场:说说char 和 varchar的区别你了解多少?

    Hi,大家好!我是白日梦!本文是MySQL专题的第 26 篇. 下文还是白日梦以自导自演的方式,围绕"说说char 和 varchar的区别你了解多少?"展开本话题.看看你能抗到第 ...

  3. 让JS代码Level提升的忍者秘籍(实用)

    本文章共2377字,预计阅读时间5-10分钟. 前言 没有前言. 你准备好成为同事眼中深藏不露.高深莫测.阳光帅气的前端开发了吗? 那就开始吧! 本文秉承宗旨:代码实用与逼格并存. 提升JS代码Lev ...

  4. Quartz基础使用

    Quartz基本组成部分: 调度器:Scheduler 任务:JobDetail 触发器:Trigger,包括SimpleTrigger和CronTrigger . using Quartz; usi ...

  5. 【关系抽取-R-BERT】定义训练和验证循环

    [关系抽取-R-BERT]加载数据集 [关系抽取-R-BERT]模型结构 [关系抽取-R-BERT]定义训练和验证循环 相关代码 import logging import os import num ...

  6. 使用MyBatis的步骤

    1.创建空的Java工程,安装MyBatis依赖 <?xml version="1.0" encoding="UTF-8"?> <projec ...

  7. Android中的TaskStack及启动模式

    目录 前言 如何观察ActivityStack? 几个问题 关键类介绍 ActivityStack的创建与种类 不同启动模式 launchMode Standard SingleTop SingleT ...

  8. Android Studio 安装及配置

    安装时的那些事 •相关链接 [1]:无需翻墙的链接 [2]:Android Studio 安装教程 •从安装到放弃??? 初次接触 Android,并知道了开发 Android APP 的软件--An ...

  9. TypeError: myMethod() takes no arguments (1 given) Python常见错误

      忘记为方法的第一个参数添加self参数 ---------------------------------------------------------------

  10. Netflix业务运维分析和总结

    目录 Netflix工作环境的分析和思考 为什么Netflix会做得如此极致? 海量业务规模下的技术架构和挑战 更加合理的组织架构和先进的工具体系及理念 自由与责任并存的企业文化 当前问题: 精选提问 ...