1、认识接口以及接口测试基础

序:对于接口,网上有太多的解释官方和非官方的,我仅记录自己理解的和认可的理念

作为一个测试者,认为接口测试涉及的接口有两种,一种是代码级,一种是服务级。

  • 代码级:各种编程语言方式各有区别,代码级别的接口测试,完成一个特定的功能(粒度很细,通用性较强),只能用自己的语言沟通,本质应该是白盒测试,对应单元测试,由开发进行,由于测试者对编程语言的了解程度,可能并不能理解或者区分此种接口,幸运的是,作为一个单纯的测试,这一点我们恰好可以不关心~(继承???)
  • 服务级:作为测试者真正关心的东西。服务级的接口,最常见的是,可以单独完成一个业务节点甚至是一个完整的业务,同时与编程语言无关,不同语言编写的应用按照既定的协议,就可以完成沟通嗯,其实还是蛮抽象的东西,代码的编写的应用服务接口其实显得很笨拙,服务器上部署的某个应用7*24h运转,你给它一个指令,他就按着你说的做并返回一个结果,就这对于测试,本质是黑盒测试,对应集成测试(服务方功能测试)

注:我所关注的是服务级的接口测试,后续讨论的皆为此种接口。

接口测试

  直白一点,根据上段,接口测试就是,测试者使用可与接口服务方沟通的工具,对其发出指令,查看其反馈的结果以及其处理的结果与预期结果是否存在差异

为什么测接口

        emmmm,其实就是开发没时间,丢给测试测呐(工作流程化)。。。不过也有如下事实,对于单系统,前后端分离架构的(就是有点自己用自己的不给别人用的意思),调用接口方的数量等于1,我认为接口测试并不是一定要进行,完全可以通过UI界面做功能测试,因为这个阶段不仅是必测,而且测试覆盖面也必定是最全面的,本质上前后端就是一体,只是为了优化开发流程或者适应技术趋势。调用方的数量大于1,请务必认真的做接口测试,不要给调用方带来不必要的麻烦(变更通知相关方),客户体验不要太差好吧。
        说点对测试的必要性:

  • 接口稳定:一个接口帮定固定的业务功能,一个系统的业务稳定,那么除非接口输入和输出(代码的变动或者业务变更都不一定引起输入输出变化)变动,对测试来说接口都不会变动,也就是非常稳定,就属于“一劳永逸”的事情,这将为真正的自动化测试和适应快速迭代的开发模式(开发完成及测试完成)带来可能
  • 作为服务方只能测接口:作为单纯的接口提供方,可能会由于条件不足,我们无法接触用户层面的UI,但是必须验证功能的正确性(测试角度)和完整性,就只能通过接口测试,而不是等联调发现问题
  • 提高项目质量(好又快):对于测试来说,在UI测试之前,能够经过较为完善的接口测试,可以快速提前发现变更引入的问题,反馈给开发修改,同时给开发环节挤出了时间修改甚至优化代码
  • 减少服务方和调用方的争执:在接口测试阶段暴露出来的问题,就会在接口测试阶段给定解决方案,可防止该问题被带到UI测试阶段,再去确定问题属于服务方还是调用方引起争议;这一点涉及接口测试范围,确定测试点
  • 接口安全:例如,支付类交易,金额字段数字往往前端控制检查输入(直接调用接口无法控制非法输入以及被截取后篡改等),后端获取输入处理,后端不检查将存在很大的风险

怎么做接口测试

        引用接口测试概念:使用可与接口提供方沟通的工具,对其发出指令,查看其反馈的结果以及其处理的结果与预期结果是否存在差异

测试前准备

  • 测试人员准备:案例设计基础知识、对被测接口对应的业务充分了解、对被测接口实现的功能充分了解
  • 测试计划:和执行者本身的技能充分相关(是否实现自动化等)
  • 测试环境
    测试工具

就这~

posted @ 2020-09-20 17:36  挑灯  阅读(95)  评论(0)    收藏  举报