接口测试常见的问题了。前端
你们乍一看!程序员
接口测试面试题面试
这几个问题,能答出来几个?有没有8个都可以完美的答出来的?在留言区打出你的数字。(0~8)数据库
这些问题你回答起来,不要吞吞吐吐只说几个关键字。你要从多方面去给面试官总结分析那些场景,如何去作的,遇到的问题……后端
接口测试的重要性,相信不用我多说了。接口测试是如今软件测试工程师一个加分项。由于不少朋友一开始作了几年的软件测试都是在作功能测试,作界面UI的测试,然而没有作过接口测试。(很正常很广泛)安全
那么接口测试它在企业中,能达到很是好的收益。后端、服务端的测试,特别是如今!像是前面几年,物联网公司没有作一个先后端分离,如今基本上都是微服务架构,先后端分离。接口很是重要,如今2020年了,将来几年你去作测试,不少都是接口。服务器
一个接口它能够支持安卓、IOS、H五、Web端。并且接口测试能够测不少你在界面上没法去测试的一些范围和类型。微信
咱们来看一看这几个问题,从简单的来。架构
第一题,你们绝大部分都可以答得出来框架
1.目前市面上流行的接口大多有哪几种协议的接口?
你们可能就很是了解,Http、Https、RPC、Websocket、还有一个Dubbo接口,这些类型百度一下也都可以比较全面的获得答案。
因此我一直传输给你们一个观念就是说,假如面试官问你这个问题,你不只要说有Http、Https……说完这几种类型,你还能够多说几句,好比说我以前在项目中测试过Http的,怎么测试的,用什么测试工具测试的,这是我一直传输给你们的一个面试小技巧。由于我以前在企业中作为面试官的时候,当听到这种面试题回答的时候,会更加分。
由于若是我问你一个问题,你答Http、Https就没了,那么说明你这我的的积极性和你的一个综合能力、见识都不是很是的亮眼突出。理解个人意思吗?无论面试官问你什么问题,你都要很是全面的去解答。
好比说第二个问题
2.http协议有什么特色,能说说这些特色体如今哪些方面吗?
可能会有朋友就说,安全。
Http就安全了吗?(Https才相对安全)
a.无状态
b.灵活
c.无链接
d.简单快速
那么我又来问你们,这些状态这些特色,具体体如今哪些方面?
可能问到这个问题的后面部分,有些朋友就要头皮发麻了。
它为何叫作无状态,为何灵活?可能像这种问题就又刷下去了一大批人。有不少朋友特色可能说了一个,可是这些特色具体体如今哪些方面。你若是没有答出来,那面试官就以为你没有作过不少的接口测试,你对接口根本不是很了解,那你对接口既然不了解,作过的测试也很少,那你还说你作过接口测试,那都只是片面的。
那首先它无状态,灵活,说一个最简单的。灵活,你们都知道,像Http类型的接口咱们用Postman来作测试,它为何比较灵活?它支持的参数类型是任意类型
这个就是我以前搭建的接口项目
它来作测试的时候,这个参数类型,表单,文件上传类型,还有JSON类型,Text文本,JS,XML,HTML
你的参数能够支持任意类型
你的参数能够支持任意类型,因此说它比较灵活。
那为何说它简单快速?你只须要传一些接口的请求方法和请求路径,通讯速度很是快,它就能给到你响应的数据。
好比说很简单,我以前写的一个demo接口
你只须要告诉我,这个地址和这个接口的路径,或者说接口的名称,我就能请求这个接口了,就能快速的拿到下面的值。那是否是说它很是的简单快速呢,不像Dubbo接口不像Websocket,不像其余的接口,稍微你要去测试,去请求可能难一点。这就说明它简单快速。
无状态。好比说你如今要去支付一笔订单,你要点一个外卖,那么你支付订单的时候,那么我怎么知道你的购物车里面加了哪些东西呢?其实你加购物车、下订单、登陆其实都是相应的接口,他们之间实际上是没有一个实物处理记忆能力的,Http协议它请求成功以后没有记忆了。因此说你每次去请求新的接口,它都有一个新的请求,那么为何如今这种下单、登陆加购物车可以很是灵活的应用起来呢?这就还有它中间的一些机制,会用到一些Session、Cookie、和一些Token,因此这就是它的一个原理。
那么无链接。怎么理解?
那我本身的一个项目来讲吧!这是以前搭建的一个测试项目管理平台
那么每次咱们去请求的时候,Network刷新一下,它可能去请求了不少个接口,因此说每次链接它只处理一个请求。服务端当处理其中一个接口的时候,它只请求这一个,请求完以后,它就立刻断开链接,节省这个传输的时间,因此这是一个无链接。
因此这些特色体如今哪些方面,你能说一说的话,说明你对这个接口你比较有心得了。有收获记得点赞支持一下!
3.postman中如何实现接口之间的关联?
我想这个可能还不是最难的问题,可能你们用过,像第二个问题比较综合性的每每是你们比较薄弱的东西。
好比说这是一个正规的接口文档,有哪些接口就用Postman所有写一遍,而后如何接口之间的关联,这里会用到这些东西。
怎么设置关联,将数据解析成Json格式,获取topic_id的值,设置成环境变量,等等。这就能实现接口之间的关联。
而后你在这里会发现,这里有不少环境变量或者全局变量,这就是接口之间的关联。
5.若请求的接口须要先登陆后方可请求,如何进行接口测试?
好比说有些接口须要先登陆才请求,那如何来进行接口测试?先登陆,好比我问你这个问题你怎么来回答?
由于不少须要请求的接口它须要先认证才能去请求。
Token?
这个回答不对,Token从哪里来?你须要去请求什么样的接口,你的登陆接口或者去哪里去拿到,这个问题仍是比较简单的,你们能够作为做业区用心学习一下。
7.dubbo接口如何测试?
那咱们来看看像这种Dubbo如何去进行测试?这个有了解过吗?由于如今愈来愈多的公司可能不只用Http他还会用到Dubbo接口。dubbo接口是咱们(用的阿里云服务器)阿里巴巴开源的一个高性能的服务框架,Dubbo是经历过双十一的一个摧残优秀的RPC框架,不少公司都在用了,可是你又没有据说过,额,怎么还会有这个接口啊?你听都没有据说过,那么你在面试官那里……由于面试的公司颇有可能就是作的Dubbo接口,那你来作接口测试,你连Dubbo都不知道,那我是否是又要培养你一个月?告诉你什么是Dubbo,怎么测试Dubbo,还说让你来作Dubbo接口自动化,那更加。就算招你进去了,你也是一个新手,菜鸟的身份进去的,你的工资是很难提上去的。
好比他工资原本开的是15K-20K,那么就算你能面试进去了,你最多最多拿到15K。那还要看你的运气,看你其余方面的一个加分项,来抵消这个暂时的短板。
面试官:什么是Dubbo?
我:我、我、我抓一抓后脑勺,摸摸手臂,扣一扣指甲。
而后就是说……吞吞吐吐答不出来(心里独白:到底何时结束这个面试,你赶快把简历还给我吧,QAQ)
我还准备去下一家公司去“吹牛皮”也许下一家公司面试官不会问到我不会的问题。
你们不要抱着这样的心态,我发现作测试真的这样一个现状,不少朋友就以为能混,我如今作功能测试不用任何的技术,能拿个7.8K,一万的工资,也能够。至少要比其余的行业的底薪是要高一些。
因此就存在这个现象,他不会不少的技术,没有不少的技能他也能混,或者运气好,在一线城市需求多。为何不少测试在一线城市可以拿到10-15K,他不会任何的技术,由于一线城市的需求多不少。
可是你想要突破,想突破15K,突破18K那就难上加难了,并且若是你从大城市工做三到五年,你再回去到二线城市去作测试,那么你还想来混,那么你的工资就可能只有5-6K了,并且你没有任何的技术,你说你从大城市回来的,都以为有点很差意思说。
你从大城市回来的,你带回来了什么先进的概念,带来了什么先进的技术,是否是?
说远了,回归正题。
文章首发于公众号:程序员一凡
转载请注明出处!
.
Dubbo的一个测试关键,搭建消费者,你须要去理解的Dubbo接口的基础架构基础服务究竟是一个什么样的原理。(有一个接口测试训练营有讲到这个原理以及如何去测试,须要视频教程能够免费领取)
我在这个服务器上搭建了一个Dubbo服务
最简单的方式用,Telnet,个人IP地址,而后加一个端口,其实测试起来和Http原理都同样。
开启服务以后,进去以后就是一个Dubbo
咱们还能够用代码来写
这里封装了一个Dubbo的方法,类。须要完整视频版教学能够公众号主页点击领取资料便可。
8.接口测试断言从哪些方面去设计?
若是我把这个接口测试改为功能测试,功能测试断言从哪些方面去设计?
你要怎么去校验一个测试用例,我以为这个是不少作测试的朋友最擅长的东西,那么我问接口测试呢?
其实接口测试也属于功能测试,也是黑盒测试。
好比说这个接口,我去发送一个请求,你怎么去校验这个接口,我怎么去判断我这个用例究竟是不是对的,我这个用例究竟是验证了什么东西
到底什么是401,什么状况下会401,或者是403 Forbidden究竟是什么状况。
1.状态码
它会不会返回200,会不会返回401,403,返回500等等
2.返回值
返回值好比我拿一个正确的吧,状态码200,返回了一大堆的值,那么这个返回值里面就有不少东西须要去校验了,怎么去校验这个返回值?
3.并且返回值里面不少数据是动态的,这个时候要怎么去设置?要考虑数据库校验吧,不少字段的值来源于数据库
非关系型数据库(Mongo)
4.空校验,异常校验,
5.幂等性
幂等性的校验在接口测试是一个常见的校验,好比说你一个接口我调用一次正常了,你能保证它以后调用都是正常的吗?这些数据、参数几百个不一样类型的参数,我调用一百次,会是一个什么样的状况?
幂等性,我重复执行一百次,它会返回什么。
或者我去买一个外卖,下单,可是我不支付,是否是我点击下单一百次,它会不会产生不少垃圾数据在咱们数据库里面。
其实还有不少须要你去测试的,为何接口测试这么重要,要测试的东西和功能测试同样方方面面都是须要考虑到的。
6.流程节点限制
举一个异常例子吧,好比说你在支付的时候,我只下单没有付钱,那么像这个接口的返回值。我先调用下单的接口,我拿到一些数据再去调用别人正常支付后的接口。会是一个什么样的场景,有没有作一些限制。
接口测试很容易作一个数据驱动,作一些自动化,咱们都要去尽量的全面的覆盖作一个接口自动化,那么你的效益是很是高的。并且你把这一套所有作成自动化,不论是后端开发人员仍是前端开发人员仍是测试,你在企业中本人价值也是很是高的。
若是面试官以为你答对了,再深刻一点,什么是异常校验?就是来评判你能不能达到一个高级测试工程师。
异常校验
数据异常,环境异常,前置条件异常,你们都知道作过接口测试的朋友都知道接口有不少的前置条件,前置条件链接数据库或者数据的预制,那么这些前置条件有没有异常致使咱们接口异常。
因此像这种问题,你若是没有真实的项目经验,你绝对总结不出来也回答不出来。
文章首发于公众号:程序员一凡
转载请注明出处!