一、什么是接口测试?
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

二、为什么要做接口测试?
  a) 如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。

  b) 接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。

  c) 现在很多系统前后端架构是分离的,从安全层面来说:

    1、只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。

    2、前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如×××,银行卡等。

三、接口类型:
常见web接口:一类是http协议的接口,另一类是web service接口(如soup、rmi、rpc协议)。本文主要介绍http请求接口。

常见的http请求方式包括:get(查)、post(增),除此之外还有put(改)、delete(删)等。

四、接口测试流程?
了解需求,review定义好的接口需求,了解新接口的应用场景,以及尽可能多的细节。
制定测试方案,除了功能以外,还可能需要考虑性能和安全性要求。根据这些需求设计测试用例。
测试方案和测试用例review,一般发给相关方:开发,开发组长,运维,运维组长,测试,测试组长,不断根据大家的意见改进,直到大家都同意通过。
在测试方案review的过程中开始准备测试数据,测试工具,或者自动化测试用例。
执行接口测试,提交bug
验证修复的bug
发送测试报告,确定是否可以上线
归档所有测试产出物
如果有自动化测试用例,加入持续集成系统。
如果接口有变更,相应地变更用例。如果持续集成系统的接口自动化测试发现代码变更的问题,提交bug。

三、接口测试工具?
接口测试的工具很多,比如 postman、RESTClient、jmeter、loadrunner、SoapUI等,首推的测试工具是postman和jmeter。