接口——接口测试方法论(06)

发表于:2022-8-11 10:23

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈磊    来源:51Testing软件测试网原创

  1.6  接口
  如果想要知道接口测试具体在测试什么,那么首先就要知道接口是什么。下面我们使用现实生活中的一个例子,解释接口的含义。
  以麦当劳的订单准备过程为例。假设小明下了一个包含汉堡和薯条的订单。订单上有汉堡,因此工作人员会首先找到汉堡的原材料,如面包片、肉饼和生菜等,然后按照规定的步骤,将这些原材料组合成汉堡,最后交给小明。工作人员发现订单上还有薯条,于是进入另一个工作流程——找到薯条的原材料和炸薯条的锅,把薯条炸好后,送到小明面前。
  在上面的例子中,汉堡以及薯条的原材料就是接口的入参,也就是接口的特定输入;制作汉堡或炸薯条的过程,就是接口内部的处理逻辑;送到小明面前的汉堡和薯条,就是接口的处理结果和特定输出,也就是返回参数。
  由此可以看出,接口就是包含特定输入和特定输出的一套逻辑处理单元,用户无须知晓接口的内部实现逻辑,这也可以称为接口的黑盒处理逻辑。从上面的例子中我们还可以看到,因为服务对象不同,接口又可分为两种:一种是系统或服务的内部接口,另一种是外部接口。
  1.6.1  内部接口
  简单来说,内部接口就是系统内部调用的接口。在上面的例子中,内部接口有两个。
  订单。麦当劳的工作人员在接到小明的订单后,输入汉堡和薯条的原材料,将汉堡和薯条做好后,便将它们放到后厨和前台之间的中间储物柜里。
  中间储物柜。麦当劳的工作人员从中间储物柜里拿出做好的汉堡和薯条,送到小明面前。
  在软件系统中,内部接口又是怎么一回事呢?其实,当我们在网上购物时,需要首先登录系统,然后将商品加入购物车,最后支付订单。从添加商品到购物车,再到支付订单,其间的相关工作就是通过内部接口来完成的。
  1.6.2  外部接口
  前面介绍了内部接口,那么什么是外部接口呢?其实,外部接口是相对于内部接口而言的。在上面的例子中,小明在麦当劳点餐的场景就是外部接口,这个外部接口可以分为两部分。
  出订单前,小明的点餐过程。这个外部接口的特定输入就是小明在点餐时,告诉服务员具体要点的汉堡和薯条,它们相当于小明输入给麦当劳的参数。
  出订单后,工作人员送餐的过程。这个外部接口的特定输出就是工作人员送到小明面前的汉堡和薯条,它们相当于麦当劳返回给小明的处理结果。
  那么在软件系统中,外部接口又是怎么一回事呢?我们把商品添加到购物车中后单击“付款”按钮时,页面会跳转到支付系统,等完成支付流程后,则会跳转回订单页,其间就涉及系统对外依赖的接口,比如付款过程中的支付接口、配送过程中的物流接口等。
  下面我们总结一下接口的本质。接口其实就是一种契约,并采用以下这种形式:在开发前期约定接口会接收什么数据以及处理结束后又会返回什么数据。如果调用方和被调用方都遵从这种契约,就可以达到共同开发的目的,开发完成后,可通过联调达成系统逻辑的预期,从而提高研发效能。
查看接口测试方法论》全部连载章节
版权声明:51Testing软件测试网获得作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号