接口自动化面试题攻略:流程与框架搭建全解析
发表时间:2024-07-11 10:02:01
文章来源:炫佑科技
浏览次数:151
菏泽炫佑科技
接口自动化面试题攻略:流程与框架搭建全解析
接口自动化面试问题
1、接口自动化流程如何实现,框架如何搭建?
过程:
1.分析需求,确定测试范围
2.搭建自动化测试环境并准备相关测试数据
3. 工具选择与测试框架构建
4. 编写用例
5.执行测试用例并生成测试报告
6.持续集成
如何构建框架:
如果选择使用现有的框架,可以选择诸如、、等框架,也可以基于一些开源框架平台进行二次开发,例如、等。如果觉得用起来不顺手,可以考虑自己写代码封装一个新的框架。看这组面试题,求职者应该回答自己是如何写代码的。
构建自己的框架时需要考虑的问题:
1、用例如何存储,写起来方便吗,使用起来方便吗,学习成本高吗?
2.如何查看用例执行情况、日志、报告等。
3.如何设计断言以及如何处理用例执行失败等。
4. 多人协作时如何管理代码
2. 你们公司没有通用的接口自动化框架吗?为什么你们部门需要构建这个框架?
开源框架有自己的优势,但也存在一些问题。有些数据处理不是那么方便,易用性也不一定很方便使用,需要一定的学习成本。各个部门的业务场景不一样,在解决某个实际问题时主要从成本、便捷性的角度来考虑开发平台/工具。
3. 接口自动化回归过程中,有没有发现什么问题?取得了哪些效果和效益?
比如有时候开发人员对某个需求做了变更,或者修改了一些公用的代码,可能会影响到其他接口,如果之前稳定的接口已经写过用例,那么就能很快验证这次变更是否有问题。
从效果和效益上来说,可以讲一下接口自动化之后,原来需要手动回归的功能,现在变成了自动回归,节省了大量的人力/时间。
4、接口自动化构建和实现过程中遇到了哪些问题?
如何更方便的存储用例?如何设计一个用例以方便使用?有没有办法自动生成用例?如何设置用例之间的依赖关系和数据传递?用例是否需要区分不同的环境?如果有些用例只能在测试环境执行,无法在线执行,如何区分?如何设计一个支持快速切换不同平台的系统?
5. *大的技术难点是什么?
动态变量参数化、接口依赖及中间变量问题、异步接口结果验证问题、对应参数化及嵌套验证问题、接口测试框架稳定性问题、多接口场景问题、多线程并发、多项目、不同人员并发操作。
6. 如何进行持续集成?
持续集成通常与部署一起使用,例如在测试环境更新后,自动触发测试用例执行。另外,还可以设置每晚的定时自动构建。
7.还有哪些点可以优化?
8. 代码结构分层是怎样的?
9、有了开源界面自动化平台,为什么还需要自动化代码?
哈哈,这也是我想问那些自己写代码做自动化的人,以及现在一些教Java或者自动化模型的培训机构,为什么不选择开源的框架或者平台呢。其实大家都知道,自己写脚本、框架更能体现你的水平,能拿到更高的工资。
自己写代码在一定程度上可以省去学习工具的成本。工具虽然不难用,但用好却不是一件容易的事情。写代码并不是证明自己能力的唯一途径。而且在写代码之前,应该先了解一些已有工具的功能,看看是否有必要自己写一个代码封装框架。
10. 您主要负责框架的哪一部分的构建?你们如何协作和共享代码?
代码转移一般通过git仓库进行管理,然后通过分支进行控制,可以参考代码分支管理进行开发。
11.如何做数据驱动和关键词驱动?
如果是数据驱动的话有相应的包可以直接支持自动化软件开发,如果是关键字驱动的话可以参考框架,我理解的关键字驱动其实就是一种代码约定。
12.这个框架覆盖了多少代码开发,怎么计算的?
如果要统计代码覆盖率,一般会用相关插件来统计,比如
13. 总共有多少个测试用例?每个测试用例执行需要多长时间?覆盖了多少个接口?
这个属于用例设计方面,主要考察你对项目的了解程度,对用例设计的掌握程度,以及用例设计的覆盖程度。
14. 如何处理接口关联?
依赖接口返回的数据可以存放在项目级的全局变量中,然后在用例中识别特定的格式,并根据该变量进行处理。
15.如何做接口认证?
对于鉴权,接口一般需要传递token或者签名,在接口请求的时候会进行校验。前几天看到一个大佬分享的一个测试平台的设计。对于鉴权,可以考虑在接口领域层面进行绑定,这样就不用每个case都单独处理了。
16.数据参数化,数据驱动,如何读取Excel中的数据?
参数化设计可以通过引用和方法来处理。还有专门读取Excel数据的库,在网上看到别人写的一个读取Excel的代码,并不是一次性把数据全部读出来,而是用yield关键字来处理。还有一点就是在设计用例的时候,要考虑把数据放在一个tab里还是放在不同的tab里处理?这涉及到在框架层面,每增加一个tab,是否需要改一次代码。
17.数据库什么时候验证,在什么场景使用?
在做接口断言或者做一些初始的数据准备或者数据清理的时候,可能需要操作数据库。
18、接口自动化数据传输方法及区别有哪些?
这里我理解的是在审查请求时将数据放在数据和json参数中的区别。
看完这套面试题接口自动化面试题攻略:流程与框架搭建全解析,不知道大家有什么感受?你觉得接口自动化简单还是复杂?我的感受是:做过的就做过,没做过的就没那么容易被有经验的面试官蒙混过关。你会发现这些面试题都是环环相扣的,不是背几道面试题就能应聘到全职自动化岗位的。以上仅供参考,如果大家还有其他文章或者面试题,也可以发给小编,可以加我微信,一起学习交流!