您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

什么是API接口测试?

时间:2019-08-03 15:34:10  来源:  作者:

API(应用程序接口)正逐渐成为很多软件开发的中心,不同的系统、应用通过API连接、传输数据、互相交互。越多越多的系统从MVC架构转向微服务架构,各个微服务之间通过Rest API进行交互。对于企业来说,相比产品开发完成后,进行UI测试,API测试更容易发现问题,更可能在早期阶段发现问题。并且API测试成本更低,更容易实现自动化测试,并且有更多的成熟的自动化测试工具可以使用,比如RestBird、Postman、SmartBear等,大大提高效率。通过本文你可以了解到:

  • 什么是API接口测试?API测试和UI测试有什么区别?
  • 为什么现在越来越重视API接口测试?
  • API测试有哪些类型?
  • Restbird、Postman等工具加速API自动化测试。

1.什么是API接口测试?API测试和UI测试有什么区别?

API应用一般分为三层:数据层、服务(API)层、展现(UI)层。API层,即业务逻辑层,一般包括用户业务逻辑、用户和服务、数据、应用功能交互规则。API直接触及数据层和展现层,API测试是开发测试团队可持续、自动化测试最佳切入点。有助于大幅提高软件交付质量、系统稳定性。目前,传统测试更聚焦UI层测试,但接口测试的优势和价值目前已经被普遍认可。

  • API测试:通常向一个和多个API发送请求,并验证响应,以检查性能、安全、功能正确性、返回状态等。
  • UI测试:通常聚焦验证Web/App的界面展示、按钮/控件的操作、通过控件操作验证功能等。
  • 与UI测试相比,API测试更多聚焦业务逻辑、数据响应、安全、性能瓶颈等。

2.为什么现在越来越重视API接口测试?

  • 测试介入阶段更早,更容易发现问题 :通过API测试,只要核心逻辑设计完毕,就可以通过API测试验证响应的正确性和数据。无需等待各个团队完成自己的工作和整个软件开发完成。
  • 更容易测试管理:UI界面会因为用户的访问方式和终端的变化而变化(比如浏览器、访问设备、屏幕尺寸等),因此测试工程师需要不断重新测试或者重写自动化测试代码。甚至有的图形错误造成无法测试核心功能。API测试更容易控制,甚至几秒就可以重构一个测试。
  • 更容易定位问题:API测试更容易定位Bug。这在开发、集成,尤其是不同团队之间配合非常重要,可以快速定位问题,解决问题。
  • 更节省测试时间:300个UI测试大概需要30个小时,300个API接口测试仅仅需要3分钟。这意味花费更少的时间发现bug,可以立即修复bug。

一个案例


1)下面是UI级别测试示例:一个相当简单和普通的测试。访问一个网站、填写表单、提交表单,认证后进入下一个页面。

什么是API接口测试?用Restbird、Postman工具助力接口自动化测试

 

在UI测试层面,即使最简单的测试也会面临很多的挑战。首先,受到浏览器和网络连接的限制,每次运行测试的时候,都需要等浏览器加载网站。其次,自动化测试,页面中的任何元素都可能改变,造成测试失败。有时候界面错误造成无法测试核心服务逻辑。这些但严重耗费测试工程师时间和拖慢项目进度。如果你想把所有可能性全部测试一遍,可能会出现上万个排列组合。

2)通过API接口测试,整个测试只有一个步骤。

什么是API接口测试?用Restbird、Postman工具助力接口自动化测试

 

3.API测试有哪些类型?

1)单元测试:测试领域有很多人喜欢定义概念,给大家带来很多困扰。API单元测试最简单的定义,通过一个简单的请求,获得一个或者多个响应。通常这种测试可以通过一个命令行或者使用Restbird API工具快速完成。

什么是API接口测试?用Restbird、Postman工具助力接口自动化测试

 

2)集成测试:API接口是内部系统、三方服务集成的核心,API接口测试最频繁、最重要的往往是集成测试。

