面试题求答案,麻烦各位老铁、大佬解答下

问题

1、前置接口变动了,会影响到后置的接口用例,比如后置有20条用例,你会怎么解决?
2、ui自动化你们大多什么用什么方式去定位?
3、如果一个元素嵌套层级很深,你用xpath定位不到怎么处理?
4、做自动化时有没有遇到什么严重的bug?怎么解决的?
5、接口数据校检你们一般怎么做的?
6、比如像有的接口token这种会过期,你们接口参数中怎么处理的?
7、问测到的被测系统有哪些功能?
8、测试过程中会考虑异常场景吗?
9、昨天做的编程题,现场让讲一下有没有可以优化的。让说几个点。

1、作为一个高级自动化测试工程师,如果有一个你没接触过的系统,你会怎么开展工作?
2、自动化测试遇到的困难点?
3、自动化测试有没有开发过测试工具?
4、有没有管理经验?

报错信息

环境

这一题其实是接口测试里面的经典问题,咱正课都讲到过:

首先可以先问下面试官,是返回值变了,还是用例步骤变了。通常如果是返回值是很好处理的,只要把变量提取的地方fix一下就好。比如以前提取是。 data[“msg”][“token”] 变动成了 data[“token”],在代码结构设计合理的情况下,其实基本只要改一个地方。如果使用 jsonpath 的话,甚至大部分情况都不需要改动,提取公式一直为 $…token 就可以了。
所以这一题,面试官主要考察的是你的接口测试架构设计的能力。

这题就太灵活了,我认为面试官主要考察你对各种定位方式是否熟悉,以及在项目中是否有推动研发提升代码可测性。

  • 如果是难以推动研发做改进的情况,可以回答主要使用css、xpath的相对定位,因为可维护性更强。
  • 如果是能够推动研发做改进,最好约定一个唯一标识,这样基本元素变动的营销可以降到最低。(可以参考有赞的前端规范)

元素层级嵌套再深,xpath 也都是能定位到的。感觉原题可能不是这个。

这种是和你实际的项目经验相关的,平时自己在测试过程中,就应该多积累一些特殊bug。比如和中间件、锁、并发这些功能不好直接测出来的bug经验。在面试之前就要准备好怎么去回答。

一般接口返回值数据校验主要是有两大经典问题,第一个是返回值层级嵌套深,不好提取,可以使用jsonpath 进行提取。第二个是字段量大,且多的时候的校验,通常是通过json schema 自动生成校验模版(两个点录播课都讲过)。这两个工具可以覆盖大多数的接口测试的数据校验问题

如果请求出现因为token过期,响应值一定有对应提示。然后如果响应有问题,则重新获取token,重发请求即可。

这个问题其实就是回答的时候思路要流程,结构化。从大拆到小,讲到自己测试的业务模块讲细一点。如果了解自己业务的同学,这个回答起来肯定是没啥问题的。

这是基本功吧。。。肯定会啊

你至少题目给一下吧。。。

这也是一个经典问题,一个思路清晰,经验丰富的测试工程师,工作一定是有一个好的规划的。

  1. 了解整体业务架构,有哪些业务模块,业务和业务之间的交互关系。最好是能画出来一个业务模型图
  2. 了解整体技术架构,有哪些微服务,微服务和微服务的交互关系,最好是有一个技术架构图
  3. 掌握自己的被测模块,先把相关的测试用例梳理一遍。等功能测试熟悉,了解业务和架构之后,就开始着手挑选稳定的用例,写回归的自动化测试脚本,挑选重要的用例,写冒烟的自动化测试脚本。同时把持续集成和持续交付的一整套流水线搞定。以及监控、精准化测试。根据团队的情况来一个个落地。(这块一定要注意,会什么说什么。比如你如果不会测试左移、右移这些高阶知识,就不要说,一定会被问倒的)

这三个问题,实事求是,根据自己的项目经验回答。

总结

其实我想说,如果你去面试,面试之前,自己一定要总结,整理上家公司所完成内容,其中有什么亮点,以及相关的数据指标。这个如果都不总结,直接去面试,肯定会吃亏的

还有吗?老师

如果token获取不麻烦,并且没有获取的频次设置的话,每次请求的时候都可以类级别实现token的获取和使用,如果有频次设置的话,可以在先设定一个时间戳再获取token的时候同时把超时时间也获取下来,使用的时候做一次超时时间判断,如果超时了再去获取一次,如果还没超时就直接使用该token

这个得靠工作中的总结,你在做测试的时候先要进行对应的分析的,面试官考察你对工作的把控

稍等,要上课了,等下课后我给你补充完