1、接口测试的背景
应用程序编程接口:Application Programming Interface 简称 API。
是近年来最为流行的技术之一,强大的web应用程序和领先的移动应用程序都离不开 后端强大的API。API技术否认应用给系统开发带来了便利,但也需要测试人员来进行有效的API测试,来保证API能够按照预期执行。
现如今,大多数互联网公司和团队都在实施敏捷开发项目,在敏捷开发产品的生命周期中,测试人员需要 用一种简单、快捷的方法来完成API的测试。(自动化测试)
2、接口测试的必要性
目前软件系统的额复杂度不断上升,传统的功能测试已经不能保证项目的质量深度以及进度。
而接口测试的应用,恰好能够更快更早的介入项目。这样可以在项目初期就能发现系统深层次的问题,可以降低后期修复项目的成本。
并且,接口测试的变更率远远小于 用户界面(User Interface - UI)的变更率。因此接口(API)自动化的维护成本比 UI 自动化的维护成本更低。所以API测试 更容易实现自动化 持续集成。
此处,关于 用户界面 UI test:(详情链接,请稍后...)
关于 持续集成:(详情链接,请稍后...)
3、接口测试的原理
API Test :测试人员借助 工具 模拟客户端 向服务器发送 请求报文,服务器 接收 请求报文后,对报文进行处理 并向客户端返回应答。工具模拟客户端接收应答。
软件测试人员根据相关的 接口测试文档,检查应答是否正确,这就是API test的 原理。
4、接口测试的范围
关于接口的范围,主要从两个方面去考虑:
a)、是否所有的接口都需要进行测试?
随着项目系统的复杂的越老越高,想要完全实现全部接口的测试很困难,况且要均衡测试成本付出和收入的比例。所以,一般我们只测试到最外层的两类接口:
数据进入系统的接口:调用外部系统的参数为本系统所用
数据流出系统的接口:验证本系统处理后的数据输出是否正常
b)、被测接口需要测试哪些方面?
测试人员需要关注 被测接口的 :
功能是否实现:
性能是否达标:
安全性是否满足:
重点关注 数据的交换、传递、处理的次数 以及控制管理过程。
5、什么是接口?
官方释意:两个不同的系统 或 一个系统中不同的功能,这两者之间 相互连接的部分 就称为 接口。
个人理解:在java项目中,一个完整的项目 是有很多个代码块组成 多个功能块,这些块 与块 之间连接的桥梁 就可以称为 接口。
在软件测试中,所说的接口,一般有两种:
图形用户接口:Graphical User Interface,GUI - 人与程序之间的接口(用户通过界面对程序进行操作 - 人与程序之间的连接桥梁)
应用程序编程接口:Application Programming Interface,API - 是一组定义、程序以及协议的集合,用来实现计算机软件之间的相互通信。主要功能就是提供 通用功能集。
6、接口的分类
依据所遵循的协议的不同,常见的接口可以分为3类:
1)、HTTP 接口:是基于超文本传输协议的接口。超文本传输协议(HyperText Transfer Protocol - HTTP)此处,关于HTTP:(详情链接,请点击这里)
2)、Web Service 接口:是系统对外的接口。一般来说,如果需要从别的网站或服务器获取资源,别人不可能直接把数据库共享给你,那么就会写一个方法来获取数据,然后把这个接
口提供给你,从而达到数据同步的目的。
3)、RESTful 接口:简称REST。其描述了一个架构式的网络系统,核心是面向资源。此处,关于REST:(详情链接,请稍后...)
在此,目前基于浏览器/ 服务器模式(Browser/Server,B/S)的软件系统接口,大多数为HTTP接口。
7、接口测试流程
1)、编写测试计划
2)、编写、评审接口测试用例
3)、执行接口测试
4)、接口自动化测试持续集成要点
8、接口文档系统
ShowDoc