自动化测试工程师面试题
- 格式:docx
- 大小:32.34 KB
- 文档页数:5
测试工程师面试题在软件行业中,测试工程师起着至关重要的作用,他们负责确保软件产品的质量和稳定性。
因此,在招聘测试工程师时,面试环节的设计尤为关键。
以下是一些常见的测试工程师面试题:一、基础知识类1、请简要介绍一下软件测试的生命周期。
软件测试的生命周期通常包括测试计划、测试用例设计、测试执行、测试结果评估和测试报告。
测试计划阶段明确测试的目标、范围、资源和时间安排;测试用例设计阶段根据需求文档和设计文档编写详细的测试用例;测试执行阶段按照测试用例对软件进行实际测试;测试结果评估阶段对测试过程中发现的问题进行分析和评估;最后,在测试报告阶段总结测试的情况和结果。
2、什么是黑盒测试和白盒测试?它们的区别是什么?黑盒测试是把软件系统当作一个“黑盒子”,不考虑内部的逻辑结构和代码实现,只关注输入和输出之间的关系。
测试人员根据软件的功能规格说明来设计测试用例,以检查软件是否满足规定的功能要求。
白盒测试则是基于软件的内部结构和代码实现进行测试。
测试人员需要了解程序的逻辑结构、控制流程和代码细节,通过对代码的检查和分析来设计测试用例,以确保程序的内部逻辑和结构的正确性。
两者的主要区别在于测试的视角和重点不同。
黑盒测试侧重于功能,而白盒测试侧重于内部结构和逻辑。
3、请列举至少三种常见的测试类型,并简要说明其特点。
常见的测试类型包括:功能测试:主要验证软件的各项功能是否满足需求规格说明书的要求。
性能测试:评估软件在不同负载条件下的响应时间、吞吐量、资源利用率等性能指标。
兼容性测试:检查软件在不同操作系统、浏览器、硬件平台等环境下的兼容性。
安全测试:检测软件是否存在安全漏洞,如SQL 注入、跨站脚本攻击等。
用户界面(UI)测试:验证软件的界面布局、颜色、字体、按钮等是否符合用户的使用习惯和审美要求。
二、测试用例设计类1、请根据以下需求,设计一个测试用例:用户登录功能,要求输入用户名和密码,用户名长度为 6-12 个字符,密码长度为 8-16 个字符,包含至少一个大写字母、一个小写字母、一个数字和一个特殊字符。
⾃动化⾃试常问问题1.怎么判断元素是否存在?判断元素是否存在和是否浮现不同,判断是否存在乎味着如果这个元素压根就不存在,就会抛出NoSuchElementException这样就可以使⾃try catch,如果catch到NoSuchElementException 就返回false。
通常在项⾃中会把这个功能封装在isElementPresent⾃法中。
2.如何判断元素是否浮现?判断元素是否浮现,存在两种情况,⾃种是该元素压根就没有,⾃然不会浮现;此外⾃种是有这样的元素,但是是hidden状态可以通过先判断是否存在,如果不存在返回false;如果存在再去判断是否displayed。
5. 如何去定位页⾃上动态加载的元素?触发动态事件,然后findElemnt如果是动态菜单,需要⾃级⾃级find (JS实现)6.如何去定位属性动态变化的元素?属性动态变化是指该element没有固定的属性值,所以只能通过相对位置定位⾃如通过xpath的轴, parent/following-sibling /precent-sibling 等此外也可以尝试findbyelements遍历8.⾃动化测试的时候是否需要连接数据库做数据校验?⾃般来说1、 UI⾃动化不需要(很少需要); 2、接⾃测试会需要:从数据库层⾃来进⾃数据校验可以更⾃便验证系统的数据处理⾃⾃是否正确;9.有⾃种元素常⾃定位⾃式,分别是?你最偏爱哪⾃种,为什么?8种: id、name、class name、tag name、link text、partial link text、xpath、css selector 偏爱哪⾃种?答:我最常⾃的是xpath (或者CssSelector)因为不少情况下, html标签的属性不够规范,⾃法通过单⾃的属性定位,这个时候就只能使⾃xpath可以去重实现定位唯⾃element事实上定位最快的是Id,因为id是唯⾃的,然⾃⾃多数开辟并没有设置id。
测试⼯程师⾯试题-⾯试题附答案(2)测试⼯程师--常见的⾯试题及答案(2)20、什么是软件测试?⽬的和原则?在规定的条件下对程序进⾏操作,以发现程序错误,衡量软件质量,并对其是否能满⾜设计要求进⾏评估的过程软件测试的⽬的:测试是程序的执⾏过程,⽬的在于发现错误⼀个成功的测试⽤例在于发现⾄今未发现的错误⼀个成功测试是发现了⾄今未发现的错误的测试确保产品完成了她所承受或公布的功能,并且⽤户可以访问到的功能都有明确的书⾯说明确保产品满⾜性能和效率的要求确保产品是健壮的和适应⽤户环境的软件测试的原则:测试⽤例中⼀个必须部分是对预期输出或接过进⾏定义程序员应避免测试⾃⼰编写的程序编写软件的组织不应当测试⾃⼰编写的软件应当彻底检查每个测试的执⾏结果测试⽤例的编写不仅应当根据有效和预料到的输⼊情况,⽽且也应当根据⽆效和未预料到的输⼊情况检擦程序是否“未做其应该做的”仅是测试的⼀半,测试的另⼀半是检查程序是否“做了其不应该做的”应避免测试⽤例⽤后即弃,除⾮软件本⾝就是个⼀次性的软件计划测试⼯作时不应默许假定不会发现错误程序某部分存在更多错误的可能性,与该部分已经发现错误的数量成正⽐软件测试是⼀项极富创造性,极具智⼒的挑战性的⼯作21、软件质量保证体系是什么国家标准中与质量保证管理相关的⼏个标准是什么?他们的编号和全称是什么?SQA由⼀套软件⼯程过程和⽅法组成,以保证(软件的)质量。
SQA贯穿整个软件开发过程,(它)应包括需求⽂档评审、代码控制、代码评审、变更管理、配置管理、版本管理和软件测试。
软件质量保证(SQA-Software Quality Assurance)是建⽴⼀套有计划,有系统的⽅法,来向管理层保证拟定出的标准、步骤、实践和⽅法能够正确地被所有项⽬所采⽤。
软件质量保证的⽬的是使软件过程对于管理⼈员来说是可见的。
它通过对软件产品和活动进⾏评审和审计来验证软件是合乎标准的。
软件质量保证组在项⽬开始时就⼀起参与建⽴计划、标准和过程。
电气自动化工程师面试题及答案1.请介绍一下你的电气自动化工程师背景和相关经验。
答:我拥有电气工程学位,并在过去五年内专注于电气自动化领域。
在上一份工作中,我领导了一个团队成功完成了一项工厂自动化项目,提高了生产效率并减少了故障率。
2.在电气控制系统设计中,你如何选择合适的传感器和执行器?请提供一些例子。
答:在传感器选择方面,我会考虑工作环境、精度要求和成本。
例如,在一个高温环境中,我会选择耐高温的温度传感器,确保系统稳定运行。
对于执行器,我会根据控制要求和工作负载选择合适的电机或阀门。
3.请描述一次你成功解决复杂电气故障的经验。
答:我曾经遇到一次生产线频繁停机的问题,通过仔细的电气分析,最终确定是一个传感器故障导致的。
通过更换传感器并优化控制逻辑,成功解决了停机问题,提高了生产线的稳定性。
4.如何确保一个电气自动化项目在预定的时间和预算内完成?答:我会首先进行详细的项目计划,并设定合理的里程碑。
同时,我会密切监控项目进展,及时发现并解决可能的问题。
在项目执行过程中,我还会与团队保持有效沟通,确保每个成员都清楚任务目标。
5.你对PLC(可编程逻辑控制器)有哪些熟悉的品牌和经验?答:我熟悉多种PLC品牌,包括Siemens、、和Schneider等。
在之前的项目中,我使用SiemensPLC成功实施了一个复杂的生产线控制系统,提高了生产效率。
6.请详细说明PID控制在电气自动化中的应用,并提供一个具体案例。
答:PID控制在电气自动化中常用于调节系统的稳定性。
举例来说,我曾经应用PID控制调整了一个温度控制系统,确保在设定温度下保持精确稳定。
通过调整PID参数,我们成功实现了温度的快速响应和准确控制。
7.请解释PLC和DCS之间的区别,并举例说明在工程中如何选择使用。
答:PLC主要用于离散控制,而DCS更适用于连续过程控制。
在某些项目中,我选择使用PLC,例如在制造业中控制机械手臂。
而在化工厂的生产过程中,我会倾向于使用DCS,以确保更细致和复杂的控制。
自动化专业面试最常见的16个问题1. 硅材料与锗材料的二极管导通后的压降各为多少?在温度升高后,二极管的正向压降,反向电流各会起什么变化?试说出二极管用途(举3个例子即可)2. 如何用万用表测试二极管的好坏?在选用整流二极管型号时,应满足主要参数有哪些?如何确定?3. 在发光二极管LED电路中,已知LED正向压降UF=1.4V,正向电流IF=10mA,电源电压5V,试问如何确定限流电阻。
4. 三极管运用于放大工作状态时,对NPN管型的,各极电位要求是:c极b极,b极e极,而对PNP管型,是c极b极,b极e 极。
5. 场效应管是型控制器件,是由极电压,控制极电流,对P 沟道及N沟道场效应管,漏极电压的极性如何?6. 集成运算放大器作为线性放大时,信号从同相端输入,试画出其电路图,并说明相应电阻如何取?7. 说出一个你熟悉的运算放大器的型号,指出输入失调电压的意义。
8. 试画出用运算放大器组成比例积分电路的电路图,说明各元件参数的选择。
9. 某电子线路需要一组5V,1A的直流稳压电源,请设计一个电源线路,并说明所需元件的大致选择。
10. 在一台电子设备中需要±15V两组电源,负载电流200mA,主用三端集成稳压器,1、画出电路图,2、试确定变压器二次侧电压有效值及容量。
11. TTL电路和CMOS电路是数字电子电路中最常用的,试说出TTL电路和CMOS电路主要特点及常用系列型号。
12. 什么是拉电流?什么是灌电流?TTL带动负载的能力约为多少?是拉电流还是灌电流?13. 在51系列单片机中,PO□,P1□、P2□、P3□引脚功能各是什么?14. 单片机有哪些中断源?中断处理的过程有哪些?中断服务程序的入口地址是由用户决定,对吗?15. 计算机与外设交换信息的主要方法有并行通信及串行通信两种,试说出两者的主要的优缺点。
16. 为什么采用I调节器及PI调节器能实现无静差?。
Python⾃动化测试⾯试题1、⾃动化代码中,⽤到了哪些设计模式?单例设计模式⼯⼚模式PO设计模式数据驱动模式⾯向接⼝编程设计模式2、什么是断⾔( Assert) ?断⾔Assert⽤于在代码中验证实际结果是不是符合预期结果,如果测试⽤例执⾏失败会抛出异常并提供断⾔⽇志3、什么是web⾃动化测试Web⾃动化测试是从UI (⽤户界⾯)层⾯进⾏的⾃动化测试,测试⼈员通过编程⾃动化程序(测试⽤例脚本)来打开浏览器测试⽹站的业务逻辑。
4、什么是Selenium?Selenium是⼀个开源的web⾃动化测试框架,⽀持多种编程语⾔开发⾃动化测试脚本,⽀持跨浏览器平台进⾏测试5、写出Selenium中你最熟悉的接⼝或类WebDriver、InternetExplorerDriver、 FirefoxDriver、 ChromeDriver、 WebElement、WebDriverWait、 By6、元素定位类型有哪些? By类⼀共有8种元素定位⽅式,它们都是静态⽅法:By.id():():By.tagName():By.className():By.cssSelector():By linkText():By partialLinkText():By.xpath():7、Xpath是什么?它是查找web页⾯元素的⼀种⽅式,相当于元素在dom中间的⼀个路径,可以采⽤绝对路径和相对路径的⽅式进⾏定位它对于定义动态的页⾯元素有很⼤的帮助,同时也需要谨慎使⽤,因为如果页⾯结构发⽣变化,那么定位信息也可能需要变化。
8、findElement()和findElements(⽅法有什么区别两个都是查找页⾯元素的⽅法findElement():查找⼀个页⾯元素,只会返回⼀个WebElement对象findElements() :查找页⾯上所有符合匹配的元素,返回元素集合9、登录按钮除了⽤click⽅法进⾏点击以外还有其他⽅式吗?还可以使⽤submit()⽅法,前提是input元素的type为submit10、怎么提⾼Selenium脚本的执⾏速度优化等待时间:使⽤ WebDriverWait 智能等待来代替线程等待 sleep 和隐式等待 implicityWait减少不必要的操作:如直接进⼊某页⾯代替经过⼀系列⾃动化操作进⼊某页⾯在服务器允许的情况下,使⽤多线程实现并发执⾏测试⽤例.11、怎么对含有验证码的功能进⾏⾃动化测试的1) :图像识别,技术难度⼤,效果不佳,不推荐2) :屏蔽验证码,邀请开发处理,但在预⽣产环境或者⽣产环境不推荐3) :万能验证码,使⽤⼀个复杂的其他⼈⽆法猜到的验证码12、怎么验证复选按钮是不是被选中可以使⽤元素的 isSelected() ⽅法,如果返回的是 true 则说明被选中,否则表明未被选中13、如何处理alert弹窗?处理 alert 弹窗⾸先需要先跳转到 alert 上,然后在点击确定或者取消按钮,Alert alert = driver.switchTo().alert(); //切换到alertalert.accept0; //确定alert.dismiss0; //取消14、下拉菜单中如何去选择⼀个菜单项?如果下拉菜单是select标签,使⽤⽅法: selectByValue() 或者 selectByIndex() 或者 selectByVisibleText() 即可如果这个下拉菜单不是通过 select 标签创建,则直接通过 xpath 定位元素然后去点击选择15、如何模拟浏览器的前进和后退、刷新操作driver.navigate().back()://后退driver. navigate().forward()://前进driver.navigate0.efresh()://刷新16、怎么获得当前页⾯的URL?String url = driver.getCurrentUrl();17、WebDriver的close()和quit(⽅法的区别是什么?close()⽅法只是关闭当前正在操作的窗⼝quit()是关闭了所有已经打开的窗⼝18、你觉得⾃动化测试⽤哪些缺陷成本⽐较⼤,⽽成效可能并不⾼适合⾃动化测试的功能有限某些功能操作相对复杂,⽐如验证码维护成本⾼,⼀旦项⽬需求变更,⾃动化测试脚本和⽤例就需要改进19、Web端功能⾃动化,如何实现(⾮input型上传)上传⽂件与windows窗⼝进⾏交互,可以使⽤ pywin32库实现。
测试工程师面试题(答题时间100分钟)A.测试基础1、白盒测试与黑盒测试的区别是什么?白盒测试:测试程序内部结构,内部特征黑盒测试:通过界面测试程序功能,查看输入输出结果2、什么是正交试验法,使用场景是什么?研究多因素多水平的一种设计方法场景:多因素多条件的情况下3、数据库中,游标是什么?其作用是什么?。
游标:从多条数据中检索集中提取一条数据作用:当做指针,保存查询结果,方便后续使用4、简述常用的Bug管理或者用例管理工具,并且描述其中一个工作流程。
常用:testlink,QC,mantis,禅道,TAPD,JIRATAPD:产品创建(需求,计划,模块)-->项目创建(PM排期、任务分解)-->研发(编码、单元测试等)-->测试(测试计划,用例,执行,bug,报告等)基于敏捷开发5、智力题6、一个屋子有一个门(门是关闭的)和3盏电灯。
屋外有3个开关,分别与这3盏灯相连。
你可以随意操纵这些开关,可一旦你将门打开,就不能变换开关了。
请确定每个开关具体管哪盏灯。
一个开关关掉,一个打开,一个打开几分钟、然后关掉进屋后,亮这的是第二个开关,关闭的两灯中,有热量的为第三个开关,剩下的为第一个开关B.自动化测试1、自动化测试与测试自动化的区别。
自动化测试:利用工具录制或编写脚本进行功能以及性能测试测试自动化:让测试过程脱离人工。
对于控制成本,控制质量,回溯质量和减少测试周期都有积极影响的一种研发过程2、列举出你熟悉的自动化工具,并说明其实现原理。
Web应用类工具:selenium客户端建立与selenium-RC server 的连接。
Selenium RC Server 启动一个浏览器,并注入JS 代码将Selenese 代码传到客户端的Selenium-Core 中。
Selenium-Core 翻译并解析执行用户录制的操作。
让代理Server 进行通讯Remote Control Server 负责跟远程Web 应用服务器进行通讯。
20道经典自动化测试面试题概述觉得自动化测试很难?是的,它确实不简单。
但是学会它,工资高啊!担心面试的时候被问到自动化测试?嗯,你担心的没错!确实会被经常问到!现在应聘软件测试工程师的岗位,几乎所有的公司都要求会自动化测试!那么,在面试的时候哪些问题会被面试官经常问到?哪些问题是面试官真正关心的?下面通过20道经典自动化测试面试题。
让你能够在面试的时候轻松应对,也让你在学习自动化测试的时候明白应该关注哪些内容,而不仅仅只是会调用接口模拟输入和点击操作!基础题1、web自动化时,定位元素的方式有哪些?答:web自动化有8种元素定位方式。
与name有关的有3种:name、class_name、tag_name与link相关的有两种:link_text、partitial_link_text。
还有一种是用id来定位。
剩下两种是xpath和css定位,它们用元素路径来定位的。
如果元素存在id属性,我一定使用id,因为简单方便,定位最快。
其次是Xpath和css,因为很多情况下html标签没有id属性。
2、如何去定位属性动态变化的元素?答:先去找该元素不变的属性,要是都变,那就找不变的父元素,用层级定位(以不变应万变)3、启动浏览器的时候用到的是哪个webdriver协议?答:http协议4、XPath中使用单斜杠和双斜杠有什么区别?答:单斜杠表示用绝对路径定位,双斜杠表示用相对路径定位。
绝对路径就是从html根目录开始表示的元素路径。
相对路径就是选择一个元素作为参考点,相对这个参考点元素开始表示的元素路径。
5、Selenium中有哪些验证点?答:Selenium主要有3种验证点①检查页面标题②检查某些文字③检查某些元素(文本框,下拉菜单,表等)6、如何清除中文本框的内容?答:使用clear()方法driver.find_element().clear()7、如何模拟浏览器的前后移动?答:driver.back() # 后退driver.forward() # 前进8、find_element()和find_elements()方法有什么区别答:两个都是查找元素的方式findelement()查找一个页面元素,只会返回WebElement对象findelements()查找页面是所有符合匹配的元素,返回元素集合9、如何判断case是否通过?答:使用断言,与预期结果比较10、等待元素加载的方式有几种?答:有3种,强制等待、隐式等待、显式等待进阶题1、定位不到元素怎么办?答:①检查日志,确认当前页面有没有这个元素②如果有,检查定位方式有没有写错③如果还没解决,检查元素是否在内联框里如果在内联框里,需要先切换到内联框里再定位元素。
电气自动化工程师面试题及答案1.请介绍一下您在电气自动化领域的工作经验及项目经历。
我曾在ABC公司担任电气自动化工程师,负责设计和实施自动化系统。
在项目中,我成功引入先进的PLC控制系统,提高了生产效率30%。
我还参与了XYZ项目,通过优化电气布局,减少了能耗,实现了环保和节能的目标。
2.请详细解释PID控制系统,并说明在电气自动化中的应用。
PID控制系统是比例、积分和微分三个环节的控制系统,广泛用于电气自动化中的温度、压力、流量等过程控制。
在我之前的项目中,我使用PID系统成功实现了温度控制,确保生产过程中温度波动最小,提高了产品质量。
3.如何选择合适的传感器用于自动化系统中的数据采集?在选择传感器时,首先要考虑测量的物理量类型,然后根据环境条件、精度要求和成本等方面进行评估。
例如,对于温度控制系统,我会选择高精度的温度传感器,确保系统的稳定性和可靠性。
4.请描述一次您解决电气系统故障的经验。
在上一份工作中,我们遇到了一次由于电源波动引起的PLC故障。
我通过仔细分析电路图,使用示波器检测电源波形,并在控制程序中增加了保护机制,成功解决了故障,并确保了系统的稳定运行。
5.请解释工业以太网在电气自动化中的作用及其优势。
工业以太网在自动化系统中用于实现高速、可靠的数据传输,支持实时通信。
我在之前的项目中成功应用工业以太网,实现了各个设备之间的无缝协同工作,提高了系统的整体效率。
6.介绍一次您设计的复杂控制系统,以及您是如何应对其中的挑战的。
在设计ABC公司的生产线自动化系统时,我面临了多个设备协同控制的挑战。
我采用了分层控制策略,将系统分为多个子系统,通过合理的通信协议实现了各个子系统之间的协同工作,最终成功实现了整个生产线的自动化控制。
7.请谈谈您对电气安全标准的了解,并在项目中如何确保符合相关标准。
我熟悉国内外电气安全标准,例如IEC60204□1。
在项目中,我始终确保设计符合相关标准,例如通过使用双通道紧急停机系统、设备过载保护等手段,以确保工作场所的电气安全。
自动化测试工程师面试题
(答题时间100分钟)
A.测试基础
1、白盒测试与黑盒测试的区别是什么?
2、什么是正交试验法,使用场景是什么?
3、数据库中,游标是什么?其作用是什么?。
4、简述常用的Bug管理或者用例管理工具,并且描述其中一个工作流程。
5、智力题
一个屋子有一个门(门是关闭的)和3盏电灯。
屋外有3个开关,分别与这3盏灯相连。
你可以随意操纵这些开关,可一旦你将门打开,就不能变换开关了。
请确定每个开关具体管哪盏灯。
B.自动化测试
1、自动化测试与测试自动化的区别。
2、列举出你熟悉的自动化工具,并说明其实现原理。
3、自动化测试的使用场景?
4、什么是关键字驱动?
5、高质量的自动化脚本应该具备哪些特性?
6、简述Slenium grid的作用。
7、简要说明下面api的使用方法
A:
此API功能说明:
C.开发能力
1、描述==与equals的区别
2、final, finally, finalize的区别
3、说明Tomcat的server.xml中下列参数的作用:
enableLookups= "false " redirectPort= "8443 "
4、Java中sleep和wait的区别
5、SSH是什么?每个框架扮演的角色是什么?
6、Linux系统下怎么查看和关闭名为jira的进程?
7、Linux如何安装jdk、mysql请写出相关命令?
8、HashMap和Hashtable的区别?
9、编程题:
1:写一个Singleton模式
2:现在需要实现一个用户登录功能,需要不同的用户有不同的权限,请设计出开发思路,可以使用伪代码。