在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
目前,打开各大网络招聘网站,我们可以发现,几乎所有的测试岗位都对求职者有接口测试经验的要求。因此,无论是从接口测试本身的优势来看,还是从就业市场的技能要求来看,学习并掌握接口测试都是极其重要的。下面一起来看看接口测试的基础学习总结吧~

一、认识接口测试
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。接口测试是目前测试的主流手段之一,采用接口测试有很多优点,比如提高测试效率,方便定位Bug,提高服务端健壮性等等。
二、做接口测试的必要性。
1、越底层发现bug,它的修复成本是越低的。
2、前端随便变,接口测好了,后端不用变,前后端是两拨人开发的。
3、检查系统的安全性、稳定性,前端传参不可信,比如京东购物,前端价格不可能传入-1元,但是通过接口可以传入-1元。
4、如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。
5、 接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。
6、 现在很多系统前后端架构是分离的,从安全层面来说,只依赖前端进行限制已经完全不能满足系统的安全要求, 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证;前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。
三、接口测试流程
1、需求分析:需求文档 VS 接口文档。
2、编写和评审用例:根据需求变更结合业务优先级,边界值等价类等分析方法设计手动测试用例;根据接口的参数组合以及接口的预期返回设计接口测试用例。
3、准备测试环境和测试脚本:接口测试需选择合适的工具实现步骤2中评审的用例。
4、执行测试用例,发送测试报告:接口测试自动运行脚本,生成和发送测试报告。
四、接口测试工具
1、Postman:谷歌提供的开源接口测试工具,支持Http接口的调用和验证
2、Jmeter:Apache提供的开源接口测试工具,除了支持Http接口还有很多扩展功能(Mysql,3、Redis,RabbitMQ....)
4、Fiddler:抓包工具,常用于接口分析以及Mobile端接口自动化
5、HttpComponents:Apache提供的开源包,可以基于它实现接口代码的编码
六、接口测试常用技术点
1、参数化:自动生成不同的接口数据,或者符合后端服务校验规约的接口数据(eg: 手机号,身份证,邮箱,用户姓名)。
2、断言:验证接口的返回,包括响应码,响应字段的校验(Json报文,HTML或XML报文)
3、关联:多接口测试时,不同接口间的参数传递。
4、数据库:除了验证相应报文,还可验证数据库字段确保程序逻辑的正确性。
5、持续集成:接口工具或框架和Jenkins等持续集成工具的结合,实现无人值守或者自动触发。
以上就是接口测试的基础学习总结,学好接口测试可以奠定自动化和性能测试的基础。而且接口测试也是测试求职必备的技能之一。如果大家还想看到更多关于测试的干货分享,欢迎关注博学谷资讯软件测试栏目!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
软件测试人员必须掌握的知识--软件测试分类
软件测试是在产品上线前模拟真实使用场景的测试环节,根据产品不同、使用环境不同,软件测试人员需要掌握不同的测试方式。那软件测试到底有哪些途径呢?下面小编为大家分享一下软件测试人员必须掌握的知识--软件测试分类。
10355
2019-08-08 10:23:27
初学者如何编写软件测试用例?
初学者如何编写软件测试用例?作为刚入行软件测试行业的初学者来说,需要学习的东西比较多,其中一项在工作中经常用到的技能就是测试用例编写。测试用例是为完成相应的测试工作而编制的,包括:测试输入、执行条件以及预期结果。那作为初学者应该如何编写软件测试用例呢?
14352
2019-08-08 10:23:33
软件测试人员常用工具汇总
软件测试不但要求测试人员有明确的测试目标以及用例设计,同时还要掌握测试中常用的各种工具,才能保障测试工作的顺利进行。几年前的测试工作大部分是采用人工手动测试,效率较低而且无法保证模拟的测试场景效果,所以逐渐将测试工作专业到自动化测试的方式上。所以这里主要和大家分享一下目前软件测试人员常用的工具有哪些。
10840
2019-08-09 18:03:55
为什么要学软件测试?软件测试工程师有什么优势?
大部分人一直都在关注软件工程师,而忽略了测试工程师的重要性。软件测试是通过模拟真实使用场景来检验软件正确性、完整性、安全性以及质量的过程。是软件产品上线前的自我测试。这样不但可以提高软件产品的生产效率、降低企业损失,同时也能为产品赢得更好的口碑。那为什么要学软件测试呢?软件测试工程师有什么优势呢?
12353
2019-08-14 10:19:36
白盒测试和黑盒测试的区别
白盒测试和黑盒测试的区别白盒测试和黑盒测试都是计算机领域行业用以检查程序的状态,确定实际运行状态与预期状态是否一致。白盒测试技术深入到代码一级的测试,使用这种技术发现问题最早,效果最好。黑盒测试技术覆盖全部的功能,结合兼容,性能测试等方面进行,根据软件需求,设计文档,模拟客户场景随系统进行实际的测试。
8426
2020-06-01 15:32:12
