接口自动化测试面试题+答案汇总,一篇概全...


前言

1、接口自动化流程怎么做的,框架怎么搭建的?

流程:
1)分析需求,确定测试范围
2)搭建自动化测试环境、准备相关测试数据
3)工具选型,搭建测试框架
4)编写用例
5)执行用例,生成测试报告
6)持续集成

框架怎么搭建:如果是选择用现有框架的话,可以选择postman、jmeter、Robotframework等框架,也可以基于一些开源的框架平台上再去进行二次开发,比如httprunner等。

觉得都用不习惯的话,可以考虑自己写代码封装新的框架。看这套面试题,求职者应该回答的是自己写代码的方式。

自己框架搭建要考虑的问题:
1)用例怎么存储,编写是否方便,易用性怎么样,学习成本高不高
2)用例执行执行,日志,报告等如何查看
3)断言如何设计,用例执行失败怎么处理等
4)多人协作怎么管理代码等

2、你们公司没有通用的接口自动化框架吗?为什么还需要你们部门来搭建这套。

开源框架有开源框架的好处,但是也存在一些问题,有些数据处理起来没这么方便,易用性方面使用起来也不一定很方便,需要一定的学习成本。

每个部门的业务场景不一样,开发平台/工具主要还是从成本以及解决某个实际问题的方便去考虑。

3、接口自动化回归过程中有没有发现什么问题?取得了怎么样的效果和收益?

比如有时候,开发改某个需求,改动了一些公共的代码之类的,就有可能影响到其他的接口,如果之前稳定的接口已经写好用例的话,这种情况下就能快速的验证出来改动是否有问题。

效果和收益的话,可以说一下接口自动化做起来之后,之前手动回归的功能现在变成自动回归了,节省了多少人力/时间。

4、接口自动化搭建和落地过程中遇到什么问题?

用例怎么存储更方便,怎么样设计才能使得编写用例的时候方便,有没有什么办法自动生成用例,用例之间的依赖和数据传递怎么做,用例是否要区分环境,有些用例如果只能在测试环境执行,线上不能执行的,如何区分。

怎么样设计能够支持快速切换到其他不同的平台上面去。

5、最难的技术难点是什么?

动态变量参数化、接口依赖及中间变量问题、异步接口结果验证问题、相应参数化及嵌套很多的验证问题、接口测试框架的稳定性问题、多接口场景问题、多线程并发、多项目以及不同人员并发操作的情况。

6、你们持续集成是怎么做的?

持续集成的话,一般都是跟部署结合一起一起使用,比如测试环境更新后,自动触发用例执行。另外,可以设置每晚定时自动构建。

7、有了jmeter等开源的接口自动化平台,为什么还要代码来做自动化?

哈哈,这个也是我想问那些自己写代码做自动化的,以及现在的一些培训机构教的java或者python自动化的模式,为什么不选用开源的框架或平台。

其实,大家都心知肚明,自己写脚本写框架,更能体现你的水平,能够拿到的薪资更高。

自己写代码,在一定程度上,可以省去对工具的学习成本,虽然说工具的使用不难,但是要把工具用好也不容易,并不是只有写代码才能体现出你的能力。

而且,写代码之前,要先了解一下现有工具的一些功能,看下有没有必要自己写代码封装框架。

8、你主要负责参与哪部分框架搭建,你们怎么合作共享代码的?

代码传递的话,一般都是通过git仓库去管理,然后再通过分支去管控,这个可以参考开发的代码分支管理。

9、数据驱动,关键字驱动怎么做的?

数据驱动的话,有相应的包直接可以支持。关键字驱动的话,可以参考Robotframework框架,我所理解的关键字驱动,其实就是一种代码约定。

10、这套框架覆盖了开发多少代码量,怎么统计的?

如果是统计代码覆盖率的话 ,一般都会用到相关的插件去进行统计,比如jacoco

11、总共多少测试用例,执行一次要多久,覆盖多少接口?

这个属于用例设计方面,主要考察你对项目的理解 ,对用例设计的把握,用例设计的覆盖度。

12、接口关联怎么处理的?

可以将依赖接口返回的数据存到一个项目级别的全局变量里面,然后在用例里面去识别某种特定格式的写法,按照变量去进行处理。

13、接口鉴权怎么做的?

鉴权的话一般接口需要传token或者签名之类的,发送接口请求的时候才会校验通过。前几天看一位大佬分享的测开平台的设计,鉴权的话可以考虑绑定在接口域名级别,不用每个case都去单独处理一遍。

14、数据参数化,数据驱动,excel读取数据怎么做的?

参数化的设计可以参考postman、jmeter的方式去进行处理。excel读取数据也有专门的库去进行操作,之前在网上看到别人写的一个读取excel的代码,不是一次性将数据都读取出来,而是使用yield关键字去进行处理。

还有就是用例设计的时候,是考虑将数据放在一个页签,还是分不同的页签去处理,这个涉及到框架层面以后每加一个页签是否都需要改动代码。

15、数据库什么时候去校验的,哪些场景使用到了?

进行接口断言或者是做一些初始化数据准备或者数据清理的时候,就有可能需要去操作数据库。

接口测试项目实战

下面是我整理的2025年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

人生最珍贵的不是最终抵达的终点,而是沿途突破自我的每个瞬间。当你觉得撑不住时,请记住:蝴蝶破茧时的挣扎,正是它获得飞翔力量的关键。你的坚持,正在为生命谱写最动人的乐章!

别被暂时的风雨模糊了视线!那些看似坎坷的路途,都在引领你走向更美的风景。当别人选择放弃时,你的坚持就是最有力的宣言。向前奔跑吧,整个世界都在期待你的光芒绽放!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值