面试过程中,也问了该问题,以下是自己的回答:
接口自动化测试,之前做过,第一个版本是用jmeter 做的,1 主要是将P0级别的功能接口梳理出来,根据业务流抓包获取相关接口,并在jmeter中跑通,2 是整理了项目上的所有接口,先将单个接口跑通,然后再编写不同的接口用例,如入参、必填项、状态值不同,考虑异常情况、接口安全等,整理的一套接口脚本。随着项目不断的迭代,基本功能稳定,每次新加功能或者是修改已有功能,只需要将已有的接口跑一遍,速度很快。但是呢,也不应该止步不前,第二阶段接着用Python 代码去实践一波,当时使用的是unittest 框架,做了一些基础的 封装工作,如维护全局的token、封装http的get 和post 请求、使用了assert断言,添加了日志和报告,完成了1.0版本的代码,代码能跑起来,但是还有值得改进的地方。(向pytest 过度,如参数化、标记冒烟测试的用例、测试用例分类执行、顺序执行、失败重跑、跳过、丰富的第三方插件等)目前对pytest学习中。
回答完看了面试官的反应,感觉还行,面试官就追着问了几个问题:
- python 常用的库有哪些?
os、request、pymyql、time、xlrd、xlwt、math、random、logging等等
- jmeter做接口自动化 与Python 做 接口自动化有什么区别? 是什么原因让你想去拿代码实现的呢?
jmeter 偏向于代码弱的同学或者 是无代码基础的同学,上手快,适合迭代频率高、时间少的项目
如果有充足的测试时间 和写代码的时间,那就可以试试拿python,主要还是看团队成员的水平及项目情况。
选择适合自己项目的才是最重要的。
3.是否能落地(问了好几次)
能落地,但是还有改进空间,离那种大型项目框架的代码还是有些许的距离的,我会继续实践并向其靠拢。
面试结束后,我去bili上搜索了一下该问题,以下是别人的答案,积累经验吧。
接口自动化测试怎么做?
1.项目组做自动化的可行性分析,自动化率能够实施什么样的程度
2.调研测试团队对于自动化技术的程度,一般会伴随着demo演示
3.计划指定,自动化测试框架搭建,逐步实施。发现框架的问题进行改善
指定计划,提取或编写自动化测试用例,由leader 编写自动化测试框架,组员编写和调试自动化测试脚本,无人值守的jenkins,脚本的维护
4.把自动化流程化,框架出使用文档和规范文档
5.持续不断的完善框架
- 把自动化测试标准推广到其他的项目。
面试过程中,还是需要随机应变,仔细听面试官问问题的重点,TA想知道流程还是细节,具体场景具体分析。