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

  • 相关阅读:
    [动图演示]Redis 持久化 RDB/AOF 详解与实践
    挑战10个最难的Java面试题(附答案)【上】
    Python使用psutil模块,做你的电脑管家
    在线工具 正则表达式
    [USACO09JAN]Earthquake Damage
    [USACO09MAR]Moon Mooing
    [HNOI2005]汤姆的游戏
    [SDOI2010]大陆争霸
    [USACO08NOV]Cheering up the Cow
    [USACO08NOV]lites
  • 原文地址:https://www.cnblogs.com/suim1218/p/10677543.html
Copyright © 2011-2022 走看看