在线客服
扫描二维码
下载博学谷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 就是起这个作用的。
什么是接口测试?希望大家看完全文,能够对接口测试的概念有进一步的深入了解。如果想对接口测试有一个系统的学习,欢迎大家来博学谷在线学习相关的视频课程!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
黑盒测试:等价类测试方法
黑盒测试也可以叫做功能测试,主要针对软件的界面和软件功能进行测试,而不考虑内部的逻辑结构。从理论上讲,黑盒测试只能通过穷举输入测试。但是实际工作中这种方法是不可行的。所以衍生出多种黑盒测试用例设计方法,包括等价类划分法、边界值分析法、错误推测法、因果图发、判定表驱动法、正交试验设计法、功能图法、场景法等。今天主要和大家介绍黑盒测试中的等价划分法。
10339
2019-08-08 14:18:15
软件测试中白盒测试的优缺点是什么?
白盒测试的优缺点总结,白盒测试在计算机领域行业用以检查程序的状态,确定实际运行状态与预期状态是否一致。白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。
8231
2020-06-01 15:26:51
在线学习软件测试靠谱吗?
在线学习软件测试靠谱吗?效果如何?有不少人选择在线看视频自学或者报名参加培训班,软件测试不仅是功能测试及一些专业技能的学习,现在流行的自动化测试、GUI测试,接口测试和性能测试开发等内容,自学的同学往往会发现花钱买了一堆软件测试相关的书,不一定能达到企业要求的水平。
5614
2020-06-26 14:29:40
什么是测试用例?如何设计测试用例?
在学习或者实际的测试工作中经常都会提到“测试用例”这个词,没错,测试用例是测试工作的核心,不管要做的是什么样的测试,在真正动手执行测试之前,我们都需要先根据软件需求来设计测试用例,之后再依据设计好的测试用例,展开测试工作。那么问题来了,什么是测试用例?它有什么用呢?下面我们一起进入测试用例的学习吧!
6760
2020-08-13 11:25:08
软件测试方法和技术知识点有哪些?
软件测试是软件开发过程的重要组成部分,用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试人员要寻找Bug,避免软件开发过程中的缺陷,衡量软件的品质,关注用户的需求,总的目标确保软件的质量。
3451
2021-02-26 10:44:51