一、 简答题
1、自动化测试用例的设计原则?
原则1:自动化测试用例的范围往往是核心业务流程或者重复执行率较高的。 原则2:自动化测试用例的选择一般以“正向”为主。
原则3:不是所有手工测试用例都可以使用自动化测试来实现的。
原则4:手工测试用例可以不用回归原点,而自动化用例往往是必须的。
原则5:自动化测试用例和手工测试用例不同,不需要每个步骤都写预期结果。
2、 请对该界面图上的数字区域进行解释?
1) 2) 3) 4) 5) 6) 7) 8)
探测手指
探测时保持探测器置顶 显示对象的区域
本地属性和鉴别属性的切换 属性和操作的切换
对象属性&对象操作的详细表 文字显示区域 具体描述区域
3、运行时对象的封装属性与自身接口属性的区别?
(1)封装接口是对象的不完全属性,有些对象的属性值是封装接口无法获取得到的。 (2)运行时的对象(RO)可以看见自身接口的所有属性,而对象库中的测试对象(TO)只可以看见被封装的一些接口。
(3)封装属性是不能修改实际运行时的对象的,只能获取属性的值,而调用自身接口就可以。
4、请描述Action的三种类型?
(1)非重用型:只能被存储它的Test调用,且只能被调用一次。 (2)重用型:可以多次被存储它的Test或别的Test调用。
(3)外部型:一个存储在别的Test中的可重用型Action,只能在调用它的Test中“只读”。 5、请描述Test DataTable与Run-time DataTable之间的区别和含义?
(1)Test DataTable—在Data table里事先准备好的、固定的测试数据,它是一组静态数据,是由自动化测试工程师人为事先填写进去的。
(2)Run-time DataTable—在QTP执行过程中,将测试数据填写到Data table里,QTP运行结束,测试数据就消失(不会保存在Data table里),但是可以在测试报告中看到它。
6、请描述VBScript中Left函数的作用、语法和参数? 作用:返回字符串最右边的指定数量的字符。 语法:Right(string, length)。 参数。
string:字符串表达式,其最右边的字符被返回。如果string参数中包含Null,则返回Null。 length:数值表达式,指明要返回的字符数目。如果是0,返回零长度字符串(\);如果大于或等于string参数中的字符总数,则返回整个字符串。
7、请描述VBScript中Right函数的作用、语法和参数? 作用:返回字符串最右边的指定数量的字符。 语法:Right(string, length)。 参数。
string:字符串表达式,其最右边的字符被返回。如果string参数中包含Null,则返回Null。 length:数值表达式,指明要返回的字符数目。如果是0,返回零长度字符串(\);如果大于或等于string参数中的字符总数,则返回整个字符串。
8、 请描述WebTable对象中GetCellData方法的作用和语法?
它的作用是获取指定单元格 (指定行、指定列)的值,是QTP提供的一个Get信息的方法。 语法:Object
9、 请解释ActionName,LocalHostName,ResultDir三个环境变量?
ActionName:返回当前运行的是哪一个Action,它的名称。 LocalHostName:返回当前运行QTP的计算机名称。
ResultDir:返回当前Test的测试报告的保存地址,不包括最后的“\\”。
10、
请解释SystemTempDir,TestDir,TestName三个环境变量?
SystemTempDir:返回系统的临时目录的路径,不包括最后的“\\”。 TestDir:返回当前测试的绝对路径,不包括最后的“\\'。 TestName:返回当前运行的Test的名称。
11、 分析:
请描述常用保留对象Desktop的实现和分析?
实现:Desktop.CaptureBitmap \
通常此对象用于出错时的截图,使用此对象来截图非常方便,只需给定生成截图的路径即可,这个在前面的章节也用过。 12、 请描述常用保留对象MercuryTimes的实现和分析?
实现:
‘计时开始
MercuryTimers(\
'****************************************** ' LOGIN MAINPAGE Wait 2
'****************************************** ‘计时结束
MercuryTimers(\
‘获取总共耗时时间
Print MercuryTimers(\
分析:
MercuryTimes保留对象是一个非常实用的对象,它对于测试应用程序的性能是非常有帮助的,此对象也是在QTP 9.2版本才开始加入的。 13、 请描述常用保留对象PathFinder的实现和分析?
实现:gbox PathFinder.Locate(\
分析:
PathFinder在QTP中的可见方法只有Locate,其参数为文件名称,其作用主要是获取到参数中的文件的完整绝对路径。 14、 请描述常用保留对象RandomNumber的实现和分析?
实现:Print RandomNumber.Value (0, 100)
分析:
执行以上脚本会得到一个0~100的随机数。注意,此处包含0和100。由于此处Value是默认属性,因此可以省略。
二、问答题
1、 模拟录制与低级别录制的区别?
将“模拟录制”应用于要在录制期间录制鼠标光标的实际移动的应用程序。这些可能包括绘制鼠标签名或者使用通过拖曳鼠标光标创建图像的绘图应用程序等。模拟录制模式分为两种:一种是相对于指定窗口的录制,另一种是相对于屏幕的录制。使用“模拟录制”录制的步骤被保存在单独的数据文件中。该文件与在其中录制模拟步骤的操作或组件一起存储,并且在以“模拟录制”模式进行录制时,QTP将向测试或组件添加一个调用所录制的模拟文件的“RunAnalog”语句。相应的Active Screen 将显示在模拟录制会话期间执行的最后一个模拟步骤的结果。
将“低级录制”应用于在不受QTP支持的环境或对象上进行录制应用程序。或者当需要在应用程序屏幕上录制操作的精确位置时,也请使用“低级录制”。当以正常模式录制时,不用关心对象控件具体在什么位置,即使该对象控件每次都移动到屏幕上的新位置也没关系。但是,如果对象控件的位置方位对于测试或组件非常重要,请切换到“低级录制”以使QTP能够按照屏幕上的x坐标和y坐标录制该对象。这样,在运行脚本的时候,该步骤只有在对象控
件位于正确的位置时才能通过。
以“低级录制”模式录制的每个步骤都显示在关键字视图和专家视图中,而“模拟录制”仅仅录制关键字视图中那个调用外部模拟数据文件的步骤。
总结。当选择“模拟录制”或“低级录制”时,需要参考一定的规则性,才能做到事半功倍的效果,在遇到实际问题时仔细考虑以下规则。
? 只有当QTP的正常录制模式不能准确录制和满足业务操作时,方可使用“模拟录制”
或“低级录制”。
? “模拟录制”和“低级录制”要求比正常录制模式更多的磁盘空间。
? 对于特定的业务步骤,可以在录制会话期间切换到“模拟录制”或“低级录制”。在以
“模拟录制”或“低级录制”模式录制了必要的业务步骤之后,就可以返回到正常录制模式来完成录制会话的其余部分。
2、 测试对象(TO)与运行时对象(RO)的区别?
TO就是被添加到对象库中的对象,RO其实就是被测试软件在运行时实际所运行的那个对象。无论是TO还是RO,它们都属于QTP封装的对象,共同使用QTP封装好的一些属性,RO就有点特殊了,它也可以调用自身接口的属性。
QTP识别对象通常就是先在对象库里添加测试对象,这些对象全部都存有一些特征属性的值,然后在被测软件运行的时候,QTP会根据脚本里的对象名字,在对象库里找到相对应的测试对象,并根据这些对象的特征属性描述,在被测试软件里搜索并找到相匹配的实际正在运行的对象,最后就可以对这些实际运行的测试对象进行操作了。如果在这个过程中没有找到任何相匹配的对象,那么QTP就会报个“找不到该对象”的错误。测试对象是为了识别运行时对象而存在的。
3、 请介绍一下获取对象属性的四个方法GetTOPropert(),GetTOProperties(),SetTOProperty(),
GetROProperty()的基本含义和公式? GetTOPropert():
(1)基本含义:获取对象库中某个对象的某个属性的值。 (2)公式:ReturnValue =对象.GetTOProperty(\封装属性名\GetTOProperties():
(1)基本含义:获取对象库中某个对象的所有属性的值。 (2)公式:ReturnValue =对象.GetTOProperties()。 SetTOProperty():
(1)基本含义:设置对象库中某个对象的某个属性的值。
(2)公式:对象.SetTOProperty“封装属性名”,“封装属性值”。 GetROProperty():
(1)基本含义:获取实际在运行时的某个对象的某个属性的值(不是从对象库里面获取)。
(2) 公式:ReturnValue =对象.GetROProperty(\封装属性名\。
4、请描述对象库编程与描述性编程的优势?
对象库的优势:
(1)可以通过Complete Word、“F7”等多个方式进行高效编程。这个特性描述性编程没有。
(2)对象库编程有一个比较好的特性,假设脚本中引用了同一个对象10多次,这个对象的名字之前取得不是太出色,项目经理要求改名。此时不需要改10多次,只需要进
入对象库,对这个对象进行更名,脚本便会批量自动更新,很高效!这个特性描述性编程也没有。
(3)对象库编程不容易打错字,因为有Complete Word,想打错字都难。但是,描述性编程没有Complete Word,所以,打错字是家常便饭。关键是,对于一个新测试员来说,他不可能有敏锐的分析手段,往往因为这么一个小错别字会浪费很多时间。其实只是一个错别字而已,往往最后被误解成脚本发生了错误,无论怎么调试都看不出来。 描述性编程的优势:
(1)不用维护庞大的对象库,不过需要维护庞大的代码。 (2) 描述性编程可以完成一些特殊的需求。
5、请详细描述QTP自带的检查点、验证点方法CheckProperty的语法和参数解释?
Object.CheckProperty(PropertyName,PropertyValue,[TimeOut])
对象.CheckProperty方法(参数“属性名”,参数“属性值”,非必填项“延时”)。 介绍括号里的参数设置部分。
(1)PropertyName:要检查的属性名,在本实例中是?value?。
(2)PropertyValue:预期结果值,在本实例中预期结果是“QTP自动化测试技术领航”,如果最后检查完毕,发现不符合预期,则会返回False,并引入QTP测试报告;反之,则返回 True,并在测试报告中以Passed显示。
(3)TimeOut:单位是milliseconds,可以不填,不填则代码瞬间验证结束,如果设置成5000 的话,则会等待 5秒钟。第 1秒如果没验证对没关系,只要在 5秒内验证对就算对。
6、 请详细描述VBScript基本语法中对变量的定义? (1)所有单引号后面的内容都被解释为注释。
(2)在VBScript中,变量的命名规则遵循标准的命名规则,需要注意的是:在VBScript中对变量、方法、函数和对象的引用是不区分大小写的。在申明变量时,要显式地申明一个变量,需要使用关键字Dim来告诉VBScript创建一个变量,并将变量名称跟在其后。申明多个同类型变量,可以用逗号分隔。
注意:VBScript中不允许在申明变量的时候同时给变量赋值。但是允许在一行代码内同时对两个变量进行赋值,中间用冒号分隔。
(3)VBScript在定义时只有一种变量类型,在实际使用中需要使用类型转换函数来将变量转换成相应的变量类型。
Cbool函数将变量转换成布尔值。
Cbyte函数将变量转换为0~255的整数。
Ccur函数、Cdbl函数和Csng函数将变量转换为浮点数值,前者只精确到小数点后4位,后两者要更加精确,数值的范围也要大的多。 Cdate函数将变量转换为日期值。
Cint函数和Clng函数将变量转换为整数,后者的范围比前者要大的多。 Cstr函数将变量转换为字符串。
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新工程科技2013秋季学期综合练习题 全文阅读和word下载服务。
相关推荐: