• 接口测试


    接口是什么

    在讨论为什么要做接口测试之前,我们可以先稍微了解一下接口是什么?

    接口可以很不准确的理解成是与资源打交道,这个资源可能是本系统的,也可能是其他系统的。

    举个例子,假如我们在开发1个bug管理系统,该系统需要拿到公司的所有开发和测试人员的信息,这样开发和测试人员不用注册都可以登录进去了,这应该很好理解。

    那么这些人员的信息储存在哪里呢?一般存储在hr系统里。现在的需求更加明确了,我们要到hr系统中去拿到人员信息,获取hr系统中的人员资源。

    怎么拿呢?很多种方式,可以直接把hr系统的数据库拷贝一份放到bug管理系统里,不过这样不好,因为数据的同步会有点麻烦;还可以直接连hr系统的数据库去查,这样也不太好,这样我们就需要了解hr系统的数据存储结构和逻辑,一旦hr系统的数据字段发生改变,bug管理系统也要去该,以便同步。

    比较好的做法是,hr系统暴露一些接口,通过这些接口去获取人员信息资源,这样bug系统就不需要关心hr系统的数据存储实现了。

    这些接口可能是这样的:

    • 登录的接口,提供人员的用户名和密码,去hr系统中判断该人员是否存在,如果存在验证用户名和密码,如果验证通过就返回1个token,该token就是这个人员的通行证,通过token可以登录到bug管理系统中去;
    • 获取人员信息的接口,返回该人员的职位:测试还是开发,以及用户名,昵称等信息;

    综上:接口可以理解成是不同系统或模块之间资源交流方式;

    接口测试实际上是黑盒测试

    作为黑盒测试,基本的测试思路是通过输入和输出判断被测系统或者对象的逻辑。

    获取人员的信息,我需要把人员的用户名传给hr系统接口,这样hr系统的接口会返回给我用户的一些更加具体的信息。这里的输入是用户名,输出是用户的详细信息。

    为什么要做接口测试

    既然是接口获取和操作资源的方式,而大部分系统和产品中,资源一般都是产品的核心,比如微信核心资源就是通讯录关系链和聊天记录等,因此资源是必测的。

    另外接口中大部分的内容是数据,通过数据的对比我们能推测到系统和产品的逻辑,测接口就是测逻辑。

    最后接口中的返回相对单纯,不像web页面,html代码中有太多ui的东西,ui最不稳定,变化太快,接口相对稳定一点点,但是里面的干扰信息更少,断言相对容易很多。

    接口测试用例怎么写

    还是3a原则,这个我以前的回答里有。

    • A: arrange 初始化测试数据,就是造数据,这里的数据有我们输入的数据,也有目标接口所涉及的资源,比如hr系统中的用户信息,我们必须先有几条人员的详细信息才能去测获取人员信息的接口(当然只是正常的流程,我们有时候还需要清掉数据以便测试资源为空的情况);

    • A: act 调用接口,传入输入数据;

    • A: assert 断言, 对返回的资源信息进行断言,比如获取用户信息的接口返回了用户信息之后,我们要判断返回的用户是不是我们想要的那个用户,我们获取的是李雷的信息,接口如果返回韩梅梅,那么接口的逻辑就是不对的;

    接口测试笔试题

    测试教程网接口测试笔试题

    有哪些常见的接口

    • 携程订飞机票,飞机票的信息一般都是通过各大航空公司的接口拿到的;

    • 淘宝的物流信息,一般淘宝的物流信息都是通过各个物流公司的接口拿到的;

    • 第三方微博客户端,个人用户的微博等信息都是通过微博的接口拿到的;

    常见的接口测试工具

    • postman: 推荐。基本功能免费。最简单的基于http接口的调试和测试工具;
    • jmeter:后置处理器配合断言基本上可以满足接口测试需求,就是测试报告要做二次开发
    • 自己撸代码:推荐。配合类似xunit测试框架,基本可以满足一切需求;零基础实现python接口自动化视频教程,一起撸代码吧
    • soapui: 收费的;
    • insomnia:强力推荐。postman的弱化版,基本功能免费,重要的是工具代码开源,可以自己改;
    • paw: 强力推荐。mac上最强,淘宝买个授权好像就百把块钱;
  • 相关阅读:
    左滑删除 --- 自定义组件(优化)
    扩展方法
    关于Windows服务中的一点小记录
    MySQL数据库方面
    反射初探
    FireDAC读取数据Delphi
    Delphi学习之 FireDAC
    向ComboBox列表框中添加Enum的全部数据
    怎样在VC中生成一个DLL
    AutoCAD 开发备注
  • 原文地址:https://www.cnblogs.com/iamshasha/p/11104949.html
Copyright © 2020-2023  润新知