软件测试面试点-接口相关

本文介绍了接口测试的关键点,包括接口关联、鉴权、加密和错误码等,并提到了常用的工具如jmeter和postman。强调了接口测试的时机、用例设计和执行,以及遇到的bug类型。还讨论了接口自动化的优势、实施流程和数据驱动方法,并列举了在web自动化中使用的Python库和处理的异常类型。
摘要由CSDN通过智能技术生成

hui一,接口考察点(一般面试会注重问项目经验)

工具:jmeter,postman,apifox

1.能够说出接口关联,鉴权码,加密,签名(验签),错误码,请求方式,入参,出参

关于以下几点,差不多了解就行

(1)http和https的区别,get和post的区别

(2)接口的常用验证码

(3)常见的接口请求头 Accept,X-Requested-With,User-Agent,Content-Type,Cookies

2.你最近项目中有哪些接口,详细说明下

(1)接口的测试时机:前后端联调的时候

(2)在面试前面要至少准备5个详细的接口案例

(3)一般存在数据交互的地方就存在接口

3.你是怎么做接口测试

(1)怎么些接口用例

正例,反例(鉴权(鉴权码过期),参数(类型,长度),错误码,黑名单,禁用,调用次数,分页,兼容性)

(2)可能会问写过多少条用例,一般一个简单接口,正反用例一般都会二三十条

(3)怎么执行用例,具体举例子,哪些接口要做关联,哪些接口要做加密,还有动态参数和签名认证,就是要举这种具体案例,不能直接说使用了xx用具执行的,没有说服力

4.你接口测试中,遇到哪些bug,多吗

(1)前后端联调的时候bug比较多,先说业务相关的bug,也要举具体的案例,可以说接口功能没实现,或者说和业务相关的一个值没有做校验等,不能直接说长度过长,参数不正确等;再说鉴权相关的bug

5.如果一个接口请求不通,你会考虑哪些方面的问题(考察解决问题的能力)

(1)首先检查请求四要素:请求方式,请求路径,请求参数,请求有,要主要有没有空格

(2)网络是不是畅通

(3)在迭代的过程中,项目没有部署

(4)服务器的防火墙有没有关闭掉

(5)查看后台日志是否有报错

(6)访问的权限是否正确

(7)是否开了代理,如果是https的请求,但是没有安装证书,就请求不通

6.cookie,session,token有什么区别

相同点:都是用作鉴权,都是服务器生成

不同点:

   --cookie保存在浏览器上面,不安全

  --session保存在服务器内存,并且他一般都是通过cookies传输sessionid,比cookies相关安全访问量大的时候会影响到服务器的内存

 -- token存储在服务器的数据库,通常是通过登录获取,后续所有的接口都必须带上token才能请求成功

7.在jmeter一般用的最多的是哪些函数,至少要说3,4个

8.特定接口,在jmeter/postman要做xx加密或者签名的接口,要怎么处理

(1)首先说出各种加密方式

   ——对称加密:DES,AES,BASE64

   ——非对称接口:RSA

   ——只能机密不能解密:MD5,SHA

一般想获取解密后的请求参数,都是基于java的二次开发处理得到对应加密后的值

9.依赖于第三方的数据接口,你是怎么 测试的

(1)用mock,前端开发调用mock.js来mock

(2)最简单对测试最有好的是:apifox

10.如何验证接口是否返回成功

(1)状态断言,验证状态码是否返回200

(2)核心业务断言,返回内容比较短用key-value校验,要是比较长的话就用里面的关键信息校验

(3)如果是XML或者json格式,可以用正则表达式或者jsonpath提取一些关键的信息进行校验

10.为什么有postman,jamter等工具实行接口测试,但还要做接口自动化呢

(1)一般大型的项目,尤其那种经常更新迭代的,就会有接口,接口自动化就是更方便回归测试

(2)排错定位问题都不是特别的方便

11.接口自动化/web自动化怎么做

在回答的时候把流程细化

(1)首先是自动化测试的可行性分析,首先是周期,一般项目超过一年的比较划算使用自动化,像接口自动化,覆盖路一般可以达到95%,但是web自动化最多覆盖率可能就是30%

(2)其次考虑代码会不会变更,要是经常变更,自动化脚本维护成本就比较高

(3)调研项目组的自动化能力以及自动化框架和工具的选择,一般会有一个dome

(4)计划和框架搭建,一般是两周

(5)编写调试和维护自动化用例

(6)无人值守测试

(7)添加用例

(8)生成测试报告和通知

一般自动化要达到的效果就是,后续代码不用变化,只需要增删改用例就行

12.你在哪些项目做了自动化,自动化率是多少,有多少case,执行需要多长时间

(1)接口自动化:一般来说按照一个接口20个case来说,执行一个case大概200ms,那要是执行3000个,大概就是10min

()web自动化一般执行一个case,都是5-10s,那要是执行3000个,大概就是2h,如果用了多线程可能就是1h

13.什么是po模型(是web自动化入门的结束)

(1)po是页面对象模式,意思是把页面看成对象,页面元素就是对象的属性,页面的动作就是对象的方法,po模型一般分三层。基础层(基础代码BasePage),PO层(元素的定位和方法),测试用例层业务逻辑,并且po调用基础层,测试用例调用po层

(2)好处就是让测试逻辑更加简介和清晰,如果页面元素发生变更,只需要改po层就行

(3)了解下关键字模式,怎么实现零代码实行ui自动化

对于接口自动化要知道是要解决哪些问题,如何实现接口关联,如何处理加密等问题

14.框架如何实现数据驱动的

(1)什么是数据驱动:数据驱动就是像数据文件,像excel,yaml,读取,输入或者输出测试数据,通过数据驱动方法,把数据传入到自动化脚本里面,自动化脚本会自动读取测试数据,改变测试的状态,判断它测试的结果,从而去实现数据和代码的分离

15.自动化运用了哪些python库,处理过哪些异常

(1)web自动化相关:webdriver,webdriverwait,By,os,xlrd,wlwt,pytest,time,logging,htmltestrunner

(2)接口自动化:os,requests,re(正则提取的时候时候这个库,re.search()获取一个,re.findall(),获取多个,返回的是一个列表),jsonpath(也是提取数据的时候使用),pyyaml,allure

(3)一些异常,

nosuchelementexception(没有对应元素异常)

nosuchframeexception(没有对应框架异常)

ElementNotVisiableException(元素不可见异常)

TimeOutException(超时异常)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值