接口测试理论一
Posted 测试斑鱼官
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口测试理论一相关的知识,希望对你有一定的参考价值。
介绍接口测试之前,先介绍下接口的概念及常见的接口类型
一: 接口的概念、常见类型
接口是指系统与系统间以及内部各子系统间的交互点,包括外部接口、内部接口,内部接口又包括:上层服务与下层服务接口、同级接口。
常见web接口:一类是http协议的接口,另一类是web service接口(如soup、rmi、rpc协议)。
WebService就是Web服务的意思,对应的应用层协议为SOAP(相当于HTTP协议),可理解为远程调用技术。
webservice的基础组成是http+xml,
三要素:soap传输协议,uddi,wsdl(webservice描述语言xml格式)
优点:跨平台,跨程序
缺点:xml格式,传输和解析耗费资源大
本文主要介绍http请求接口。
常见的http请求方式包括:get(查)、post(增),除此之外还有put(改)、delete(删)等。
(1).get请求格式:请求参数写在网址后面,用“?”连接,多个参数之间用“&”连接。例:https://api.douban.com/v2/book/search?q=shanghai&t=zj
场景:get型接口用于获取信息,多用于查询数据,如列表查询功能,点击查询按钮就调用一个get接口,然后把信息返回出来
(2).post型接口
说明:向指定资源位置提交数据(如提交表单、上传文件)来进行请求,post请求可能会导致新资源的建立
场景:如注册、上传、发帖等功能,如用户在豆瓣网站对某本书进行收藏、写笔记、发表评论
特点:请求数据量大,安全性高
如豆瓣的发表评论的开放api,见下图:
(3).put型接口
说明:put请求用于向指定资源位置上传最新内容
场景:如用户在豆瓣网站修改对某本书的收藏、修改某篇笔记或修改评论
如豆瓣的修改评论的开放api,见下图:
(4).delete型接口
说明:请求服务器删除请求里url所标识的资源
场景:如用户在豆瓣网站取消对某本书的收藏、删除某篇笔记或删除评论
如豆瓣的删除评论的开放api,见下图:
二: 接口测试概念
关于接口测试的一些疑问:
接口测试都测些什么,怎么测?,如何测试后端接口?
接口测试的重点在于对服务器逻辑的验证,通过检查数据的交换,传递和控制管理,以及系统间相互逻辑依赖关系验证
1.什么是接口测试?
接口测试是测试系统组件间接口的一种测试。接口测试主要检测外部系统与系统之间以及内部内部各个子系统之间的交互点。测试重点是检查数据的交换,传递和控制管理的过程,以及系统间相互逻辑依赖关系等。
2.为什么做接口测试?
(1).软件系统复杂度不断提升,传统测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。
(2).接口测试较UI自动化比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。
(3).现在很多系统前后端架构是分离的,从安全层面来说:
a) 只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。
b) 前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。
(4).接口测试持续集成
对接口测试而言,持续集成自动化是核心内容,通过持自动化的手段我们才能做到低成本高收益。目前我们已经实现了接口自动化,主要应用于回归阶段,后续还需要加强自动化的程度,包括但不限于下面的内容:
a) 流程方面:在回归阶段加强接口异常场景的覆盖度,并逐步向系统测试,冒烟测试阶段延伸,最终达到全流程自动化。
b) 结果展示:更加丰富的结果展示、趋势分析,质量统计和分析等
c) 问题定位:报错信息、日志更精准,方便问题复现与定位。
d) 结果校验:加强自动化校验能力,如数据库信息校验。
e) 代码覆盖率:不断尝试由目前的黑盒向白盒下探,提高代码覆盖率。
f) 性能需求:完善性能测试体系,通过自动化的手段监控接口性能指标是否正常。
文章整理于:
贺满:https://www.cnblogs.com/puresoul/p/5388586.html
茵茵大可爱:https://blog.csdn.net/github_36032947/article/details/78222654
以上是关于接口测试理论一的主要内容,如果未能解决你的问题,请参考以下文章