热门标签 | 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自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。


推荐阅读
  • 如何在PHP中准确获取服务器IP地址?
    如何在PHP中准确获取服务器IP地址? ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • Swoole加密机制的安全性分析与破解可能性探讨
    本文深入分析了Swoole框架的加密机制,探讨了其在实际应用中的安全性,并评估了潜在的破解可能性。研究结果表明,尽管Swoole的加密算法在大多数情况下能够提供有效的安全保护,但在特定场景下仍存在被攻击的风险。文章还提出了一些改进措施,以增强系统的整体安全性。 ... [详细]
  • MySQL 5.7 学习指南:SQLyog 中的主键、列属性和数据类型
    本文介绍了 MySQL 5.7 中主键(Primary Key)和自增(Auto-Increment)的概念,以及如何在 SQLyog 中设置这些属性。同时,还探讨了数据类型的分类和选择,以及列属性的设置方法。 ... [详细]
  • 本文将详细介绍Python中*args和**kwargs的用法,包括它们的基本概念、应用场景以及注意事项。 ... [详细]
  • Python 3 Scrapy 框架执行流程详解
    本文详细介绍了如何在 Python 3 环境下安装和使用 Scrapy 框架,包括常用命令和执行流程。Scrapy 是一个强大的 Web 抓取框架,适用于数据挖掘、监控和自动化测试等多种场景。 ... [详细]
  • 本文将详细介绍如何在Mac上安装Jupyter Notebook,并提供一些常见的问题解决方法。通过这些步骤,您将能够顺利地在Mac上运行Jupyter Notebook。 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • 本文介绍了如何利用 `matplotlib` 库中的 `FuncAnimation` 类将 Python 中的动态图像保存为视频文件。通过详细解释 `FuncAnimation` 类的参数和方法,文章提供了多种实用技巧,帮助用户高效地生成高质量的动态图像视频。此外,还探讨了不同视频编码器的选择及其对输出文件质量的影响,为读者提供了全面的技术指导。 ... [详细]
  • 如何在方法上应用@ConfigurationProperties注解进行属性绑定 ... [详细]
  • 本文是Java并发编程系列的开篇之作,将详细解析Java 1.5及以上版本中提供的并发工具。文章假设读者已经具备同步和易失性关键字的基本知识,重点介绍信号量机制的内部工作原理及其在实际开发中的应用。 ... [详细]
  • 深入解析 Synchronized 锁的升级机制及其在并发编程中的应用
    深入解析 Synchronized 锁的升级机制及其在并发编程中的应用 ... [详细]
  • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
  • OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战
    OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战 ... [详细]
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社区 版权所有