热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

整理接口测试基础知识

一、什么是接口(API)?1、百度词条解释:API(ApplicationProgrammingInterf

一、什么是接口(API)?

1、百度词条解释:
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

2、白话解释:
咱们去餐厅吃饭,首先:和前台点餐员点餐“1、鱼香肉丝,2、宫保鸡丁”;然后:点餐员通过点餐系统把我们点的菜传递给后厨工作人员,后厨工作人员制作菜品;最终:餐厅服务人员给我们上菜。

在整个过程中,只需要关注输入(也就是我们要点什么菜,餐厅是否有我们要点的菜)、输出(最终上的菜确实是我们点的东西),不需要关注处理过程和内部逻辑(后厨是如何做菜的)。
在这里插入图片描述

二、接口分类——内部接口与外部接口:

1、内部接口:
供程序内部调用的接口,一般指一个方法、函数、模块等。

例如:百度贴吧发帖需要调取登录接口,登录成功后才能发帖。登录模块就是内部接口。

2、外部接口:
提供给程序外部调用的接口(第三方)。

例如:用滴滴打车在支付时需要调用微信/支付宝等方式进行支付。微信/支付宝支付此时对于滴滴来说就是外部接口。

三、什么是接口测试?

1、官方解释:
测试系统组件间接口:主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点:要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

2、白话解释:
(1)接口是否满足业务需求 (去饭店吃饭:能否成功点菜,并成功上菜)

(2)各字段是否正常(字段:菜名、单号、桌号是否正确)

(3)实际结果与预期是否一致(服务员上的菜和我们点单的菜是否一致,至于大厨如何做菜,我们不关注)

3、接口测试重点关注内容:
(1)接口要实现的业务功能

(2)不同的输入对应不同的输出

(3)错误处理情况

(4)不用关注接口的具体代码实现

四、为什么要进行接口测试?

1、可以更早的介入测试。

例如:开发完一个接口就测试一个接口,不用等整个模块完成才开始测试,减少延期风险。

2、节约成本,越早发现bug,修复成本越低。

例如:在功能测试时发现底层bug,可能会导致项目重构或延期。

3、接口测试好了,前端变化只需测试前端即可,节省时间。

4、可以发现很多前端发现不了的问题。

例如:抽奖活动,每天只允许抽三次,三次后前端界面的抽奖按钮灰显,可通过调用接口跳过页面的限制,进行第四次抽奖。如后端接口没做限制,可直接对服务器进行请求,再次抽奖;写个脚本不间断的调用接口进行抽奖,一定能抽到最大奖。

5、可以检查系统的安全性、稳定性。

例如:在搜索时,前端会过滤掉特殊的SQL语句,如后端接口未过滤,会导致SQL注入。

6、可以检查系统的异常处理能力。

例如:购买京东商品,通过前端下单时商品价格不可能为-1元,但调用接口可以传参数-1元,接口要做此特殊处理。

7、接口测试更容易进行自动化以及持续集成,减少回归测试的人力成本和时间。

例如:每次项目上线前,跑一遍接口自动化脚本,可以确保旧有接口以及新增接口各项正常。

点赞关注!!了解更多,加入我们。642830685,免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。


推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Python脚本编写创建输出数据库并添加模型和场数据的方法
    本文介绍了使用Python脚本编写创建输出数据库并添加模型数据和场数据的方法。首先导入相应模块,然后创建输出数据库并添加材料属性、截面、部件实例、分析步和帧、节点和单元等对象。接着向输出数据库中添加场数据和历程数据,本例中只添加了节点位移。最后保存数据库文件并关闭文件。文章还提供了部分代码和Abaqus操作步骤。另外,作者还建立了关于Abaqus的学习交流群,欢迎加入并提问。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • Python实现变声器功能(萝莉音御姐音)的方法及步骤
    本文介绍了使用Python实现变声器功能(萝莉音御姐音)的方法及步骤。首先登录百度AL开发平台,选择语音合成,创建应用并填写应用信息,获取Appid、API Key和Secret Key。然后安装pythonsdk,可以通过pip install baidu-aip或python setup.py install进行安装。最后,书写代码实现变声器功能,使用AipSpeech库进行语音合成,可以设置音量等参数。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • Go语言实现堆排序的详细教程
    本文主要介绍了Go语言实现堆排序的详细教程,包括大根堆的定义和完全二叉树的概念。通过图解和算法描述,详细介绍了堆排序的实现过程。堆排序是一种效率很高的排序算法,时间复杂度为O(nlgn)。阅读本文大约需要15分钟。 ... [详细]
  • 2022年的风口:你看不起的行业,真的很挣钱!
    本文介绍了2022年的风口,探讨了一份稳定的副业收入对于普通人增加收入的重要性,以及如何抓住风口来实现赚钱的目标。文章指出,拼命工作并不一定能让人有钱,而是需要顺应时代的方向。 ... [详细]
author-avatar
子新宥梅93
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有