1.什么是接口?
接口主要用于系统与系统之间以及程序内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点也就是协议,来进行数据之间的交互。
2.接口都有哪些类型?
接口一般分为两种:1.程序内部的接口 2.对外提供的接口

对外提供的接口:如:微信支付接口, 支付宝支付接口等

程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如电商系统,有登录模块、提交订单模块等等,要支付就必须先登录,那么这两个模块就得有交互,系统内部就会通过一个接口进行数据交互。

接口的分类:1.webservice接口  2.http协议(api接口)

webService接口是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候可以借助SoapUI工具进行调用及测试。

api接口是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get,post,put,delete等四种常用请求方式。

json是一种通用的数据类型,所有的语言都认识它。(json的本质是字符串,它与其他语言无关,只是可以经过稍稍加工可以转换成其他语言的数据类型,比如可以转换成Python中的字典,key-value的形式。)
3.接口的本质及其工作原理是什么?
接口你可以简单的理解他就是发起请求获取响应数据,工作原理就是URL通过get或者post请求向服务器发送一些东西,然后得到一些相应的返回值,本质就是数据的传输与接收。

4.什么是接口测试?

百度百科的概述为: 接口测试是测试系统组件间接口的一种测试。

接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。

测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

简单的说就是通过URL向服务器或者其他模块等,传输我们想传输的数据,然后看看他们返回数据的是不是预期想要的。

5.为什么要做接口测试?

5.1 越底层发现bug,它的修复成本是越低的。

5.2 前端随便变,接口测好了,后端不用变,前后端是两拨人开发的。

5.3 检查系统的安全性、稳定性,前端传参不可信,比如电商购物系统,前端价格无法实现传入数据为-1元,但是通过接口可以传入-1元。

5.4 如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以应对复杂度较高的测试场景,负载度越高接口测试效果越好

5.5 接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。

5.6 现在很多系统前后端架构是分离的,从安全层面来说:

(1)、只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。

(2)、前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。

6.怎样做接口测试?

由于目前大部分项目前后端分离,调用接口主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送与接收。工具有很多如:postman、jmeter、soupUI、java+httpclient/TestNG、robotframework等。

-- 也可以用代码实现接口自动化,框架和UI自动化差不多,发送请求用断言来判断

7.接口测测试点是什么?

目的:测试接口的正确性和稳定性;

原理:模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收应答的过程;

重点:检查数据的交换,传递和控制管理过程,还包括处理的次数;

核心:持续集成是接口测试的核心;

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

用例设计重点:通常情况下主要测试最外层的两类接口:数据进入系统接口(调用外部系统的参数为本系统使用)和数据流出系统接口(验证系统处理后的数据是否正常);

PS:设计用例时还需要注意外部接口提供给使用这些接口的外部用户什么功能,外部用户真正需要什么功能.

8. 对接口测试而言,持续集成接口自动化是核心内容, 接口自动化包含以下内容:

8.1 流程方面:在回归阶段加强接口异常场景的覆盖度,并逐步向系统测试,冒烟测试阶段延伸,最终达到全流程自动化。

8.2 结果展示:更加丰富的结果展示、趋势分析,测试数据统计和分析等

8.3 问题定位:报错信息、日志更精准,方便问题复现与定位。

8.4 结果校验:加强自动化校验能力,如数据库信息校验。

8.5 代码覆盖率:不断尝试由目前的黑盒向白盒下探,提高代码覆盖率。

8.6 性能需求:完善性能测试体系,通过自动化的手段监控接口性能指标是否正常。

9. 接口测试质量评估标准:

-- 业务功能覆盖是否完整

-- 业务规则覆盖是否完整

-- 参数验证是否达到要求(边界、业务规则)

-- 接口异常场景覆盖是否完整

-- 接口覆盖率是否达到要求

-- 代码覆盖率是否达到要求

-- 性能指标是否满足要求

-- 安全指标是否满足要求
最后,为方便大家自学软件测试,特意给大家准备了一套超实用干货学习资源视频,涉及的内容非常全面。

链接奉上:https://www.bilibili.com/video/BV14v411B7p5
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

