接口测试定义

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

生活中常见接口:电脑上的键盘、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. MyBatis(十一):MyBatis架构流程浅析

    架构分层 我们将MyBatis架构分为三层,分别为接口层.数据处理层和框架支撑层 接口层:提供外部接口调用的API,使用端通过这些API来操作数据库,接口层收到请求后会调用数据处理层完成具体的数据处理 ...

  2. MySQL优化从执行计划开始(explain超详细)

    前言 小伙伴一定遇到过这样反馈:这页面加载数据太慢啦,甚至有的超时了,用户体验极差,需要赶紧优化: 反馈等同于投诉啊,多有几次,估计领导要找你谈话啦. 于是不得不停下手里头的活,赶紧进行排查,最终可能 ...

  3. 《逆向工程核心原理》——IAThook

    hook逻辑写入dll中,注入dll. #include "pch.h" #include <tchar.h> #include "windows.h&quo ...

  4. 汇编 JCC指令表

    JCC指令 中文含义 英文原意 检查符号位 典型c应用 JZ/JE 若为0则跳转:若相等则跳转 jump if zero;jump if equal ZF=1 if (i == j);if (i == ...

  5. vue 项目集成 husky+commitlint+stylelint

    最近刚换了新工作,这两天也没有业务上的需求,做了一些前端工程化方面的东西.要在现有的项目中集成 husky+commitlint+stylelint,也不能对现有代码产生影响. 使用 lint 的目的 ...

  6. 运维趋势2019年总结,运维就是要做到"技多不压身"

    2019年 在互联网这个行业中对运维的要求越来越来越高,比如2015.16年的时候,运维只是做一些人力投入的事情,比如重启个服务,搭建一个nginx,mysql主从服务,简单的优化一下,就可以上线了, ...

  7. [枚举]P1089 津津的储蓄计划

    津津的储蓄计划 题目描述 津津的零花钱一直都是自己管理.每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同. 为了让津津学习如何储蓄,妈妈提出,津津可以随时把整 ...

  8. mysql基础自学

    1.1基础查询 语法:select 查询列表 from 表名;注意:1.查询列表可以是:表中的字段.常量值.表达式.函数2.查询的结果是一个虚拟表格 完整的写法是:先声明使用哪个库,再写SQL语 如果 ...

  9. C#修改AD账号及密码

    在使用AD域环境搭建的账号系统修改密码的时候比较麻烦一般需要管理员在域环境去进行对用户的密码进行修改. 以下就是用来查询和修改AD域密码的方法. 1 /// <summary> 2 /// ...

  10. 【CTF】WDCTF-2017 3-1 writeup

    题目来源:WDCTF-2017 题目链接:https://adworld.xctf.org.cn/task/answer?type=misc&number=1&grade=1& ...