google搜索 51Testing站内搜索                    软件测试门户 | 软件测试培 训 | 文章资料精选 | 软件测试论坛 | 软件测试博客 | 测试招聘求职 
打印

[求助] 面试问到的:QTP的工作原理?

面试问到的:QTP的工作原理?


前些天在一家公司面试时问到关于QTP的工作原理,因为本人未从事过软件测试工作,所以对这个问题在头脑里面没有什么概念,结果就回答了使用QTP的流程,有哪位朋友知道QTP的工作原理是什么?

TOP

HP?呵呵,这个问题我也被问到了

TOP

不是HP,是家软件外包公司

TOP

怎么没人回答呢?都没有遇到这样的问题吗?哪位高手知道啊?

TOP

就是问你:QTP识别对象的原理以及操作对象的原理

Search一下,有相关的贴子
我的学习吧  人总要好好学习的吧~怎能颓废到这个地步呢

TOP

多谢zbyufeifei!!因为没有实际经验,所以连问的问题是什么意思都没有搞懂!
你是51testing就业学员吗?是去培训过吗?

TOP

Please look in QTP  User's Guide to find its answer
实践是检验真理的唯一标准。

TOP

Thanks!

TOP

工作原理:录制的时候识别用户的操作过的对象,把这些对象的基本属性存放在对象库中,回放脚本时,如果脚本是对某个对象进行了
操作,QTP到对象库中查询对应对象的属性,然后和真实的被测的真实系统进行匹配,匹配成功,把操作施加到该对象上.

TOP

还有,如果没有完全匹配的对象,QTP就启用智能识别机制来寻找相似的对象。
实践是检验真理的唯一标准。

TOP

引用:
原帖由 liyuan_400 于 2008-5-9 23:15 发表
工作原理:录制的时候识别用户的操作过的对象,把这些对象的基本属性存放在对象库中,回放脚本时,如果脚本是对某个对象进行了
操作,QTP到对象库中查询对应对象的属性,然后和真实的被测的真实系统进行匹配,匹配成 ...
你这不是原理,是工作方式;我起初被问到也很痛苦,就B4他们,我心想你问这没味道的问题干吗啊……
后来索性就忽悠他们:

“举个例子,例如JAVA吧,这个QTP呢是使用一种(诡异的)方法获取了JS或者API的类和他所有的属性以及支持的方法,记录下来,就像LR截断APP和WEB的Request和Response一样,哎,对了,您知道LR吧……不好意思,扯远了,继续哈;而且这个QTP他还自带了这个API中很多不可见或未实现的方法,以备编辑……对每种特殊的语言会有特殊的插件提供这些(QTP的)方法来实现……”

我说了是忽悠哈,但是至今没几个反驳我的……估计也没有人敢,不然早就把我Kick了,哈哈……最好不要在高手面前胡扯,哈哈,要是在HP、IBM面试这么忽悠可就惨了
问这个问题主要是因为很多人本身自己对自动化工具理解的不是很好,不然应该就不会问了……

[ 本帖最后由 lyscser 于 2008-5-11 00:13 编辑 ]
        记住,打球之人最忌招摇,就算你日后练成了老夫这样的盖世球技,也不可随意招摇。况且,练成了盖世球技又能怎么样呢?不过是盖世的孤独盖世的寂寞,不怕你们笑话,有时候午夜梦回怎么也睡不着,深深的失眠,这个时候我就想能够在月光下找个对手切磋一下,可是想来想去把整个乒坛成名人物想了一个遍,硬是寻不出一个对手,只能,只能长叹一声,翻个身继续睡!

TOP

工作原理简单点说就是 通过把QTP安装到电脑上,然后用生成脚本,回放来回归测试

对象识别原理 获取hwnd,然后判断ui属性,逐个判断,然后逐层递归,最后获取每个对象的所有层面的属性,跟对象库里的属性进行比较,匹配则应用,不匹配则智能识别(重新启动识别过程,过滤出一些符合条件的,进行判断后找到唯一匹配项)

复杂点说: 把对象从被测软件ui中读取出主要特征,存入对象库,回放时在被测试软件中寻找指定对象,赋予对象一些方法,方法为windows win32或者web上的一些activex控件的通用方法(或者javascript应用于一些未支持的事件,比如link.click), 微软控件对外的接口,把其中一些方法进行封装,成为qtp自己的方法,比如getroproperty=对象.object.value ,然后运用这些方法属性驱动被测试对象完成一些指定的动作。对于任何一个add-in都是先找到人家的对外接口,然后拿过来封装,需要的时候去调用接口事件,也就成为了QTP的动作。

此外还有数据驱动 xx驱动的,每种驱动方式都大同小异,瞎JB侃呗。。。怕啥的阿,反正谁都不明白。面试的人肯定也不明白啥,就是随便问问

[ 本帖最后由 walker1020 于 2008-5-13 21:48 编辑 ]

TOP

哈哈,就喜欢看jackymail大哥回答问题

TOP

回复 13# 的帖子


还有一类插件是打桩型的,这种方式处理能力更强大,比如WR的DELPHI插件,ST中的INTERNAL EXTENTION KIT都是这种工作方式

[ 本帖最后由 lantianwei 于 2008-5-12 20:48 编辑 ]
性格决定命运,气度决定格局!
个人网站-http://www.lantianwei.com
欢迎大家访问!

TOP

还好至今未被问到
赚钱,是一辈子的事情
先付出,再求回报

TOP

QTP采用关键字视图的测试原理
http://www.cole.cn/

TOP

你说的是钩子吗?


引用:
原帖由 lyscser 于 2008-5-11 00:06 发表



你这不是原理,是工作方式;我起初被问到也很痛苦,就B4他们,我心想你问这没味道的问题干吗啊……
后来索性就忽悠他们:

“举个例子,例如JAVA吧,这个QTP呢是使用一种(诡异的)方法获取了JS或者API的类 ...
你说的是钩子吗?

如果是,楼主也瞎JP能忽悠人!

[ 本帖最后由 kakamissyou 于 2008-5-19 20:45 编辑 ]

TOP

钩子是什么?
        记住,打球之人最忌招摇,就算你日后练成了老夫这样的盖世球技,也不可随意招摇。况且,练成了盖世球技又能怎么样呢?不过是盖世的孤独盖世的寂寞,不怕你们笑话,有时候午夜梦回怎么也睡不着,深深的失眠,这个时候我就想能够在月光下找个对手切磋一下,可是想来想去把整个乒坛成名人物想了一个遍,硬是寻不出一个对手,只能,只能长叹一声,翻个身继续睡!

TOP

钩子是获得 底层操作的一种技术,具体在 Google里面搜索到
实践是检验真理的唯一标准。

TOP

不错,又学到了点东西

TOP

 
当前时区 GMT+8, 现在时间是 2008-9-5 13:35Copyright(C)上海博为峰软件技术有限公司 2001-2007 电话:021-64471599-8017
当您在访问网站、论坛及博客过程中遇到问题时可发送email:webmaster@51testing.com或发送论坛短信至管理员风在吹