接口自动化测试(一):关于接口

发表于:2018-4-27 16:13

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

 作者:alany    来源:51Testing软件测试网采编

  “接口”应该是大家平日工作中听到的一个高频词,开发童鞋经常挂在嘴边:“老铁,来来来……今天程序改了个接口,帮我回归下”,
  关于接口
  “接口”应该是大家平日工作中听到的一个高频词,开发童鞋经常挂在嘴边:“老铁,来来来……今天程序改了个接口,帮我回归下”,又或者有时候需要制造数据不想通过UI界面来操作,开发童鞋又来给你支招了:“在浏览器调下我这个接口,就产生数据了”……这里的接口到底表示的是什么含义呢?今天的主题就是围绕着什么是接口来展开。
  1、接口的定义
  我们这里说的接口,只考虑软件领域,那么就是应用程序接口,借用维基百科的解释:
  应用程序接口 (A**pplication Programming Interface 简称:API)为:“‘电脑操作系统(Operating system)’或‘程序库提供给应用程序调用使用的代码”。其主要目的是让应用程序开发人员得以调用一组例程功能,而无须考虑其底层的源代码为何、或理解其内部工作机制的细节。API本身是抽象的,它仅定义了一个接口,而不涉及应用程序在实际实现过程中的具体操作。
  2、对接口的理解
  看上面的定义,好像还是不能很直观的理解,所以我想将它具体化,用下面这个例子来解释它:
  例1: 猿A毕业后日复一日的写代码,突然有一天发现有些地方的代码经常在重复写,于是他就想将重复的那一部分代码提取出来封装一下,写一个工具类(XXXUtils.java),可是随着对项目的加深,和项目其他成员的互动,发现大家都要用这个工具类,于是猿A就想到了写一个Library,将这个工具类发布到公司的maven平台上……
  例2: 猿A开发的应用A需要猿B的应用B提供的用户信息来判断用户的行为,于是猿A找到猿B说,我的项目需要你们那边给我提供用户信息数据来判断用户后续行为,你们给我提供个接口吧……
  例3:一日,猿A遇到了这样的需求:需要在应用中集成天气预报功能,于是他百度到了中国天气网有提供这种免费的API:http://mobile.weather.com.cn/data/sk/101010100.html(后面的数字101010100是北京的地区码,所以你想知道某个城市的天气,只需要使用对应的地区码去请求即可),在浏览器中输入这个url就可以获取北京的天气预报信息:
  {"sk_info":{"date":"20131012","cityName":"北京","areaID":"101010100","temp":"21℃",
  "tempF":"69.8℉","wd":"东风","ws":"3级","sd":"39%","time":"15:10","sm":"暂无实况"}}
  注:上述的天气API已不更新了,这里只作为例子使用。
  上面这三个实例分别是从微观到宏观、从私有到开放层面对接口(API)的应用,实例1是从代码层面的接口调用,实例2是应用层面或系统层面的接口调用,实例3是从网络层面的接口调用。接口又分对内对外,对内的接口一般在应用、系统或项目内部之间使用,对外的接口我们又称之为开放式API,大多是以URL地址的方式供大家请求,返回对应的数据。
  总结
  如果看上面给的这些例子和图,你还没理解什么是接口,那么我就给你一句通俗易懂的话:接口其实就是一个可以传值和取值的数据传输通道。应用内代码级别的方法调用、应用或系统间的远程过程调用(RPC)、网络数据传输等等这些都是对接口的直接或间接应用……如果这样说还是没有理解,那么我想大家都会基本的SQL查询吧,输入一个SQL查询语句就可以返回对应的数据集,这其实也是接口的应用。




上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号