代码改变世界

17. 接口定义

2019-06-12 16:38  软件测试汪  阅读(408)  评论(0编辑  收藏  举报

接口定义

可能对于小白来说,最难理解的是什么是接口,这个也确实比较抽象。但其实在requests库使用那一章节已经给大家展示了什么是接口。网上找了一段 ,说的比较好,接口大致分为两类:程序接口和协议接口。

程序接口, 也可以看作是程序模块接口, 具体到程序中一般就是提供了输入输出的类、 方法或函数。对于程序接口的测试, 一般需要使用与开发程序接口相同的编程语言, 通过不同的传入不同的参数, 来验证程序接口的功能。

协议接口, 一般指系统通过不同的协议来提供的接口, 例如 HTTP/SOAP 协议等。 这种类型接口对底层代码做了封装, 通过协议的方式对外提供调用。 因为不涉及到程序层面,所以,不受编程语言的限制;我们可以通过其它编程语言或工具对其进行测试。

好吧,可能关于程序接口和协议接口说的还是比较抽象。下面笔者将用两段代码进行举例。

程序接口

def add(a, b):
    return a + b

assert add(1, 2) == 3
assert add(1, '2') == 3

上面代码输出如下内容:

Traceback (most recent call last):
File "D:/代码/faceai-master/faceai-master/test.py", line 6, in
assert add(1, '2') == 3
File "D:/代码/faceai-master/faceai-master/test.py", line 2, in add
return a + b
TypeError: unsupported operand type(s) for +: 'int' and 'str'

我们假设上面的add函数是我们的接口,我们传入2组参数,发现第二组参数报错,报错原因是整型和字符串不能相加,说明我们的程序有问题,这种我们可以叫做程序接口测试,有点类似单元测试。

协议接口

其实我们在requests安装与使用里面讲的都是协议接口,这里不在过多阐述。我们在实际工作中也大多是测试协议接口。

欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560