当你打开这篇文章就说明你已经对接口测试产生了兴趣~不管你是刚接触还是没接触过,都不妨看一看,希望对你以后的职业生涯有帮助。
同时随着AI的发展,根据2017年数据表明,只会表面点点点的测试工程师即将被取代,掌握接口测试、开发语言、测试框架开发,可从事高级及以上测试岗位,年薪普遍可达25~50W。
首先,要了解接口自动化测试,你得知道什么是接口?
接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口。
系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的,比如说咱们用的app、网址这些它在进行数据处理的时候都是通过接口来进行调用的。
程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,要发帖就得登录,那么这两个模块就得有交互,它就会抛出一个接口,供内部系统进行调用。
什么是接口测试?
其实我觉得接口测试很简单,比一般的功能测试还简单(这话我先这样说,以后可能会删O(∩_∩)O哈!),现在找工作好多公司都要求有接口测试经验,也有好多人问我(也就两三个人)什么是接口测试,本着不懂也要装懂的态度,我会说:所谓接口测试就是通过测试不同情况下的入参与之相应的出参信息来判断接口是否符合或满足相应的功能性、安全性要求。
我为啥说接口测试比功能测试简单呢,因为功能测试是从页面输入值,然后通过点击按钮或链接等传值给后端,而且功能测试还要测UI、前端交互等功能,但接口测试没有页面,它是通过接口规范文档上的调用地址、请求参数,拼接报文,然后发送请求,检查返回结果,所以它只需测入参和出参就行了,相对来说简单了不少。
为什么要做接口自动化测试?
大家都知道,接口其实就是前端页面或APP等调用与后端做交互用的,所以好多人都会问,我功能测试都测好了,为什么还要测接口呢?
OK,在回答这个问题之前,先举个例子:
比如测试用户注册功能,规定用户名为6~18个字符,包含字母(区分大小写)、数字、下划线。首先功能测试时肯定会对用户名规则进行测试时,比如输入20个字符、输入特殊字符等,但这些可能只是在前端做了校验,后端可能没做校验,如果有人通过抓包绕过前端校验直接发送到后端怎么办呢?
试想一下,如果用户名和密码未在后端做校验,而有人又绕过前端校验的话,那用户名和密码不就可以随便输了吗?如果是登录可能会通过SQL注入等手段来随意登录,甚至可以获取管理员权限,那这样不是很恐怖?
那么如何将接口测试框架集成到项目里,这也是个大的命题,包括深入的了解接口的原理,如何开发一个企业级的接口,以及如何用主流工具进行接口测试,如何自己搭建一套接口自动化测试框架,并且集成到企业级的项目中。如何模拟企业实际项目运作模式,这些我都有在博为峰网校有课程分享过经验,感兴趣可以了解一下。
所以,接口测试的必要性就体现出来了:
①、可以发现很多在页面上操作发现不了的bug
②、检查系统的异常处理能力
③、检查系统的安全性、稳定性
④、前端随便变,接口测好了,后端不用变
总结:
做好接口自动化测试并没有那么简单,当然只要找对方法和工具,一切都没有你想象中那么复杂!
什么样的自动化测试工具适合做接口?Jmeter?postman?
接口是怎么开发的呢?
如何将接口测试框架集成到项目里?
跟着组团一起学习吧!!直播报名
<接口测试行业大佬带你从青铜上王者>
加微信,备注“试听”
申请试听(*名额有限)
点击查看详情>>http://h.atstudy.com/atstudy/live