接口测试测什么?保姆式解读相关推荐

  1. Node.js的完全卸载与下载安装及各种npm、nvm、nrm配置(保姆式教程---提供全套安装包)---node.js的安装与配置(0)

    Node.js的完全卸载与下载安装及各种npm.nvm.nrm配置(保姆式教程-提供全套安装包)-node.js的安装与配置(0) node的卸载 1.打开控制面板 我的电脑右键--->属性-- ...

  2. Node.js下载安装及各种npm、cnpm、nvm、nrm配置(保姆式教程—提供全套安装包)—nrm的安装与配置(5)

    Node.js下载安装及各种npm.cnpm.nvm.nrm配置(保姆式教程-提供全套安装包)-nvm的安装与配置(4) 一.nrm安装与使用 1.管理员运行cmd,输入如下,全局安装nrm: npm ...

  3. Node.js下载安装及各种npm、cnpm、nvm、nrm配置(保姆式教程—提供全套安装包)—nvm的安装与配置(4)

    Node.js下载安装及各种npm.cnpm.nvm.nrm配置(保姆式教程-提供全套安装包)-cnpm的安装与配置(3) 五.nvm的下载安装 1.下载 nvm官网下载地址: https://git ...

  4. Node.js下载安装及各种npm、cnpm、nvm、nrm配置(保姆式教程—提供全套安装包)—cnpm的安装与配置(3)

    Node.js下载安装及各种npm.cnpm.nvm.nrm配置(保姆式教程-提供全套安装包)-npm的安装与配置(2) 四.安装cnpm 1.管理员身份运行cmd,输入如下命令 npm instal ...

  5. Node.js下载安装及各种npm、cnpm、nvm、nrm配置(保姆式教程---提供全套安装包)---npm的安装与配置(2)

    Node.js下载安装及各种npm.cnpm.nvm.nrm配置(保姆式教程-提供全套安装包)-node.js的安装与配置(1) 三.配置npm安装的全局模块 需要配置的进行配置(不用C盘的配置,用C ...

  6. Node.js下载安装及各种npm、nvm、nrm配置(保姆式教程---提供全套安装包)---node.js的安装与配置(1)

    Node.js下载安装及各种npm.nvm.nrm配置(保姆式教程-提供全套安装包)-node.js的安装与配置(1) Node.js的完全卸载与下载安装及各种npm.nvm.nrm配置(保姆式教程- ...

  7. 3Dmax专用快捷键大全(保姆式手把手教)

    大家好!小编是搬运工:基础建模 大家一定很苦恼!一些基础命令该按哪个键?挤出插入的快捷键又是什么? 到了脑海里,到了嘴边就是想不出来,就是说不出来,非常烦躁. 那么今天就帮你摆脱这个烦恼,保姆式手把手 ...

  8. 持续造风,快手为品牌、商家提供“保姆式”服务

    快手商家的又一个风口来了! 在5月13日的快手2022引力大会上,快手平台宣布要大搞"快品牌",以信任为核心,打造"新市井品牌"模式.8月4日,快手又推出力度更 ...

  9. WMS智能仓储系统——保姆式服务系统

    随着越来越多企业的高速发展.业务规模的不断扩大,对仓库部门的管理水平和运作效率提出了新的挑战,如何建设一个高效运作的信息化仓库,利用信息化手段实施跟踪订单.了解准确的库存信息,为业务部门提供决策依据, ...

最新文章

  1. android打不开链接,安卓的webView的loadUrl打不开,太长的url超链接,求解
  2. 使用CNN分类签名和文本图像
  3. Axure8.0深入一点(篇)
  4. 设计模式--建造者(Builder)模式
  5. c ++ stl_通过分配另一个列表的所有元素来创建列表| C ++ STL
  6. python错误提示库没有注册_SpringBoot实现登录注册常见问题解决方案
  7. OpenCasCade开发环境搭建
  8. matlab的默认复数开方
  9. 会声会影x4素材_怎么给视频打马赛克?运用会声会影2019
  10. linux调试网络设备,android linux wifi 等网络设备调试命令总结
  11. 0002深度学习初体验-基于Tensorflow and Keras 实现卷积神经网络(CNN-AlexNET)实现CIFAR图像训练
  12. 工行山东省分行加强客户信息安全保护
  13. 记录一下Python的11个小技巧
  14. 微软宣布 IE 浏览器将于 6 月 16 日正式退役,你对它有哪些回忆?
  15. Spring boot 项目Kafka Error connecting to node xxx:xxx Kafka项目启动异常 Failed to construct kafka consumer
  16. 【Pytorch】张量复制方法repeat、repeat_interleave和tile
  17. plsql无法连接linux下的oracle服务器,提示:ora-12541:TNS 无监听程序
  18. panada indexing,selection,assigning
  19. 【原创】无线路由器作为信号放大器设置方法
  20. c语言中的“宏”是指什么?

热门文章

  1. 1688首页轮播图完整代码
  2. linux cpufreq framework(4)_cpufreq governor
  3. C++ Boost库:数值转换 lexical_cast
  4. 组装服务器详细攻略,深度学习服务器组装经验过程分享
  5. 调试Linux shell脚本
  6. Java数据 定义规则脱敏实现
  7. php统计 柱状图,PHP动态柱状图
  8. OA系统之:全流程驱动的会议管理
  9. c语言课程设计进制转换结构图,C语言课程设计————写下流程图! 谢谢
  10. 13-ESP8266连接MQTT服务器发送数据