十道必问的软件测试面试题(含答案解析)

article/2025/8/25 7:08:53

前言

(第一个就刷掉一大批人)

有很多“会自动化”的同学来咨询技术问题,他总会问到我一些元素定位的问题。元素定位其实都不算自动化面试的问题。

一般我都会问:你是定位不到吗?通常结果都是说确实定位不到。

做自动化,首先你得保证一点,没有你定位不到的元素,这个你才能做UI自动化。如果有些元素都定位不到,你说你拿什么去点?就好像你的手你的鼠标点不到需要的元素,就没法去操作。

第一个,自动化分为UI自动化与接口自动化

UI自动化又包括APP自动化、H5、小程序等

接口自动化也包括很多,你用什么类型的工具做自动化?HTTP类型接口自动化DUBBO类型接口自动化等

所以这还只是自动化方面。

自动化你怎么去做的自动化运行环境、自动化如何分布式、批量运行如何持续集成这里面问题太多了,给大家简单的看几个典型面试题

在这里插入图片描述
大家看一看这十个问题能答出几个? 

1、三种等待时间的区别和场景应用?

强制等待、隐式等待、显示等待。

在这里插入图片描述
第一个强制等待:就是说,当我去点击


这是一个输入用户名字的一行代码 

当我把这两行代码

在这里插入图片描述

 放到这里

在这里插入图片描述
不管你这个元素,有没有在页面出现我都等3秒,我再去操作它。是强制,命令式的。但是这些往往一般都只用在脚本的调试,不会真正的出现在自动化测试用例中。你想一想,一个用例十行你加了十个,一个等三秒那十个等三十秒,一个用例三十秒是不可取的。

第二个

隐式等待:一般用在什么地方呢?

在这里插入图片描述 这个就是隐式等待。

比如说隐式等待它是一个什么样的区别?就是说你不管点哪里它只要写一次就可以了。像time.sleep(3)你每次都要去写,像driver .implicitly_wait( 3)#一次就好了。它每次去点都会等待三秒,那中间这个三秒它在等什么呢?

重点来了,一个页面它可能有非常多的图片,jss、css、img。就是再加载jss的图片,举个例子我想点击搜索按钮

在这里插入图片描述
隐式等待的三秒钟就是在等待这个页面的所有js和图片加载出来。就算你搜索按钮出来了,我还要去等js、img加载完成。理解了吗?软件测试全栈内容欢迎来公众号一诺教育软件测试交流学习。那么如果三秒钟之类jss、css没有加载完成我还是不会去点你,这就是一个隐式等待。它虽然很方便但是有瑕疵。

第三个:

那么什么叫显示等待呢?

字面意思就是和隐式等待相反。一个是隐藏的一个是非常明显的,我想要去做什么就做什么,不需要等待。

在这里插入图片描述
当这个搜索按钮一显示出来,我马上就去点它。 

我不管页面的其他LOGO、图片有没有加载出来,只要我的想要的比如搜索按钮出来了,我就马上去点击它。

这个题目是做自动化测试非常重要也非常基础的问题,所以我把这个问题排在了第一。

这个问题以后被问到,就难不到你了。

听懂了的朋友,点赞支持一波~

2、之前项目做过自动化测试吗?如何推进的?

工资想超过15K,这个问题是必问的!

不要看这个问题很简单?这个问题其实有点难度的。面试官问你有没有做过自动化测试,那么你肯定不能简单的说:额~我做过!

你要告诉面试官,你如何自动化开展到推进。如何推进的非常重要,你如何开始自动化入和推进,咱们不要片面的去回答,会或者不会。

比如你这样回答:我会,之前公司我们的项目接口方面,前端UI方面我是用selenium这个开源框架加上Python基础架构来实现我的自动化来实现的。

实现原理:用一些单元测试框架unittest去组织我们的测试用例,(或者用Pytest)

数据驱动:比如说我们用execl表去做一个数据驱动,然后我们用到一些关键字驱动,还有你在做自动化你遇到哪一些问题,大家一定要准备几个自动化遇到的问题!这个即使你不说,也是必问的!然后就是这些问题你是如何解决的。

给大家分享一个公式:

如何解决这些问题呢

对你公司项目产生了什么样的价值?像我去面试的时候,我就会说成为我们公司的一个固定资产。

不管是开发、产品、运营,都会用到咱们的这个自动化脚本。可以帮我们线上监控,帮我们自动化回归,帮我们造数据,帮我们跑数据,提高了迭代效率,释放了很多人力。

自动化测试有什么用,是对自动化最大的误解。

