接口是什么?

358 阅读6分钟

一、什么是接口?

\

接口有很多种类型:

**
**

1、人类与电脑等信息机器或人类与程序之间的接口称为用户界面。

\

2、电脑等信息机器硬件组件间的接口叫硬件接口。

\

3、电脑等信息机器软件组件间的接口叫做软件接口。

\

\

基于HTTP协议发送的数据,称为接口。接口是用来接收这些数据的,把数据发送到接口上,我们看看接口处理的是否正确,回给我们的数据是不是对的。

例如在浏览器中敲一个地址,浏览器把这个地址当作一个接口去访问了服务器,服务器把整张页面各种信息返回回来给浏览器,展示出整个页面整个内容。这个过程会重复很多遍,除了地址栏打地址以外,在页面上操作任何东西,实际上只要跟服务器有数据上的交换都会从我们的接口来走。

不同的软件组件间或者不同的软件系统之间的交换数据的接口就是软件接口。

\

4、在计算机中,接口是计算机系统中两个独立的部件进行信息交换的共享边界。

可以交换数据和信息,可以在软件之间,硬件之间,软硬件之间实现数据交换,实现这个功能称为接口。

\

5、接口可以交换数据和信息,可以发生在计算软件,硬件,外部设备或进行操作的人之间。

我们常说的接口:通常是指对外部提供数据交换的程序,以此来实现不同系统模块或不同系统之间的数据交换。

例如:Restful接口、Soap协议的Web Service接口、JDK开发包等。

接口测试:按照接口文档的要求,验证接口程序能否满足对外部程序提供数据的使用需求。

\

二、接口层

**
**

**
**

随着互联网的高速发展,现在越来越多的互联网系统设计的越来越复杂,提供的越来越多,用户的需求也比较杂,所以为了更好的实现需求,大型的互联网都进行了分层的架构设计。通常用户操作界面就是在分层结构中的展现层,展现层是提供用户操作界面的,例如APP,PC客户端,web网站。

接口层(平台层)在接口架构中很常见。它是没有界面的,让人感觉神秘,哈哈 。不同的接口可以把数据库中存储的数据按照业务逻辑,或者提供数据的要求封装在不同接口中对外提供不同的数据。

例如注册接口:输入手机号,密码或者其他的信息就可以在数据库中,业务系统之中生成这样一个注册的用户。

利用接口实现数据的一些增删改查的动作。动作完成后,实际上都是展现层的程序发起的请求。例如用户在APP上输入用户名和密码登陆,实际上是APP内部产生对平台层的请求,使用抓包工具可以抓到请求。实际上是给某个地址发送了参数和数据,这样发到平台层,平台层看到请求后,通过接口把想要的数据和想做增删改查的动作返回给APP。

\

三、接口测试工具

**
**

十几年前接口测试称为服务端测试,安全测试等,现在接口测试对于安全测试只是入门级的。

\

1、接口测试是什么?

**
**

\

我们做的接口测试实际上都是网络数据流。通过网络,机器和机器之间,接口之间互相发送一些消息,这些消息实际上就是我们要测得一些接口。协议是接口和接口之间对发数据的一种格式或者是传输方式。传输类型的协议TCP和UDP,内容型的协议例如HTTP等。做接口测试时编辑内容协议来看接口返回的内容是对是错。

把数据往服务端发,测试数据返回的结果。

界面模样和接口没有关系。界面只是展示给用户的方式。

例如登录给接口发账号密码验证码等,发过去服务器会告诉我们登陆成功或失败,也就是测试用例。

\

\

\

第一,浏览器到服务器可以叫做一个接口的过程也是测试的内容。

第二,是应用程序到服务器。

第三,测试到一定细节程度后,会测服务器和服务器之间的接口。

第四,Server的代码直接连接DataBase,直接把SQL语句传给DataBase,数据库直接查询。只要有数据库的客户端,用一样的语句去查,查到的结果是不是一样的就可以了。

\

数据库其实有自己的存储过程,也是一种代码是写在数据库里面的,类似于函数或者方法的东西,可以传给它参数。这种时候,供给Server的代码去调用Database,调用的过程中返回给你调用的结果。服务器的代码不关注Database里面写的是什么。只管我给你账号密码,返回对错的过程。类似于单元测试的方式,直接测试Database的存储过程就可以。

\

Mock反向测试: 当我客户端接受到服务器一个比较奇怪的数据,例如登陆发给服务器账号密码验证码什么的,服务器正常情况下是给它账号正确错误或者验证码错误,有时服务器不返回结果或者报错,异常级报错HTTP500之类。当我浏览器接受到这样的报错该怎么去处理?一般测友好型的,一般友情提示,“服务器挂了”~保证服务器都挂了,但是页面让人感受很好。可以用Fiddler测试。

\

2、工具与方法:

**
**

\

Fiddler可以抓包,接口测试,自动化编程等各种测试,功能非常强大~新手建议学Postman。

\

\

\

本文分享自微信公众号 - 清菡软件测试(qinghanTester)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。