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