一直没弄明白什么是接口测试,直到看到这篇文章···

Posted 程序员小捣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一直没弄明白什么是接口测试,直到看到这篇文章···相关的知识,希望对你有一定的参考价值。

在这里插入图片描述

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

工作中的接口好比如打电话的按键,电梯中的楼层按键,开车时脚踩油门,接口就是一个位于复杂系统之上并且能简化你的任务,它就像一个中间人让你不需要了解所有细节,我们今天要讲的Web API就是这么的一类东西。

例如百度搜索,它提供了搜索接口,简化了你的搜索任务

越底层发现bug,它的修复成本是越低的,接口属于金字塔模型 的中间层,属于收益产出比最高的

金字塔模型

前端随便变,接口测好了,后端不用变

检查系统的安全性,稳定性

系统复杂度上升,传统测试方法成本加大,效率降低,接口可以 解决这个问题

前后端框架分离,从安全层面说

只依赖前端进行验证已经不能满足安全的需求,因为绕过前 端太容易,要对接口做控制,做相应的校验

前后端传输,日志打印等信息是否加密传输也是需要验证的,特别是密码,身份证,银行卡信息等等。

接口测试的原理是什么呢?

测试人员可以借助工具模拟客户端向服务器端发送请求报文,服务器端接收请求报文后,对相应的报文做出处理并向客户端返回应答,工具模拟客户端接收应答,然后测试人员再检查应答是否准确,这就是接口测试的原理。

接口测试的范围有哪些呢?

关于接口的测试的范围,主要从以下两个方面进行介绍。

1、是否所有的接口都需要测试?

随着系统的复杂度越来越高,接口越来越多,想完全覆盖所有接口是一件很困难的事情。

通常情况下,主要测试最外层的两类接口:数据进入系统的接口(调用外部系统的参数为本系统使用)和数据流出系统的接口(验证系统处理后的数据是否正常)

2、被测接口需要测试哪些方面?

测试人员需要关注被测接口的功能是否实现,性能是否达标,安全性是否满足,重点关注数据的交换,传递,处理次数以及控制管理的过程。

接口的分类?

依据所遵循协议的不同,常见接口可以分为以下三类。

HTTP接口,他是基于超文本传输协议开发的接口,但并不能排 除没有使用其他协议

WebService接口,他是系统对外的接口,比如你要从别的网站或服务器上获取资源,一般来说,别人不会把数据共享给你的,他们会提供一个他们写好的方法,让外部人员获取数据,从而达到数据同步的目的。

RESTful接口,简称REST其描述了一个架构样式的网络系统,核心是面向资源。REST专门针对网络应用设计和开发方式,降低开发的复杂性,提供系统的可伸缩性。

基于B/S架构的软件系统接口大多数为HTTP接口

接口测试流程?

1、编写接口测试计划

接口测试计划跟功能测试计划是一样的,都是为了确认是否满足需求,确定测试环境及测试计划,为设计测试用例做准备,一般来说,接口测试计划包含概述,测试资源,测试功能及重点,测试策略,测试风险及测试标准

2、编写,评审接口测试用例

根据需求文档,接口文档写测试用例,然后开发,测试一起评审测试用例是否符合需求和相关要求。下面的图里面的内容可以供大家写测试用例的时候进行参考。

3、执行接口测试

执行接口测试的时候,可以借助已经开发好的工具,如比较主流Jmeter,Postman,SoapUI,或者也可以直接自己写代码进行相应的接口测试。

4、接口自动化测试持续集成

第一,流程方面,在回归阶段加强场景的覆盖,并逐步向系统测试,冒烟测试阶段的延伸,最终达到全流程的自动化。

第二,结果展示,更加丰富的结果展示,趋势分析,质量统计和分析等等

第三,问题定位,报错信息,日志更加精准,方便问题复现与定位

第四,结果校验,加强自动化校验能力,如数据库信息校验等。

第五,代码覆盖率,不断尝试由目前的黑盒向白盒下探,提供代码覆盖率。

第六,性能需求,完善性能测试体系,通过自动化的手段监控接口性能指标是否正常。

最后:【可能给予你帮助】

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你。

关注我的微信公众号【软件测试小dao】免费获取~

我的学习交流群:1033482984 群里有技术大牛一起交流分享~

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

以上是关于一直没弄明白什么是接口测试,直到看到这篇文章···的主要内容,如果未能解决你的问题,请参考以下文章

什么是接口测试?这篇文章让你明白

Jmeter实现接口测试

解释一下Handle,学这么久了,都没弄明白它什么意思! - VC / MFC -

求助关于Qt5打印使用ESC/POS指令集,一直没弄明白,求示例

MySQL MySQL 中的 int(11) 到底代表什么意思?

一篇文章明白接口测试,get起来