接口测试----前言,接口是怎么来的

接口测试—-前言,接口是怎么来的
接口测试—-中篇,通过django实现一个记事本接口
接口测试—-下篇,开始接口测试
接口测试—-工具篇,实现接口自动化

概要:

本篇将会介绍接口是啥,怎么来的以及接口测试的必要性

接口是啥

包括我自己在内,很多人初期接触接口都会认为接口是HTTP请求响应,这点没有错,但是接口这个概念在我个人理解却不仅仅限于HTTP接口。

在我看来,接口指的是系统和系统之间的相互调用和数据交换,就拿我所在的项目架构来说,先是底层开发封装底层驱动,然后android的开发拿到底层的接口,开始封装SDK接口(包括JNI调用),供合作方和自己公司的产品调用,最终上层的android开发编写UI界面,调用SDK,完成一个产品。那么在这个过程,产生的接口就有底层到sdk,sdk到UI层,以及UI层和后台HTTP数据交互的接口。

所以结果很明显了,接口测试指的是系统层级调用之间的接口的测试,当然了本篇的接口测试特指HTTP,也就是和后台的接口测试。

分层的测试

分层的测试其实在大公司已经在执行了,区分外包员工和正式员工。分层的概念其实早就提出来了,这里以我实际的项目经历来说明。

当时有一个需求做社区,那么传统的测试流程是等待UI层开发提测,我们才开始测试。但是引入了接口测试后,我参与了接口需求定义、接口实现以及最后的接口测试和自动化的过程,在接口测试完成之后UI层也接入的差不多了,然后进行界面的功能测试和性能测试。这里正是分层测试的一个实例。

接口测试的必要性,和UI测试有什么区别呢

必要性,很必要,尤其是大型项目的时候。接口测试是早一步于功能测试的,意味着:

1.很多BUG可以尽早提出来并作修改,无疑降低了版本发布的风险
2.同时因为是不同阶段的工作,节省了测试的周期
3.同时让功能测试的同事更加关注界面,从而提高了测试的精度

那么接口测试和UI测试有什么区别呢?

接口测试更多关注数据的调用,UI测试更多关注界面的友好

接口测试更多关注服务器的逻辑,UI测试除了关注服务器逻辑,还要关注调用的正确性

接口自动化比UI自动化成本低,收益高

此外,UI测试还要关注各种界面的异常,比如网络、兼容等等

可以发现UI测试和接口测试的侧重点是不一样的,所以接口测试的必要性不言而喻了。

WSGI接口

在了解接口怎么来之前,我们先要了解一个接口—WSGI接口(Web Server Gateway Interface)。这个接口是python的应用程序和web服务器之间的一种接口,你想哈,要是没有这个玩意,我们接受请求的时候是不是要底层开始写起,然后解析协议格式,然后才开始写代码,WSGI接口就屏蔽了底层的一些实现细节,你只要接受数据—处理数据–返回数据就可以了,所以后台同学的工作本质上就是处理这个WSGI接口处理函数

我们一起来看看这个接口的定义:

def application(environ,start_response):
    start_response('200 ok',[('ContentType','application/json')])
    return 'Hello Cloudhuan! I love you!';

environ就是请求的一个字典,比如environ[‘PATH_INFO’]就是得到访问路径,后续我们用django框架实现接口项目,request对象就是django封装好的请求对象了。
return 就是返回内容了,我们返回的是json格式的内容,接口大部分都是json的是不 :-)

了解了万物基于这个WSGI接口标准后,我们就明白了后台同学的工作流程是这样的:

1.接受这个传入进来的参数
2.根据访问的path和参数操作数据库
3.返回第二步的内容给用户

那么为了简化开发流程,于是诞生了很多web框架,比如我所知道在python里面非常出名的django和falsk框架了。当然你不嫌麻烦你也可以直接用这个函数去处理你的程序,完全没问题的。

猜你喜欢

转载自blog.csdn.net/cloud_huan/article/details/53885001