接口(API)是一个简称,全名叫应用程序编程接口(Application Programming Interface),是一些预先定义的函数。目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工做机制的细节。前端
工做中的接口如打电话的按键,电梯中的楼层按键,开车时脚踩油门,接口就是一个位于复杂系统之上而且能简化你的任务,它就像一个中间人让你不须要了解详细的全部细节,咱们今天要讲的Web API就是这么一类东西。面试
例如百度搜索,它提供了搜索接口,简化了你的搜索任务数据库
越底层发现bug,它的修复成本是越低的,接口属于金字塔模型 的中间层,属于收益产出比最高的编程
金字塔模型后端
前端随便变,接口测好了,后端不用变安全
检查系统的安全性,稳定性服务器
系统复杂度上升,传统测试方法成本加大,效率下降,接口能够 解决这个问题网络
先后端框架分离,从安全层面说架构
只依赖前端进行验证已经不能知足安全的需求,由于绕过前 端太容易,要对接口作控制,作相应的校验框架
先后端传输,日志打印等信息是否加密传输也是须要验证的,特别是密码,身份证,银行卡信息等。
接口测试的原理是什么呢?
测试人员能够借助工具模拟客户端向服务器端发送请求报文,服务器端接收请求报文后,对相应的报文作出处理并向客户端返回应答,工具模拟客户端接收应答,而后测试人员检查应答是否准确,这就是接口测试的原理。
接口测试的范围有哪些呢?
关于接口的测试的范围,主要从如下两个方面进行介绍。
一、是否全部的接口都须要测试?
随着系统复杂度愈来愈高,接口愈来愈多,想彻底覆盖全部接口是一件很困难的事情。
一般状况下,主要测试最外层的两类接口:数据进入系统的接口(调用外部系统的参数为本系统使用)和数据流出系统的接口(验证系统处理后的数据是否正常)
二、被测接口须要测试哪些方面?
测试人员须要关注被测接口的功能是否实现,性能是否达标,安全性是否知足,重点关注数据的交换,传递,处理次数以及控制管理的过程。
接口的分类?
依据所遵循协议的不一样,常见接口能够分为如下三类。
HTTP接口,他是基于超文本传输协议开发的接口,但并不能排 除没有使用其余协议
WebService接口,他是系统对外的接口,好比你要从别的网站或服务器上获取资源,通常来讲,别人不会把数据共享给你的,他们会提供一个他们写好的方法,让外部人员获取数据,从而达到数据同步的目的。
RESTful接口,简称REST其描述了一个架构样式的网络系统,核心是面向资源。REST专门针对网络应用设计和开发方式,下降开发的复杂性,提供系统的可伸缩性。
基于B/S架构的软件系统接口大多数为HTTP接口
接口测试流程?
一、编写接口测试计划
接口测试计划跟功能测试计划是同样的,都是为了确认是否知足需求,肯定测试环境及测试计划,为设计测试用例作准备,通常来讲,接口测试计划包含概述,测试资源,测试功能及重点,测试策略,测试风险及测试标准
二、编写,评审接口测试用例
根据需求文档,接口文档写测试用例,而后开发,测试一块儿评审测试用例是否符合需求和相关要求。下面的图里面的内容能够供你们写测试用例的时候参考。
三、执行接口测试
执行接口测试的时候,能够借助已经开发好的工具,如比较主流Jmeter,Postman,SoapUI,或者直接本身写代码进行相应的接口测试。
四、接口自动化测试持续集成
第一,流程方面,在回归阶段增强异常场景的覆盖,并逐步向系统测试,冒烟测试阶段延伸,最终达到全流程自动化。
第二,结果展现,更加丰富的结果展现,趋势分析,质量统计和分析等
第三,问题定位,报错信息,日志更精准,方便问题复现与定位
第四,结果校验,增强自动化校验能力,如数据库信息校验。
第五,代码覆盖率,不断尝试由目前的黑盒向白盒下探,提供代码覆盖率。
第六,性能需求,完善性能测试体系,经过自动化的手段监控接口性能指标是否正常
小编今天就介绍到这里,但愿对你有所帮助,若是你们有什么补充的能够留言,互相探讨(^U^)ノ~Y
视频教学传送门: