51Testing专访余杰、赵旭斌:他们的《精通QTP——自动化测试技术领航》
余杰

余杰,网名“yujie6832”,51Testing技术专家,担任51Testing论坛QTP版主。精通QTP的脚本开发与应用,发表过多篇QTP技术文章。曾任职于多家国内外大型企业,具备多年自动化测试工作经验,对自动化测试项目及QTP测试框架有很深的研究。同时也具有多年QTP自动化测试的企业培训经验并深受好评,擅长系统化的自动化测试教学。

赵旭斌,网名“zzxxbb112”,iQuickTest领先技术专栏创始人及51Testing技术专家,担任51Testing论坛QTP版主,发表了40余篇QTP经典系列讲座,深受读者好评。曾在多家大型企业任职,担任过多年大型项目的自动化测试技术研究顾问。对QuickTest Pro有深入研究、擅长自动化测试领域的框架开发、模式设计以及国外最新自动化测试技术。

赵旭斌
《精通QTP——自动化测试技术领航》精彩抢先看
51Testing:《精通QTP——自动化测试技术领航》一书已经出版并上市,作为本书的作者,能否简单为我们介绍下这本书的内容?

首先,非常感谢51Testing的大力支持,也很荣幸接受这次采访,激动啊!多的客套话就不说了,直接进入正题吧:关于《精通QTP——自动化测试技术领航》这本书的章节内容,我个人认为每一个章节都非常精彩,都是缺一不可的!而且这本书非常系统化,绝对系统化!自豪地说句,这个目录的设计绝对的科学,用周立波的话说就是“绝对有腔调饿哦”!最后,奉上句广告语:《精通QTP——自动化测试技术领航》,你,值得拥有!下面是本书中的部分精彩章节,网友们可先睹为快啦!

1.2 帮助文档(HELP)-QTP的说明书

1.2.1 永远任劳任怨的良师益友“F1”[详细]

1.2.3 请遗忘脑中的代码,掌握查阅Example实例技巧[详细]

1.4 认清并请远离QTP的脚本录制模式

阶段要点

了解Keyword View结构;摆脱Keyword View;熟练掌握Expert View的代码结构。

1.4.1 QTP的两种视图及思维转换

从本章节开始,读者将真正开始彻底摆脱脚本录制,正式走向脚本开发的台阶。在开始讲解QTP脚本开发之前,首先需要详加介绍Expert View这个视图,这个视图是QTP官方指定的脚本开发唯一认可的视图。那么,以何为出发点以及如何介绍Expert View这个视图呢?决定以抛砖引玉的方式,利用脚本录制视图Keyword View形象地引出脚本开发视图Expert View。

相信只要稍许接触过QTP的读者就一定知道QTP提供两种视图,一种是Keyword View(关键字视图),另一种是Expert View(专家视图)。Mercury公司开发两种视图的本意是想让不同类型的人使用不同类型的视图。接下来分别对这两个视图进行讲解,并开始抛砖,直到引出一块良田美玉。

1.Keyword View(关键字视图)

通过关键字视图(一种图形化的视图),QTP提供了一种模块化的表格格式,创建和查看测试或组件的步骤。在录制脚本的过程中,用户在应用程序上执行的每个步骤,在关键字视图中记录为一行,这样用户就可以轻松地修改任何一部分业务步骤。在这里拿“百度”的首页举一个例子,业务操作分3个步骤:

● 点击“图片”链接;

● 在图片搜索栏中输入“凤姐”;

● 点击“百度一下”。

在完成了这3个步骤后,关键字视图将包含下列行,如图1-47所示......[详细]

1.7 描述性编程(Descriptive Programming)

阶段要点

描述性编程不高深;描述性编程的两种写法;描述性编程实例介绍。

1.7.1 一点都不高深的描述性编程技术

QTP刚进入国内不久时,各大测试论坛曾经有过一场持续了多年的争论,引起这场争论的导火线就是对象库编程(以下简称ORP)和描述性编程(DP)。这场争论持续了至少3年以上。争论的话题都是使用QTP进行自动化测试,其测试脚本是使用对象库编程好还是描述性编程好,有兴趣的读者完全可以在51Testing论坛中输入一些关键字进行搜索,如“对象库描述性编程”等,相信应该还能重新找到不少信息。

大约从2009年开始,随着大家对QTP技术的了解,ORP与DP的争论已经越来越少了,因为随着时间的推移,国内的QTP自动化测试技术也发展到了一定高度,使得越来越多的测试人员更倾向于ORP!为什么?ORP技术为什么好过DP技术?有什么依据?暂时先不说,先说说大多数当初支持DP的人们的一些心态:

第一种也是最典型的一种,就是描述性编程这个名词里嵌套了“编程”两字,这得怪Mercury开发QTP的时候提出了DP这一概念!这“编程”两个字可误导了不少测试新人。相信大家都知道,国内测试行业的很多新人大多都是其他行业转型过来的,相对做测试的门槛没有做开发那么高,很多也没有经受过系统的计算机软件方面的学习,所以对“编程”一直很向往,觉得编程很难,所以一听到QTP的描述性编程这个概念,就觉得是个很高深的技术。在早期,就是因为这种心态使得一大批测试新人在慢慢熟悉并会使用QTP以后,明明可以不去使用DP也硬要去使用,以显示自己是技术牛人,其实这种举动是化简为繁并脱离了自动化测试的本意。当然,很多支持DP的人不是属于炫耀范畴的,是属于被“编程”两字忽悠了的范畴的。

第二种也是比较典型的,因为以前大家都认为DP很高深,觉得DP是QTP中的精髓。所以,如果使用DP写脚本并提交给测试经理看,那领导一定会认为你很牛。很明显,以上两种都是稍许带有贬义的。

第三种争论的焦点是自动化测试框架,配合自动化测试框架,在进行QTP编程的时候到底用ORP好还是DP好?这个也可以说是3个中唯一一个真正对国内自动化测试领域的提高有价值的争论,因为的确是各有好处的!关键不是使用哪种QTP编程技术,更多的焦点是框架设计的怎么样。

所以,排除第三种自动化测试框架的特殊情况,选择ORP技术的人们是理智的人群,咱也不能说选择DP的人们就是不理智的,但是可以肯定,如果明明可以使用ORP技术却还硬要使用DP技术的人们是肯定不理智的。

很自然的,对象库编程就是我们上一章节刚刚重点介绍过的非常强大的一个功能,而描述性编程就是本章节要介绍给各位新人读者的一项编程技术。其实呢,本人一开始听到QTP的描述性编程技术的时候也一直以为是一门很高深的技术。事实上……下面就会用实例证明给大家看,其实DP就是这么简单的一回事!现在基本上大家都认可了ORP是QTP自动化测试的首选,为什么?因为ORP的确经得住考验,而且在下面的“终极对决”的小节里,还会让ORP和DP来一次大“PK”来证明,为什么选择ORP是理智的,为什么大家最终还是倾向于ORP,并且还会介绍一下ORP相比DP的一些优越性......[详细]

3.5 WshShell对象常用方法介绍

阶段要点

WshShell对象的简单介绍;激活窗口AppActivate;获取当前路径CurrentDirectory;最常用的sendkeys发送;注册表信息的操作。

3.5.1 WshShell对象介绍

这一节主要讲一下WSH对象的一些应用,在QTP项目实践中经常会遇到一些与Windows连接比较紧密的操作,这些操作如果使用QTP来完成可能并不是最佳的方案,甚至可能QTP就根本无法完成那么此时可以使用WSH对象来帮助解决此类问题,如最常见的就是读写注册表、运行(command)、发送键盘(sendkeys)等。以上这些操作步骤如果通过WshShell对象来操作即可以轻松完成。下面了解一下什么是WshShell对象。

1.Wscript对象:Windows Script Host object model

首先了解Wscript根对象,简单地说,Wscript对象就是一个Windows脚本宿主对象模型,而Wscript是一个基于Windows脚本宿主对象的根对象。利用它可以创建两种COM对象:WshShell和WshNetWork。

2.WshShell(Wscript.Shell)

可以使用此对象访问Windows Shell的一些应用,主要用于运行本地程序、操作注册表程序、创建快捷键、处理环境变量、发送键盘符等......[详细]

4.1.1 访问对象自身接口的特殊渠道

在这里介绍扩展另一种访问对象自身接口的技巧,就是通过QTP封装函数来获取,这个技巧非常实用。

方法:“attribute/自身接口属性名”。

使用这个方法,我们就可以通过QTP封装的方法来访问其自身接口了,而不用再使用object来获取,此方法可以结合很多QTP的方法进行使用,并且可以发挥出很强大的作用

1.结合GetROProperty使用(见图4-1)......[详细]

《精通QTP——自动化测试技术领航》幕后花絮
51Testing:谈谈你们当初创作这本书的目的是什么?创作思路是什么?

让每个章节内容独立,知识点独立,把所有章节放在一起,就是相当完整的QTP宝典,也许说宝典夸张了点,但是的确是我们的愿景,也是写书的另一个初衷和愿望,我们当初就是这样想的,读者放1本我们的书在办公桌上,在做QTP自动化测试项目时碰到问题,都能直接通过看我们的书找到最好的答案或者启发!

51Testing:你们觉得这本书与其他同类书籍相比,最大的特色是什么?

本书的七大特色:

一、“三合一”全能读物:教科书、实战项目指导书、高端技术 / 管理人员参考书......

二、采用QTP 10.0版本,保证读者学到的内容不过时......

三、本书的理念就是“实用”,故所有不实用、项目中不常用的内容全部剔除......

四、本书没有QTP“录制”方面的任何内容,全部是QTP脚本开发的教学与指导......

五、不是一本照抄QTP“帮助文档”的书籍......

六、实例新颖、趣味、符合实际,市面上目前最真实的模拟项目环境......

七、首创的知识巩固练习题配合练习详解帮助读者学以致用

51Testing:在创作过程中,你们遇到的最大的困难是什么?又是如何克服的?

在写这本书前,我们考虑到了2个大难题:

其一,就是如何才能让读者(尤其是QTP初学者)真正地学会实际应用QTP做企业项目,而且还不能学死!光这一点作者就花了相当大的脑力和精力,最后得出了共同的结论:“通俗且幽默”......

其二,实例素材的收集。我们知道,市面上现有的QTP书籍无非是采用老套的QTP自带的飞机订票系统,都这么多年了,也该换换口味了!那个系统不光陈旧也不够真实,和现在我们做的项目出入太大!所以经过讨论,两位作者最后达成共识,决定启用“51Testing门户网站”、“51Testing论坛”、“51Testing博客”、“百度”等大型Web网站,它们都是最新、最贴近现实、最鲜活的“现成项目”......[详细]

51Testing:这本书的读者群有哪些?对于测试初学者和有一定经验的人是否都适用?

本书针对的读者群:

自动化测试初学者——深度知悉自动化测试到底是什么,怎么做

---他们可以在本书中掌握自动化测试的技巧、理念,吸取作者的测试自动化经验。

QTP初学者——学会使用QTP编码技术

---这本书就是一本非常好的“教科书”,两位作者也是从初学者走过来的,最能体会初学者最想要什么、最需要什么!这本书太适合这部分角色的读者了!

QTP项目开发人员——提高自身的编码技巧,拓展QTP知识

---在做项目的时候,如果能在办公桌上备下本书,相信能减少查询百度的动作,因为书中涵盖了各种QTP实用技术,且这些技巧只针对项目中的实际应用。

QTP技术高手——本书部分高级内容给这部分读者参考、借鉴、补缺......[详细]

51Testing:非常感谢余杰、赵旭斌对本次采访的支持。最后《精通QTP——自动化测试技术领航》一书已经出版,欢迎广大测试朋友购买,拥有一本好书!另,本书的部分章节也正在本站独家连载中,请大家共同关注。在此,51Testing也预祝《精通QTP——自动化测试技术领航》一书大卖!
51Testing软件测试网作品系列
51Testing系列丛书:精通QTP——自动化测试技术领航
2011年12月新上架

《精通QTP——自动化测试技术领航》共分为6章,书中实例新颖、趣味性强、案例贴近实际,在逼真的软件测试模拟项目环境下试验。

第1章和第2章帮助读者系统地学习QTP最实际的应用。第1章将需要掌握的自动化测试知识依次讲解,这是精心设计的内容。掌握了这些基本技能后就可以进入第2章的学习,里面涵盖了大量真实的模拟项目的例子,以及做项目时需要的一些QTP技术和技巧。学通这两章,读者就可以独自承担起自动化测试的脚本开发工作。第3章和第4章让读者深度掌握QTP应用。包括项目应用高级扩展实例精讲和QTP深入探索,学会了这些技术,读者才会有更多的底蕴,也是一个很重要的跨越阶段。第5章和第6章讲解了设计模式和自动化测试框架的内容,这两章内容是QTP测试技术精华的浓缩,如QTP设计模式和自动化测试框架。

另外,《精通QTP——自动化测试技术领航》在第1章至第4章精心设置了习题,帮助读者巩固已学的内容,也给读者一些练习的素材。建议读者用心完成以后再参考提供的答案,效果会更佳!

很多测试朋友在论坛中常问各种各样的QTP问题,但发现很多问题其实都是大同小异的,《精通QTP——自动化测试技术领航》在最后以附录的形式把经典的疑难问题浓缩成“QTP科普问答典藏30例”,它涵盖了一些很值得关注的软件测试实战技术。

《精通QTP——自动化测试技术领航》适合初学者、测试工程师、QTP项目开发人员、QTP架构师、测试经理、培训师等,也适合学校相关专业的教学用书。

查看详细介绍>>        试读章节连载>>        评论/提问>>

51Testing软件测试网作品系列

性能测试从零开始——LoadRunner入门与提升
性能测试进阶指南——LoadRunner 9.1实战
软件质量管理指南
手机软件测试最佳实践
软件测试精要
互联网单元测试及实践