zoukankan      html  css  js  c++  java
  • 17. 接口定义

    接口定义

    可能对于小白来说,最难理解的是什么是接口,这个也确实比较抽象。但其实在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

  • 相关阅读:
    【转】进程与线程的一个简单解释
    折半查找
    BOJ 89 统计时间间隔
    BOJ 88 最值问题
    BOJ 87 日期
    QT杂记(网上资料整理而成)
    我的博客园
    【制作镜像】virsh
    【培训】MySQL
    ERROR 1045 (28000): Access denied for user 'root'@'localhost'
  • 原文地址:https://www.cnblogs.com/suim1218/p/10677543.html
Copyright © 2011-2022 走看看