9.有没有独立搭建过自动化测试框架?(更多面试题的分析详解,欢迎关注公众号:程序员一凡,回复关键字面试有我往期讲解的互联网一线大厂面试题讲解)
这个问题我觉得可能是大家最怕面试官问到的问题,自动化测试框架,对吧。比如说你像问一下三种等待时间的区别和场景应用这一类问题,你去百度一下,问一下身边做软件测试的朋友也能知道,其实有些问题其实是比较抽象模糊的概念。就好像我之前说的你如果问到这个问题:9.有没有独立搭建过自动化测试框架?有没有标准答案?我们该怎么去说服面试官。这个问题,今天我来和大家总结一下!
这个问题有遇到过的朋友欢迎在评论区留言,说一说你当时是怎么回答的。
我相信这个问题肯定是有同学遇到过的。
一些对自动化测试框架不是很了解的同学,在面试的时候可能会吞吞吐吐的说,呃~我有搭建过。用过Selenium然后去做了一些简单的自动化测试。然后没有然后了,像这一类回答,给面试官的感觉不仅枯燥无味,千遍一律,回答起来很没有营养。根本就没有说服力!这都是软件测试面试官不想听到的回答。
到底我们应该怎么来回答才能让面试官对你刮目相看呢?
(如果没有搭建过,我们直接回答:我没有搭建过。会怎样?细细品一下)
我们在大型招聘网站上搜索自动化测试工程师面试要求,很多都要求会自动化测试框架,平台搭建。
这个问题,我们可以从这些方面去回答:
一、目的
就是说我在一家公司,我为什么要去搭建一个自动化测试框架,随着用例越来越多,规模越来越大,我们团队有更多的人参与进来写自动化了。种种原因,已经不能满足需求了,所以我们要搭建一个自动化测试框架。
让不懂代码的人,也能编写自动化用例。
二、框架介绍
我所用的技术架构,用的什么技术、语言去做的自动化测试框架搭建。比如说我用的
1.Python语言(Python语言灵活性、效率高、学习开发成本低)+Request+Websocket+Selenium+Pytest/Unittest 会用到这些技术去做自动化测试
2.PO+关键字驱动+数据驱动+Selenium的二次封装
3.git+Jenkins+docker分布式
这是我们可能会用到的一个框架技术结构,都可以和软件测试工程师面试官说一说,框架代码写好之后,我们会用到git关联Jenkins关联docker。实战演示效果视频教程可以私信我发给你。
大家可以看到它关联的地址项目进行一些构建。
然后我们运行一下这个项目,它就会去执行我们的自动化。构建之后它就在运行我们框架上的代码,打开我们的自动化项目。
这个就是一整套的技术方案。
然后大家可以看一下这个测试报告
在Jenkins上我们直接关联这个测试报告详情
大家仔细来看这个测试报告
我每一次元素输入了什么,点击了什么,都呈现得很清楚。
三、实现的功能
就是说我们用这个技术做到了那些内容,我们实现了哪些功能。
1.封装了Http接口自动化的类
2.封装了Dubbo接口的类
3.封装了Selenium的常用方法
4.实现了数据驱动,Excel/Mind/Yaml
5.实现了Docker分布式执行Web自动化
6.实现了安卓集群分布式自动化测试
等等。
当然还实现了非常多的功能,比如支持接口的数据库校验
实现了哪些功能你要和软件测试工程师面试官说,你这个框架做了那些内容。
四、项目的结构
比如说我们这个框架搭建好之后,这个config到底是干嘛的,你当初为什么要新建一个config这样的目录,然后这些公共方法Util里面又放的是什么,Lib里面放的是什么内容,Page里面放的是什么内容,每一个文件里面放的什么内容。要把项目的结构和面试官说一说。
五、框架使用规范
我们搭建自动化测试框架的目的是让不懂代码的人也能编写自动化测试用例,所以我们要有一份使用规范。就好像你用Postman一样,Postman是一个开源工具,你使用开源工具你就必须遵循我的规则。
比如这里必须要填URL地址,参数该填写在哪里?所以我们必须有一个使用规范。
框架使用规范有给大家录制了一个视频教程,可以公众号免费领取资料获取最新的软件测试教学资料。
如果软件测试工程师面试官问有没有独立搭建过自动化测试框架?你可以参考我上面讲的五个点去回答。这样会凸显出你的专业,思路非常清晰。
一、目的
二、框架介绍
三、实现的功能
四、项目的结构
五、框架使用规范
文章首发于微信公众号:程序员一凡
原创不易,转载请注明出处!
最后: 欢迎关注公众号:程序员一凡,领取一份300页pdf文档的Python自动化测试工程师核心知识点总结!软件测试技术交流群:(1079636098) 这些资料的内容都是面试时面试官必问的知识点,篇章包括了很多知识点,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。