一篇带你了解接口测试

在我们日常工作中经常会提到接口测试,也经常会测试接口,然而一些刚入行不久的同学对于接口测试可能还是一头雾水。接下来,咱们就聊一聊接口测试。
1、什么是接口?
什么是接口?接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。在软件测试中的接口通常指的是软件接口,软件接口我们可以简单的理解为实现系统内部功能或连接系统与系统,模块与模块,功能与功能的通道。
(1)API与编程接口
在工作中经常会提到一个词,API:Application Program Interface即应用程序接口。API是操作系统留给应用程序的一个调用接口,应用程序可以通过调用操作系统的 API 来使操作系统执行应用程序的命令,即API就是系统留给外部或内部程序调用的通道。编程接口,则通常是指通过计算机编程语言如C++、Java、Go等等实现具体某个函数、方法或功能。
(2)外部接口与内部接口
在项目中可能经常会听到内部接口与外部接口。外部接口即对外部提供服务的接口(供第三方使用的接口)。内部接口即对自身系统提供的接口(供系统内部调用的接口)。
(3)webservice接口与http接口
另外就是webservice接口与http接口。webservice接口是基于Soap协议的接口,通过http协议通信,请求报文和返回报文通常都是xml格式的。http接口是基于http协议的接口,通过tcp协议通信。
2、为什么要做接口测试?
(1)尽早的测试介入,只要接口开发完成,便可以测试。我们知道测试需要依赖开发进度,如果开发进度滞后,则测试进度必受到影响。接口测试则可以很好的弥补这一问题,在接口开发完成后介入测试,将测试执行提前。
(2)更多的场景覆盖,发现问题更直接。由于前端界面会加上很多校验,因而在测试时很多场景因为前端校验而无法覆盖。直接调用接口展开测试,因为绕开了前端的控制,使得测试场景更丰富,更能直接发现问题。
(3)工作量是低于UI测试的,投资回报较高。直接调用接口展开测试,避免了繁琐的UI界面,相对UI测试工作量较小。
(4)更好的理解系统的数据流向。接口测试我们可以很直观的感受接口之间的关联,从而让我们更好的掌握测试系统数据的流向。
(5)接口测试对于自动化的支撑度更好,效益更高。由于接口变更的频率较低,接口测试自动化维护成本相较于UI自动化更低。
3、接口测试测哪些内容?
接口测试的本质是灰盒测试,即接口测试既会涉及黑盒功能测试,也会涉及部分白盒测试。
(1)接口功能
对于接口的功能测试,与UI功能测试相差不大。接口的业务、边界值、输入参数组合等测试常用的方法同样适用于接口测试。通常接口功能测试用例主要从3个方面考虑:接口入参、接口业务逻辑、接口返回。
(2)异常处理
测试接口时,同样需要考虑异常情况,异常情况下接口处理是否正确、合理同样需要验证。例如重复提交或请求超时情况下,接口是否能够按照设计的逻辑正常处理。
(3)接口性能
接口的性能主要会考虑到接口并发测试、接口压力测试等常规测试手段。
(4)安全性
安全测试因项目而言,不是所有项目必须的。大型项目有专职的安全测试人员。安全测试的本质也是功能测试。
4、接口测试的工具有哪些?
接口测试通常采用自动化测试,手工测试效率较低,不尽人意。常用的接口测试工具主要有Jmeter、Postman等等开源工具;代码实现接口自动化也有多种选择,如Java中的HttpClient,Python的Requests等等。
5、接口测试能发现哪些常见问题?
(1)特殊值处理不当导致程序异常退出或者崩溃
(2)类型边界溢出,导致数据读出和写入不一致
(3)边界取值之外的值未返回正确的错误信息
(4)参数为null或空字符串等情况处理不当
(5)权限处理不当,逻辑校验不完善
(6)超时问题,超时处理不当
(7)潜在的性能问题

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦里有阳光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值