很多做软件测试的同行,他没有用过确实感受不到。我之前开始做自动化的时候,在一个人工智能的公司。产品上线之前,CTO只问我一句话,能不能上?因为我这边有很多自动化项目已经不停的在回归,然后功能测试也测了。所以功能+自动化结合就能很自信的上线。它校验出了很多隐藏的BUG,很多因为代码提交、新功能的开发产品的BUG。

3、RF框架用过吗?关键字驱动的原理?如何开发系统关键字?

4、selenium的底层核心原理是什么?有没有做过二次封装?

5、requests中的session会话管理的作用是什么?

6、unittest/pytest有什么区别?

7、谈谈你对自动化分层思想的理解?

其实这句话,经常会被写到一些大型招聘网上去。你会自动化而且还要会自动化分层思想。

做自动化和做功能测试一样,那么它分为哪些东西?

第一个:自动化用例它有一个业务层/业务逻辑

比如登录的业务逻辑是什么?

输入用户名-输入密码-点击登录按钮

分层:
业务逻辑

关键字驱动:

业务层的关键字,比如说你登录,那么你要去做其他的用例是不是会用到登录这个关键字。这个业务也封装成一个关键字,你其他的一个用例是不是可以用到它了?那接口,接口之间不是有很多的关联对吧,如果你把下单这些接口弄在一起,退货发货这些弄在一起,这就是一个业务层的关键字。

关键字驱动不仅有业务层,还有逻辑层。比如说你需要用到很多的公共方法,比如说随机数、随机号码、数据库等等。大家都能用到的,就都封装成一个关键字。

二次封装

click()

有时候我们需要根据需求去二次封装。

关键字驱动不仅仅这三层。还有很多东西要分层,很多驱动、第三方的库、日志、页面、图片、报告等等……

数据驱动

配置文件

8、自动化用例在什么环境下运行、如何批量运行?

能对公司真正的产生效益的自动化肯定是成千上万级别的用例。如果没有达到这个级别,收益一定是很小的。既然是机器在运行的,为什么不去覆盖全面呢?

在这里给大家推荐一个docker容器技术+jenkins定时构建+git

你的代码放在git上面然后用jenkins去关联定时构建,docker保证你的自动化干净的环境(虚拟机的进阶版)运行还可以分布式运行。

在这里插入图片描述

在这里插入图片描述 我们不管学什么技术,结合实战、自动化应用。很多朋友想学测试开发、测试平台,你自动化、接口、框架你都不会,你谈何去学测试开发?那是不大现实的。

经常有人问题,学习软件测试有什么捷径?

学习一步一步来,有计划性的,不走弯路!就是最大的捷径。

9、有没有独立搭建过自动化测试框架?

10、测试开发在企业中具体是做什么的?

总结

下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述 这份完整版的软件测试面试题资料已经上传CSDN,朋友们如果需要可以点击下方小卡片免费领取


http://chatgpt.dhexx.cn/article/pYnT7x6R.shtml

相关文章

软件测试最全面试题及答案整理(2022最新版)

目录 1、你的测试职业发展是什么? 2、你认为测试人员需要具备哪些素质 3、你为什么能够做测试这一行 4、测试的目的是什么? 5、测试分为哪几个阶段? 6、单元测试的测试对象、目的、测试依据、测试方法? 7、怎样看待加班问题 8、结合你以前的学习和工作经验&#xf…

软件测试面试——常见的面试问题总结(大全)

目录 1.软件测试级别? 2.软件测试类型? 3.测试方法:动态测试、静态测试;黑盒测试、白盒测试、灰盒测试。 、黑盒测试方法: 3、白盒测试方法: 4.alpha测试和beta测试的区别 5.测试设计方法&#xff1…

2021年软件测试面试题大全

目录 一、面试基础题 简述测试流程: 什么是软件测试?软件测试的目的与原则 问:软件生存周期及其模型是什么? 什么是软件质量? 自动化测试脚本开发的主要步骤: 目前主要的测试用例设计方法是什么? 常见的测试用例…

软件测试面试题(带答案)

1. 请自我介绍一下(需简单清楚的表述自已的基本情况,在这过程中要展现出自信,对工作有激情,上进,好学) 面试官您好,我叫###,今年26岁,来自江西九江,就读专业是电子商务,…

软件测试面试题(全)

1.B/S架构和C/S架构区别 B/S 只需要有操作系统和浏览器就行,可以实现跨平台,客户端零维护,维护成本低,但是个性化能力低,响应速度较慢C/S响应速度快,安全性强,一般应用于局域网中,因…

软件测试总结——常见的面试问题(一)

