什么是接口测试?
接口测试是测试系统组件间接口的一种测试,主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。接口测试一般应用于测试系统间交互,或者对拥有多个子系统的应用系统进行交互测试,因此接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统,主要测试这些系统对外部提供的接口,验证其正确性和稳定性。当然接口测试同样适用于一个上层系统中的服务层接口。
接口测试在软件测试每个阶段需要做的事情:
需求分析和设计评审:这在任何测试中都是必须的,而在接口测试中,着重对系统的设计,系统间的交互以及相互依赖进行评审。
测试框架和技术选型:接口测试与功能测试的不同点,接口测试需要借助工具或者使用代码来对整体接口进行测试,而在这个过程中,我们需要依赖于设计评审阶段,只有对系统足够了解,对系统间的交互足够了解,才能选出合适使用而且投入最少的工具或者框架。
测试计划制定:从哪个阶段引入接口测试,以及接口测试的基本工具等等进行计划。
测试环境搭建:包括实际系统环境以及接口测试所需要的环境
测试用例设计和评审:接口测试中,当然是对接口覆盖性以及流程接口的测试方法进行评审。
测试实现和执行:这是具体的执行阶段,就是接口测试实际运行阶段。
测试报告:在实际运行结束之后,对整体接口测试结果给出详细并美观的报告。
所以接口测试其实并不是非常高深的内容,与功能测试相比,测试的内容,测试的方法,以及过程有一些不同,但是在具体的实施中,需要测试人员有非常熟悉的业务知识,当然也需要对基本接口工具以及接口测试流程有一定的了解
接口测试类型:
常见web接口:一类是http协议的接口,另一类是web service接口(如soup、rmi、rpc协议)
要介绍http请求接口:
常见的http请求方式包括:get(查)、post(增),除此之外还有put(改)、delete(删)等。
1)get型接口
格式:请求数参数写在网址后面,用"?"连接,多个参数之间用"&"连接。如:https://api.douban.com/v2/book/search?q='',这是一个豆瓣查询图书信息的开发api,q='',单引号里就是查询的参数,如查询《小王子》这本书的信息,则q='小王子'
场景:get型接口用于获取信息,多用于查询数据,如列表查询功能,点击查询按钮就调用一个get接口,然后把信息返回出来
特点:1)请求数据量小,2)参数暴露于url地址中,故存在安全隐患
2)post型接口
说明:向指定资源位置提交数据(如提交表单、上传文件)来进行请求,post请求可能会导致新资源的建立
场景:如注册、上传、发帖等功能,如用户在某网站对某本书进行收藏、写笔记、发表评论
特点:请求数据量大,安全性高
3)put型接口
说明:put请求用于向指定资源位置上传最新内容
场景:如用户在某网站修改对某本书的收藏、修改某篇笔记或修改评论
4)delete型接口
说明:请求服务器删除请求里url所标识的资源
场景:如用户在某网站取消对某本书的收藏、删除某篇笔记或删除评论