什么是API接口测试?用Restbird、Postman工具助力接口自动化测试

 

3)端到端测试:端到端测试可以帮助我们验证几个不同API连接之间的数据和信息流。

4)性能测试:API请求响应时间、事务响应时间、并发用户数、吞吐量、TPS、资源利用率等。API性能是系统整体性能等基石。

4.Restbird、Postman等工具加速API自动化测试

相比UI测试,API更容易实现自动化测试,从而大大提高测试效率,提高研发交付质量。你可以自己撰写测试脚本,也可以使用第三方API测试工具,如Restbird、Postman、Runsope、Curl、Cfix、Check等,这些三方工具可以很好的帮助工程师实现自动化测试。比如Restbird不仅支持http的get、put、post、delete、head、patch、options等请求外;还支持PythonJAVAScript、Golang编程;svn、git版本管理、CI/CD集成。合理运用三方工具,能快速实现API测试自动化,并极大提高API测试效率。



Tags:API接口   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
前言前后端分离开发模式中,api文档是最好的沟通方式。今天就来说一说如何整合Swagger生成一套漂亮、美观、实用的接口文档。 源码传送门: https://gitee.com/huoqstudy/xiliu-...【详细内容】
2021-09-08  Tags: API接口  点击:(65)  评论:(0)  加入收藏
注:商业级功能效果演示,非开源,无源码。研发基础在之前AJAX请求数据加密效果之上,更进一步,对返回数据加密。之前是单纯用于登录场景。更广泛的场景是所有此类AJAX WEB API接口。...【详细内容】
2021-09-03  Tags: API接口  点击:(75)  评论:(0)  加入收藏
在实际的业务中,难免会跟第三方系统进行数据的交互与传递,那么如何保证数据在传输过程中的安全呢(防窃取)?除了https的协议之外,能不能加上通用的一套算法以及规范来保证传输的安...【详细内容】
2021-06-10  Tags: API接口  点击:(136)  评论:(0)  加入收藏
前几天我发文就已经给各位朋友提醒过了,你们的api早就被盗了。只是没有到那些人收割的时候而已。这不我在我们公司的官方群里就看见用户分享他朋友用其他的一些量化交易机...【详细内容】
2021-06-08  Tags: API接口  点击:(129)  评论:(0)  加入收藏
今天介绍我正在用的一款高效敏捷开发工具magic-api,顺便分享一点工作中使用它的心得缘起先说一下我为什么会使用这个工具?最近新启动一个项目,业务并不算复杂,那种典型的管理系...【详细内容】
2021-06-01  Tags: API接口  点击:(194)  评论:(0)  加入收藏
一、axios的封装在vue项目中,和后台交互获取数据这块,我们通常使用的是axios库,它是基于promise的http库,可运行在浏览器端和node.js中。他有很多优秀的特性,例如拦截请求和响应...【详细内容】
2020-10-12  Tags: API接口  点击:(256)  评论:(0)  加入收藏
API译者:DevOps亮哥如今,API已在软件、Web和移动应用程序开发领域无处不在,从企业内部到面向公众的应用以及与合作伙伴进行系统集成。通过使用API,开发人员可以创建满足各种客户...【详细内容】
2020-08-01  Tags: API接口  点击:(98)  评论:(0)  加入收藏
在6月中旬时,拼多多为了保障数据安全和运营信息安全,依据《拼多多开放平台开发者协议》等相关协议和规则,发布了对商家在使用API接口的时候开始收费的公告。 所谓API,百度百科...【详细内容】
2020-07-09  Tags: API接口  点击:(885)  评论:(0)  加入收藏
有没有遇到这样子的接口,放到互联网上面去,谁都可以调用,谁都可以访问,完全就是公开的,这样子的接口,如果只是普通的数据,其实可以考虑,只是可以考虑,但是,一般情况下,我们是不允许这样...【详细内容】
2020-06-20  Tags: API接口  点击:(86)  评论:(0)  加入收藏
滑动验证是网站反爬虫、反作弊的升级,滑动验证也是机器学习在反爬虫、反作弊领域的应用; 本项目也是一个简单的全栈项目,使用tornado做的后端、Bootstrap4做的前端;核心的识别...【详细内容】
2020-06-04  Tags: API接口  点击:(33)  评论:(0)  加入收藏
▌简易百科推荐
本文分为三个等级自顶向下地分析了glibc中内存分配与回收的过程。本文不过度关注细节,因此只是分别从arena层次、bin层次、chunk层次进行图解,而不涉及有关指针的具体操作。前...【详细内容】
2021-12-28  linux技术栈    Tags:glibc   点击:(3)  评论:(0)  加入收藏
摘 要 (OF作品展示)OF之前介绍了用python实现数据可视化、数据分析及一些小项目,但基本都是后端的知识。想要做一个好看的可视化大屏,我们还要学一些前端的知识(vue),网上有很多比...【详细内容】
2021-12-27  项目与数据管理    Tags:Vue   点击:(2)  评论:(0)  加入收藏
程序是如何被执行的  程序是如何被执行的?许多开发者可能也没法回答这个问题,大多数人更注重的是如何编写程序,却不会太注意编写好的程序是如何被运行,这并不是一个好...【详细内容】
2021-12-23  IT学习日记    Tags:程序   点击:(9)  评论:(0)  加入收藏
阅读收获✔️1. 了解单点登录实现原理✔️2. 掌握快速使用xxl-sso接入单点登录功能一、早期的多系统登录解决方案 单系统登录解决方案的核心是cookie,cookie携带会话id在浏览器...【详细内容】
2021-12-23  程序yuan    Tags:单点登录(   点击:(8)  评论:(0)  加入收藏
下载Eclipse RCP IDE如果你电脑上还没有安装Eclipse,那么请到这里下载对应版本的软件进行安装。具体的安装步骤就不在这赘述了。创建第一个标准Eclipse RCP应用(总共分为六步)1...【详细内容】
2021-12-22  阿福ChrisYuan    Tags:RCP应用   点击:(7)  评论:(0)  加入收藏
今天想简单聊一聊 Token 的 Value Capture,就是币的价值问题。首先说明啊,这个话题包含的内容非常之光,Token 的经济学设计也可以包含诸多问题,所以几乎不可能把这个问题说的清...【详细内容】
2021-12-21  唐少华TSH    Tags:Token   点击:(10)  评论:(0)  加入收藏
实现效果:假如有10条数据,分组展示,默认在当前页面展示4个,点击换一批,从第5个开始继续展示,到最后一组,再重新返回到第一组 data() { return { qList: [], //处理后...【详细内容】
2021-12-17  Mason程    Tags:VUE   点击:(14)  评论:(0)  加入收藏
什么是性能调优?(what) 为什么需要性能调优?(why) 什么时候需要性能调优?(when) 什么地方需要性能调优?(where) 什么时候来进行性能调优?(who) 怎么样进行性能调优?(How) 硬件配...【详细内容】
2021-12-16  软件测试小p    Tags:性能调优   点击:(20)  评论:(0)  加入收藏
Tasker 是一款适用于 Android 设备的高级自动化应用,它可以通过脚本让重复性的操作自动运行,提高效率。 不知道从哪里听说的抖音 app 会导致 OLED 屏幕烧屏。于是就现学现卖,自...【详细内容】
2021-12-15  ITBang    Tags:抖音防烧屏   点击:(25)  评论:(0)  加入收藏
11 月 23 日,Rust Moderation Team(审核团队)在 GitHub 上发布了辞职公告,即刻生效。根据公告,审核团队集体辞职是为了抗议 Rust 核心团队(Core team)在执行社区行为准则和标准上...【详细内容】
2021-12-15  InfoQ    Tags:Rust   点击:(25)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条