1.软件测试级别? 单元测试:单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。Findyou又称为模块测试,一个单元测试是用于判断某个特定条件(或者场景&…

软测基础知识以及面试理论

此文章转载 【历史上第一个软件bug】 bug:原意是”臭虫“或”虫子“。1947年9月9日,正直计算机刚刚被发明的时候,哈佛大学的某个计算机实验室正在做实验。由于当时的原始计算机由很多庞大且昂贵的真空管组成,运行时会产生光和热&…

2022年软件测试面试题大全【含答案】

一、面试基础题 简述测试流程: 1、阅读相关技术文档(如产品PRD、UI设计、产品流程图等)。 2、参加需求评审会议。 3、根据最终确定的需求文档编写测试计划。 4、编写测试用例(等价类划分法、边界值分析法等)。 5、用例评审(…

软件测试20个基础面试题及答案

什么是软件测试? 答案:软件测试是指在预定的环境中运行程序,为了发现软件存在的错误、缺陷以及其他不符合要求的行为的过程。 软件测试的目的是什么? 答案:软件测试的主要目的是保证软件的质量,并尽可能…

软件测试面试必考的SQL语句

之前找工作参加了几个面试,发现软件测试的笔试都有一道关于SQL的简答题,今天就把必考的题型及参考答案汇总一下。 基础SQL例子 1、创建表,如创建学生表Student,要求有学生姓名name,年龄age,班级class 大致写法是&…

「软件测试」最全面试问题和回答,全文背熟不拿下offer算我输

一般要应聘关于测试的工作,面试题会不会很难?下面小编整理了软件测试面试题及答案,欢迎参考! 一、引言 1.1 文档目的 本次文档是为了收集在面试中遇到的一问题与常见的一些答案并不是唯一答案 二、职业规划 2.1 简单的自我介绍下 面试宫&#xff…

软件测试常见面试题合集(内附详细答案)

最近看到网上流传着各种面试经验及面试题,往往都是一大堆技术题目贴上去,但是没有答案。 为此我业余时间整理了这份软件测试基础常见的面试题及详细答案,望各路大牛发现不对的地方不吝赐教,留言即可。 01 软件测试理论部分 1.1…

软件测试十大必问面试题(附答案和解析)

01 介绍之前负责的项目 参考答案:先大概描述一下这个项目是做什么的(主要功能),包括哪些模块,是什么架构的(B/S、C/S、移动端?),你在其中负责哪些模块的测试。期间经历了…

计算机专业在线杂志,计算机类的cscd期刊汇总

时间:2020-01-08 12:00 (12) 摘要:Cscd是中国科学引文数据库的英文简称,属于核心期刊数据库,收录的学科范围有数学、物理、天文学、地理学、计算机类等等,人们在评高级职称的时候需要在核心期刊上发表论文,…

计算机类知识期刊,计算机类期刊投稿

计算机现在已经成为信息社会中必不可少的工具。特别是在互联网、通信、多媒体等领域的应用取得了不错的成绩。关于计算机类的论文也随之出现,论文的发表选择期刊也成为了作者们关心的问题,下面小编就给大家推荐几个计算机类可投稿的期刊: 1.《…

国内计算机论文期刊,国内都有哪些计算机领域的投稿期刊

国内都有哪些计算机领域的投稿期刊 发布时间:2019-01-14 15:11浏览: 次 计算机在各行各业都得到了广泛的应用,而这一方向的从业人员也越来越多,他们也是可以评定计算机工程师职称的,但也需要发表计算机方向的论文&…

论文写作笔记1:医学跨计算机期刊介绍

计算机方面的在dblp搜: dblp: computer science bibliography https://www.sciencedirect.com/science/article https://stat.paperswithcode.com/ 然后看所发表的期刊会议直接看Ccf目录: 中国计算机学会(CCF)推荐国际学术会议和期刊目录(2019)-单页…

计算机科学是ei期刊吗,EI计算机期刊有哪些

工程索引(EI)是由美国工程师学会联合会于1884年创办的历史上最悠久的一部大型综合性检索工具。EI在全球的学术界、工程界、信息界中享有盛誉,是科技界共同认可的重要检索工具。那么EI计算机期刊有哪些呢? 下面编辑就为打击整理了一些EI计算机期刊,供大家…

计算机信息技术,有哪些SCI期刊推荐?

以下是计算机信息技术领域的SCI期刊介绍: IEEE Transactions on Computers: IEEE计算机学会的权威期刊,发表计算机领域的研究论文,包括硬件、软件、算法等方面。 ACM Transactions on Computer Systems: ACM计算机协…

工作流

导读: -- 工作流(Workflow)就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标&#…