在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
接口测试可以说是软件测试中的一个必须掌握的知识点。在测试行业蓬勃发展,从业者要求越来越高的当下,只有满足企业级的接口自动化测试工作,才能在测试行业走得更远。可是许多初学者连“什么是接口测试”,这一问题都没办法回答清楚,下面我们来一起看看接口测试的概念详解。

1、什么是接口?
接口很标准的官方解释是,API即应用程序接口。你可以认为API是一个软件组件、或是一个Web服务与外界进行交互的接口。这里的接口可以和API画等号。作为初学者,或者对接口了解很少的朋友,这个解释其实并不好理解。那如何才能向大家解释清楚接口呢?如何由表及里地让大家理解接口的运转机制呢?下面小编将用逐层叠加的方式来解析接口的概念。
(1)从功能层面来说
从功能层面来说,可以将接口简单理解为一个黑盒子。其上游负责输入参数,下游负责输出参数,类似于平时的黑盒测试对象。这里以一个例子来说明:
在输入URL地址并按 Enter键后,页面实际发送了一次接口请求。具体的请求是:接口地址
(https.//www.v2ex.com/api/nodes/show.json?)+请求参数及其值(nane= python)。后面这个"name= python”就是输入数据;返回的数据就是浏览器展示的一个JSON格式数据。至于这个数据是怎么来的,目前还是看不到的。所以这就像黑盒子一样,输入不同的数据会得到不同的返回结果。这里读者也可以试试其他的参效,看看返回的数据容是什么样子的,比如:
https: //www.v2ex.com/api/nodes/show.json?name=java
https: //www.v2ex.com/api/nodes/show.ison?name=测试
(2)从数据流层面来说
从数据流层面来说,可以将接口理解为连接前端和数据库等后端的纽带,用于在二者之间传递数据、处理数据。在现在主流的框架结构中,后端一般都使用数据库来存储数据,而前端不能直接去数据库中操作数据,一方面不安全,另一方面效率低。要完成数据的交互,必然要有中间的纽带,那就是接口。所以,从这个层面来说,接口主要负责前端页面和后端数据库之间的数据传输和处理。
(3)从编程层面来说
从编程层面来说,可以将接口理解为业务逻辑处理方法的外在表现形式。它可以是一个类下面的方法,也可以是一个函数。从数据流层面来理解,接口会按照“业务逻辑”处理数据。那么业务逻辑在哪里呢?很显然,是在程序代码的函数或方法中。函数或方法按照逻辑返回不同的数据,这便是接口在不同参数下的不同返回信息。所以,从“白盒操作”角度来看,接口测试是直接对函数或方法的代码层进行测试。
2、接口的分类
(1) 系统之间的接口
用得最多的是第三方接口,比如要做一个系统来展示每天的天气,那天气数据是怎么得到的呢?不可能自己去预测天气,有免费的第三方接口可使用,只需按照接口协议调用想要的天气数据。当然,这是调用系统外部的数据。在系统内部也存在这种调用关系,道理类似。
(2) 服务之间的接口
目前主流的系统架构为应用层、服务层和数据层。应用层:负责展示数据和发起数据请求。比如,12306 购票网站上显示的敷新购买操作等。服务层:为应用层提供数据处理。数据层:用来存储数据,有关系型数据库等。
各层之间的调用过程是怎样的呢?例如,在 12306 网站上买票,首先用户需要选择票,然后通过单击“确定”按钮下单。用户下单就是调用了应用层的接口,假设叫“购买接口”, 购买接口会去数据层的数据库中进行查询、新增购买记录等操作。成功完成后,会返回一个成功标志和其他信息。最后,应用层接收到这个接口返回的数据,将买票结果展现给用户。
在这个过程中,各层之间的交互就是通过接口。应用层和服务层之间是通过 HTTP接口,服务层和数据层主要通过DAO (Data Access Object) 访问数据。用Python 操作 MySQL 数据库时,使用的PyMySQL 就是起这个作用的。
什么是接口测试?希望大家看完全文,能够对接口测试的概念有进一步的深入了解。如果想对接口测试有一个系统的学习,欢迎大家来博学谷在线学习相关的视频课程!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
软件测试能做到多少岁?
很多人都说做互联网技术岗位,都是吃青春饭,大部分人到了35岁之后如果还没有晋升到管理岗位基本就达到了职业的天花板了。那如果从事软件测试行业是不是同样呢?
8589
2019-10-16 18:48:54
学习软件测试编程的学习路线
学习软件测试编程的学习路线,很多人想学软件测试,有些人通过自学学习的知识都是零零散散的,找到一份完整的软件测试编程学习路线很难,小编整理了博学谷软件测试就业班的课程路线编写了软件测试编程学习路线供大家参考。
7300
2019-10-17 12:01:17
测试软件工程师待遇怎么样?如何突破职业瓶颈?
软件测试平均薪资11k左右,据不完全统计该类职位的需求主要集中在沿海发达城市,其中北京和上海的需求量分别占去33%和29%。民企需求量最大占19%,外商独资欧美类企业需求排列次之占15%。
5258
2019-11-12 17:22:58
在线学习软件测试靠谱吗?
在线学习软件测试靠谱吗?效果如何?有不少人选择在线看视频自学或者报名参加培训班,软件测试不仅是功能测试及一些专业技能的学习,现在流行的自动化测试、GUI测试,接口测试和性能测试开发等内容,自学的同学往往会发现花钱买了一堆软件测试相关的书,不一定能达到企业要求的水平。
6225
2020-06-26 14:29:40
测试怎么选择抓包软件?
作为一名测试,会抓包是必不可少的,比较主流的抓包工具如:Fiddler、Charles、wireshark等,市面上这么多的抓包工具,各有优势和劣势,没必要全都会使用,找到最适合自己的一款抓包软件即可,该怎么选择呢?下面我就帮大家分析分析。
6142
2020-07-17 11:03:21
