上一篇和你们一块儿科普扫盲接口后,知道什么是接口,接口类型等,对其有了大体了解以后,咱们就回到主题-接口测试。html
通常来讲,测试接口,就是指测试接口的功能,性能和稳定性测试,固然可能还有安全性测试。这个入门系列会让你掌握接口的功能测试。通常,来讲咱们据说到的接口基本上都是指HTTP或者HTTPS协议的接口测试,也就是一些web服务请求。一个软件项目中,前端
有不少接口,少的有几十个,多的有几百上千个接口。这个时候,咱们没有软件界面,没有具体的测试场景,只有一个接口描述文档。咱们须要把接口这样抽象的东西,经过软件测试的理论和方法去测试接口,找出接口的功能和安全性的缺陷。接口有内部接口和外部web
接口。内部接口就是开发人员本身开发的接口。外部接口,比如网站调用微信支付和支付宝支付接口。还有一些模块与模块之间的接口。学习过Java或者用过selenium的人,应该对接口有了解。你的自动化脚本调用了不少selenium的接口。数据库
接口将前端和后端进行很好的分离,帮先后端实现数据交互,这样在项目初期就能够和前端工程师讨论须要的后端数据,而后后端根据需求开发后接口,将数据返回给前端,测试人员提早进入测试接口,先后端而后在各自开发本身模块。后端
项目迁移,以及后期维护,接口带来的便利性,试想一下,若是没有项目交付之后,后端人员将数据库的某个字段的长度、类型修改后发版,而因为某些缘由没有及时通知前端工程师,而此时前端的获取的这个字段的类型、长度是之前的,那么就可能引起线上事故。如安全
果前端技术牛叉,存储获取字段是一个变量,工做量还小点。只须要改变变量类型、长度便可,若是是一个差一点的没有用变量,而前端又是好几百个页面都用到这个字段,这样就形成后果没法想象的,可是用到接口就有不同了,若是出现相似的状况,后端人员只需微信
要将这个字段经过接口作处理是返回的字段保持一致便可,也就是分分钟的事,可能用户都没有察觉就修复了。并且前端、后端、测试也很好排查问题,跑一下接口,查看接口文档返回数据有差别,修给接口就能够,这样处理问题效率也会大大提升。前端工程师
简单归纳:架构
①.越底层发现bug,它的修复成本是越低的。前后端分离
②.前端随便变,接口测好了,后端不用变,先后端是两拨人开发的。
③.检查系统的安全性、稳定性,前端传参不可信,好比京东购物,前端价格不可能传入-1元,可是经过接口能够传入-1元。
④.现在的系统复杂度不断上升,传统的测试方法成本急剧增长且测试效率大幅降低,接口测试能够提供这种状况下的解决方案。
⑤. 接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,能够减小人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为何能低成本高收益的根源。
⑥. 如今不少系统先后端架构是分离的,从安全层面来讲:
(1)、只依赖前端进行限制已经彻底不能知足系统的安全要求(绕过前面实在太容易), 须要后端一样进行控制,在这种状况下就须要从接口层面进行验证。
(2)、先后端传输、日志打印等信息是否加密传输也是须要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。