【篇一:自动化测试工程师面试题】
自动化测试工程师面试题
(答题时间 100分钟)
a.测试基础
1、 白盒测试与黑盒测试的区别是什么?
3、 数据库中,游标是什么?其作用是什么?厕所除臭机
。
4、 简述常用的bug管理或者用例管理工具,并且描述其中一个工作流程。
5、 智力题
一个屋子有一个门(门是关闭的)和3盏电灯。屋外有3个开关,分别与这 3盏灯相连。你可以随意操纵这些开关,可一旦你将门打开,就不能变换开关了。请确定每个开关具体管哪盏灯。
b.自动化测试
1、 自动化测试与测试自动化的区别。
2、 列举出你熟悉的自动化工具,并说明其实现原理。
3、 自动化测试的使用场景?
4、 什么是关键字驱动?
直流系统绝缘监测装置
6、 简述slenium grid的作用。
7、 简要说明下面api的使用方法
a:
此api功能说明:
c.开发能力
1、 描述==与equals的区别
2、 final, finally, finalize的区别
3、 说明tomcat的l中下列参数的作用:滚珠丝杠副安装
enablelookups= false redirectport= 8443
4、 java中sleep和wait的区别
5、 ssh是什么?每个框架扮演的角是什么?
6、 linux系统下怎么查看和关闭名为jira的进程?
7、 linux如何安装jdk、mysql请写出相关命令?
8、 hashmap和hashtable的区别?
9、 编程题:
1:写一个singleton模式
2:现在需要实现一个用户登录功能,需要不同的用户有不同的权限,请设计出开发思路,可以使用伪代码。
【篇二:软件自动化测试工程师面试题】
软件自动化测试工程师面试题
姓名:_____________应聘岗位:________________ 时间:______________
1. 为什么要实施自动化测试?你认为自动化测试的优点有哪些?缺点又有哪些?
2. 介绍一下你参与的项目中使用qtp进行自动化测试的测试框架及测试流程:
全自动烧录机 3. qtp中的object spy有什么作用?
4. vbscript中如何自定义一个返回参数值并输出的函数?
5. 在qtp中如何调用上一题(第4题)中的自定义函数?
6. 使用描述性编程完成下述场景的qtp脚本:
1) 打开ie浏览器;
2) 访问谷歌();
3) 在查询框(name属性为q)中输入“爱递吉”;
4) 点击“google搜索”。
7. 针对以下需求设计测试用例,并完成对应用例的qtp测试脚本:
选中网站测试页面中表格内的数据,点击表格上方“选择汇总”按钮,弹出“汇总”窗口,
1) “汇总”窗口表格第1行第2列是毛重,等于页面表格中选中数据第2列的值总和;
2) “汇总”窗口表格第2行第2列是体积,等于页面表格中选中数据第4列的值总和;
交互式拼接屏 3) “汇总”窗口表格第3行第2列是价值,等于页面表格中选中数据第5列的值总和;
【篇三:20道qtp自动化测试技术经典面试题】
1)支持那些环境?
qtp支持以下环境:
active x、delphi、java、net、oracle、people soft power builder、sap、siebel、stingray terminal emulator、visual basic visual age 、web、web services
qtp支持两种类型的对象库:
(1) 共享对象库(也叫全局对象库)
(2) 单例对象库(也叫局域对象库)
共享对象库在处理多次测试中的静态对象时适用,扩展名是“.tsr”。默认的是单例对象库,
顺桨
它的扩展名是“.mtr”
3)可以在其他测试中用脚本语言调用qtp测试吗?假设有四个测试,我想在一个主脚本中调用这些测试,这种qtp中可能吗?
答案是肯定的。你可以在你的测试中调用四个甚至更多脚本。为了达到这个目的,需保证相应脚本中的actions是可重用的。然后从目标脚本中可以使调用这些可重用的actions。
4)什么是action split?在qtp中使用action split的目的何在?action split将存在的action拆分为两部分,目的在actions函数的基础上提高代码的可重用性。
5)在qtp中你如何处理java树?
首先,选择 java add-in 启动qtp。第二步记录在java树中的操作,如果在记录过程中遇到问题,选择tools object identification java、tree object,强制更改辅助属性来启用识别。 提示:对于任何环境的对象,你都可以把用类似的方法回答。
例如:如果问题是你怎样检查sap多选框,你说,首先我该选择sap add in??等等。
6)解释一下qtp是如何识别对象的?
qtp识别任何gui对象基于其相应的属性。当记录的时候,qtp在对象存储库的gui对象中识别并且存储特殊属性(如在物体识别设置中定义的一样)。在运行时,qtp将比较存储属性值与屏幕上的属性。
7)qtp中有多少种记录模式?分别在什么时候用到?
qtp支持三种记录模式:
(1)普通模式,也叫上下文模式
(2)低级记录模式
(3)模拟模式
普通模式:默认的记录模式,充分利用了qtp的试验对象模型。它可识别屏幕任何位置的对
象。这是重新编码的最佳模式,用于大多数的自动化测试。低级记录模式: 这个模式准确地记录鼠标操作的x,y坐标。它有助于测试哈希表。它是用于记录qtp的正常模式下的不确定对象。
8)你怎样在一个action中调用另一个action?
调用action有两种方法:
(1)调用复制的action。用这种方法,操作对象存储库、脚本和时间戳将被复制到目标测试脚本。
(2)调用现有的action。用这种方法,操作对象存储库、脚本和时间戳不会被复制,但一个调用(参考)将在源脚本的action上生成。
9)什么是虚拟对象?
应用程序可能包含有着像标准对象行为的对象,但不被qtp识别。您可以把这些对象定义为虚拟对象并将它们映射到标准的类,比如按钮或一个复选框。qtp在运行的会话中在虚拟对象上模拟用户的动作。在测试结果里,虚拟对象被当成标准的类对象展示出来。
例如,假设你想记录一个测试包含用户单击的位图的web页面。位图包含几个不同的超链接区域,每个区域打开一个不同的目的页面。当你记录一个测试,web站点匹配单击位图的坐标并且打开目标页面。
在运行的会话中启用qtp以点击所需坐标,你可以为一个区域的位图定义一个虚拟对象,其中包括那些坐标,并将其映射到按钮类。当运行一个测试时,qtp单击一个被定义为虚拟对象位图所在区域,这样网址就可以打开正确的目的地页面了。
10)如何使用qtp执行跨平台测试和跨浏览器测试?你能用一些例子解释说明吗?
创建单独的actions,以满足不同的操作系统和浏览器的需要。
跨平台测试:
用内置的环境变量挖掘操作系统信息。
如:平台=环境(“操作系统”)。然后基于平台需要调用你记录在那个特定的平台的actions。
跨浏览器测试:
使用代码browser(core values).getroproperty(version),可提取浏览器和它的相关版本。例如:internet explorer 6或netscape 5,基于这个值您可以调用与浏览器相关的actions。
11)对象的逻辑名字是什么?
逻辑名字是qtp 在库里创建一个可唯一地与应用里的其他对象识别的对象时起的名字。它被qtp用来映射对象库中对象名相应的描述。如:browser(browser).page(guru99) ,在这里,guru99 是对象的逻辑名字。
12)什么是描述性编程?
通常情况下,一个对象及其属性必须被记录在对象资源库,让qtp执行操作。
用描述性编程,你不用在对象资源库里储存对象及其属性值,而是在脚本里提到属性值对。
描述性编程背后的这种思想不是想绕开对象库,而是帮助识别静态对象。
13)运用描述性编程的时候,你用什么属性来识别浏览器网页?可以用名字属性。
如:ex:
browser(name:=xxx).page(name:=xxxx).....
或者,我们也可以用属性micclass。
如:ex:
browser(micclass:=browser).page(micclass:=page)....
14)在远程机器上使用qtp时,我们能否记录应用的运行过程呢?
当然可以。你可以通过本地浏览器而不是通过像citrix 这样的遥控器记录你进入的远程应用。
如果你仍然不能记录,建议您将qtp 和应用安装在同一个机器上。
15)用一个例子解释创建对象的关键词。
创建并返回一个自动化对象的引用。
语法:pename [,location])
参数:
servername:需要。提供对象的应用的名字。
typename:需要。创建对象的类型或者类。
location:可选。创建对象的网络服务器名字。
16)你能在per-action 和shared object repository中切换吗?如果能,怎么切换的?
可以转换。到test,然后选择settings,最后选择resources,在这里可以选择储存库了。
17)什么是对象间谍?如何使用它?
对象间谍有助于确定正在被测试的应用的运行测试时间对象属性和方法。
您可以直接从工具栏或者对象库对华康直接访问对象间谍。
这在描述编程过程中非常有用。
18)光序标志符就可以使一个对象独一无二,那为什么不给他们顶级优先权呢?为什么它是先强制后辅助的?为什么我们不能直获取序标志符?因素如下: