接口测试定义

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

生活中常见接口:电脑上的键盘、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. python 常用库收集

    读者您好.今天我将介绍20个属于我常用工具的Python库,我相信你看完之后也会觉得离不开它们.他们是: Requests.Kenneth Reitz写的最富盛名的http库.每个Python程序员都 ...

  2. Python之内存泄漏和内存溢出

    预习知识:python之MRO和垃圾回收机制 一.内存泄漏 像Java程序一样,虽然Python本身也有垃圾回收的功能,但是同样也会产生内存泄漏的问题.对于一个用 python 实现的,长期运行的后台 ...

  3. Tomcat搭建配置

    Tomcat是Apache软件基金会( Apache Software Foundation )的Jakarta项目中的一个核心项目,由Apache.Sun和其他一些公司及个人共同开发而成.受Java ...

  4. 解决linux sudo apt-get install xx是2出现无法定位软件包方法

    解决办法: 在etc/apt/sources.list最后一行添加 deb http://archive.ubuntu.com/ubuntu/ trusty main universe restric ...

  5. International Collegiate Programming Contest 2019 Latin American Regional Contests Problem K

    题目链接:https://codeforces.ml/gym/102428/attachments/download/9820/statements-en.pdf 题意:构造一个多项式使得外星人编号的 ...

  6. java例题_47 读取 7 个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*

    1 /*47 [程序 47 打印星号] 2 题目:读取 7 个数(1-50)的整数值,每读取一个值,程序打印出该值个数的*. 3 */ 4 5 /*分析 6 * 1.多次读取---for循环 7 * ...

  7. ffmpeg第五篇:让水印图片旋转起来

    这篇把上次挖的坑填上 ffmpeg正式篇的上一篇(传送门)说了,这一篇要让水印旋转起来,但是后面有事情一直没有时间搞,今天,它来了............ 如果想实现旋转的功能,需要使用ffmpeg过 ...

  8. mysql 批量操作,已存在则修改,不存在则insert,同时判断空选择性写入字段

    注:如果是批量插入需要在 Java 连接数据库的字串中设置 &allowMultiQueries=true 针对单行数据有则修改无则新增 本案例的建表语句是: -- auto-generate ...

  9. 【Git基本命令】

    [基本指令] git init :使目标文件夹变成一个仓库 git add <文件名,含后缀> : 告诉git我要添加文件了 git commit -m "<提交说明> ...

  10. Java后端进阶-网络编程(NIO/BIO)

    Socket编程 BIO网络编程 BIO Server package com.study.hc.net.bio; import java.io.BufferedReader; import java ...