加入收藏 | 设为首页 | Life家族 | SCMLife | RMLife | PMLife | SQALife | TESTLife | 企业VIP专区 | 中文化荣誉殿堂
 
发新话题
打印

[推荐] qtp介绍( 此文章被查看:439次,被回复:0篇!! )

qtp介绍

自动化测试工具
白盒代码测试
Browser("Browser").Dialog("Microsoft Internet Explorer").Activate
Browser("Browser").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
JAVA的测试工具:JUNIT
是通用的测试 java 程序的测试框架JUnit可以对Java代码进行白盒测试。通过JUnitk可以用mock objects进行隔离测试;用Cactus进行容器内测试;用Ant和Maven进行自动构建;在Eclipse内进行测试;对Java应用程序、Filter、Servlet、EJB、JSP、数据库应用程序、Taglib等进行单元测试。
提供了一个Java代码的单元测试框架,以方便Java程序员进行持续的单元
测试。JUnit 是Open Source 的,在XP(Extreme Programming)圈子里颇受欢迎。(参考网站:http://www.junit.org/)
QTP简介
QTP,全称为Quick Test Professional,是Mercury公司开发功能强大的功能测试工具。 Mercury QuickTest Professional™是一款先进的自动化测试解决方案,用于创建功能和回归测试。为每一个重要软件应用和环境提供功能和回归测试自动化的行业最佳解决方案。它自动捕获、验证和重放用户的交互行为。

QTP支持的功能测试环境
QuickTest Professional支持多种企业环境的功能测试,包括Windows、IE、 Netscape、 Web-Related Environments、.NET、 Java/J2EE、SAP、Siebel、Oracle、PeopleSoft、Visual Basic、;ActiveX Controls、Mainframe terminal emulators和Web services。
QTP功能特性
QuickTest Professional是新一代自动化测试解决方案,采用了关键词驱动(Keyword-Driven)测试的理念,能完全简化测试的创建和维护工作。QuickTest关键词驱动方式独有之处在于,测试自动化专家可以通过一个整合的脚本和纠错环境,拥有对基础测试脚本和对象属性的完全访问权限,这些脚本和纠错环境与关键词视图(Keyword View)可以互为同步。
QTP的使用语言:微软的VBScript语言,比较通用,而且也相对简单易学、大众化,容易上手。
QuickTest Professional同时满足了技术型和非技术型用户的需求,让各个公司有能力部署更高质量的应用,同时部署的速度更快,费用更低,风险也更小。QuickTest Professional和我们新的测试自动化系统Mercury Business Process Testing™的紧密结合,可以将非技术型的业务专家(SME, Subject-Matter Experts)引入质量流程,这一意义重大的引入可以将IT和业务更好地融合,最终建立起更出色的应用。
QuickTest Professional是如何工作的
QuickTest Professional易于操作。您可以使用无需脚本的关键词视图来表现测试的每个步骤,仅由此就可创建一个测试。您还可以通过QuickTest Professional所集成的录制能力来捕获测试步骤。该产品用简单的英语以文档形式记录每个步骤,并通过活动屏幕将文档与一个集成截屏相结合。传统的脚本记录工具所生产的脚本不易修改,与此不同的是,QuickTest Professional的关键词驱动方式能让您便捷地插入、修改、数据驱动(data-drive)和移除测试步骤。
QTP的一大特性:关键字驱动测试(keyword-driven testing)。通过“关键字驱动测试”,测试人员不需要“录制”测试脚本,而可以改成“设计”测试脚本。即:先将应用程序的GUI对象添加到QTP的对象仓库(Object Repository)中,然后针对每一个需要操作到的对象设计每个测试步骤。(一个很酷的特性,这样可以不必实际去操作应用程序,就可以编写出测试脚本,既节省了时间,而且还有一个更大的好处就是可以在应用程序还没有设计完成,或者由于出错无法正常执行的时候仍然可以编写我们的测试脚本。应用程序只需要有使用界面(UI),而不必实际运行,测试人员就可以开始建立测试脚本,为我们实施自动化测试赢得更充足的时间。。在实际的操作中我还发现,有些时候采用录制的方法无法捕获对应用程序的操作,此时改用关键字驱动测试却可以收到不错的效果。
高级测试人员可以在专家视图(Expert View)中查看和修改他们的测试,在专家视图中显示了由QuickTest Professional自动生成的基于行业标准的基本VBscrīpt语言。在专家视图中所做的任何改动将自动与关键词视图同步。
QuickTest Professional可以自动引入检查点来验证应用的属性和功能点,比如确认输出量或检查链接的有效性。在关键词视图的每一步骤中,活动屏幕可显示被测应用在该步骤中的确切状态。您还可以为任意对象加入几种检查点,仅仅在活动屏幕中点击该对象,就可以验证该组件行为是否达到了期望值。
您可以将测试数据输入数据表(Data Table),它拥有和Excel同样完善的功能特性,是一个集成的电子数据表格。您可以使用数据集并创建多种重复测试,无需编程就可以扩展测试案例的覆盖面。数据可以通过键入的方式输入或从数据库、数据表格或文本文档中导出。
一旦测试人员运行了一个脚本,TestFusion报告将显示测试运行各方面的信息,包括:高水平的结果纵览;一个可扩展的测试脚本树状视图(Tree View),其明确指出了应用错误的发生位置;被使用的测试数据;每个步骤的应用截屏,其中并标明了所有的差异;以及通过或未通过每个检查点的详细解释。您可以将TestFusion报告和QuickTest Professional结合,从而与整个QA和开发小组分享这些报告。
QuickTest Professional处理一些应用的新版本问题。如对象的更新:当一个被测应用发生变化时,比如把一个”Login”按钮被改名为”Sign in”,您可以在共享对象容器(Shared Object Repository)中做一次更新,接着此次更新将扩展到所有涉及这个对象的脚本。您可以将测试脚本公布给Mercury Quality Management,使其它的QA小组成员也可以使用您的测试脚本,从而减少了重复工作。
通过与Business Process Testing的整合,在一个基于Web的系统中,QuickTest Professional被用于实现自动化操作,使非技术型用户可以便捷地在一个完全的无脚本环境中也能够建立起测试。
优点:
        用最少的培训赋予整个小组创建成熟测试方案的能力。
        确保跨所有环境、数据包和业务流程的正确功能点。
        为开发人员全面记录和复制缺陷,使他们能更快地修复缺陷,满足最后上线期限。
        对不断变化的应用和环境展开便捷的回归测试。
        成为帮助整个机构实现高质量产品和服务、提高总收入和收益率的关键角色。
QTP测试步骤
流程
[制定测试计划]——>[创建测试脚本]——>[增强测试脚本功能]——>[运行测试]——>[分析测试结果] 大致五个步骤。
1、制定测试计划
自动测试的测试计划是根据被测项目的具体需求,以及所使用的测试工具而制定的,完全用于指导测试全工程。
QTP是一个功能测试工具,主要帮助测试人员完成软件的功能测试,,与其他测试工具一样,QTP不能完全取代测试人员的手工操作,但是在某个功能点上,使用QTP的确能够帮助测试人员做很多工作。在测试计划阶段,首先要做的就是分析被测应用的特点,决定应该对哪些功能点进行测试,可以考虑细化到具体页面或者具体控件。对于一个普通的应用程序来说,QTP应用在某些界面变化不大的回归测试中是非常有效的。
2、创建测试脚本
当测试人员浏览站点或在应用程序上操作的时候,QTP的自动录制机制能够将测试人员的每一个操作步骤及被操作的对象记录下来,自动生成测试脚本语句。与其他自动测试工具录制脚本有所不同的是,QTP除了以VBScript脚本语言的方式生成脚本语句以外,还将被操作的对象及相应的动作按照层次和顺序保存在一个基于表格的关键字视图中。比如,当测试人员单击一个链接,然后选择一个CheckBox或者提交一个表单,这样的操作流程都会被记录在关键字视图中。
3、增强测试脚本的功能
录制脚本只是实现创建或者设计脚本的第一步,基本的脚本录制完毕后,测试人员可以根据需要增加一些扩展功能,QTP允许测试人员通过在脚本中增加或更改测试步骤来修正或自定义测试流程,如增加多种类型的检查点功能,既可以让QTP检查一下在程序的某个特定位置或对话框中是否出现了需要的文字,还可以检查一个链接是否返回了正确的URL地址等,还可以通过参数化功能,使用多组不同的数据驱动整个测试过程。
4、运行测试
QTP从脚本的第一行开始执行语句,运行过程中会对设置的检查点进行验证,用实际数据代替参数值,并给出相应的输出结构信息。测试过程中测试人员还可以调试自己的脚本,直到脚本完全符合要求。
5、分析测试
运行结束后系统会自动生成一份详细完整的测试结果报告。根据报告查看具体的测试通过情况  
登录脚本设计
当时问题是这样的,“我的错误的用户名就没办法登录”,其实含义就是脚本最好能处理成功的用户名错误的用户名,那么这里涉及到脚本的设计。
目标如下(制定计划):
  1. 脚本需要处理成功和失败的用户的登陆
  2. 使用数据驱动
创建脚本
  第一步录制脚本如下
  systemutil.Run "iexplore.exe","http://192.168.0.212:8080/HPPIS"   ‘启动新的进程
Browser("黄埔区物价管理信息系统").Page("黄埔区物价管理信息系统蓝色").WebArea("登陆入口").Click
Browser("黄埔区物价管理信息系统").Page("黄埔区民生物价信息系统").WebEdit("userid").Set ("chenhz")
Browser("黄埔区物价管理信息系统").Page("黄埔区民生物价信息系统").WebEdit( "password").SetSecure("486876ebb6ca19da5f7aec98f90e1d1074e4")
Browser("黄埔区物价管理信息系统").Page("黄埔区民生物价信息系统").WebButton("WebButton").Click
 Browser("黄埔区物价管理信息系统").Page("黄埔区物价管理信息系统蓝色").Sync
browser("黄埔区物价管理信息系统").Close
以上为录制正确的用户名、密码,下边是录制错误的用户名、空密码
systemutil.Run "iexplore.exe","http://192.168.0.212:8080/HPPIS"
browser("黄埔区物价管理信息系统").Page("黄埔区物价管理信息系统蓝色").WebArea("登陆入口").Click
browser("黄埔区物价管理信息系统").Page("黄埔区民生物价信息系统").WebEdit("userid").Set("TEST")
browser("黄埔区物价管理信息系统").Page("黄埔区民生物价信息系统").WebButton("WebButton").Click
browser("黄埔区物价管理信息系统").Page("黄埔区物价管理信息系统蓝色").Sync
browser("黄埔区物价管理信息系统").close
出现错误提示“错误的用户名或者密码”  
增强测试脚本
一套强壮测试脚本需要驱动所有的测试数据,这样可以驱动所有的用例数据,QTP中提供了自带的datatable。
即使有数据驱动也要做一个处理:就是如何处理错误的用户名和正确的用户名,并且考虑如何处理?
  可以吧datatable看作存放测试用例的地方,里面放入测试数据,还放入测试的预期结果。
  我把datatable设计为三列
username        password        status
吕        xxxx xxxx        该用户不存在
第三列放入最后执行的结果,我设计的是空为成功登陆,如果有信息就用实际运行的结果和这一列对比了。
修改脚本如下:
 Dim istatus,i,countnum
countnum=DataTable.GetSheet("Global").GetRowCount
For i=1 to countnum
systemutil.Run "iexplore.exe","http://192.168.0.212:8080/HPPIS"
Browser("黄埔区物价管理信息系统").Page("黄埔区物价管理信息系统蓝色").WebArea("登陆入口").Click
Browser("黄埔区物价管理信息系统").Page("黄埔区民生物价信息系统").WebEdit("userid").Set DataTable("username", dtGlobalSheet)
Browser("黄埔区物价管理信息系统").Page("黄埔区民生物价信息系统").WebEdit( "password").SetSecure DataTable("passward", dtGlobalSheet)
Browser("黄埔区物价管理信息系统").Page("黄埔区民生物价信息系统").WebButton("WebButton").Click
istatus=DataTable("status",dtGlobalSheet)
msgbox istatus
if  istatus="" Then
        Browser("黄埔区物价管理信息系统").Close
End If
If istatus=" 用户名或者密码错误!"Then
        Browser("弹出窗口").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
        reporter.ReportEvent micFail,"登陆","登陆失败"(在test result中报告测试结果)
End If
DataTable.SetNextRow
Next
Browser("黄埔区物价管理信息系统").Close
  第三步,设置脚本运行过程
 打开 tests-〉settings
  设置RUN TAB页面下 Datatable iterations中 Run On all rows
  以上是整个脚本的设计工作,以上通过一个简单例子(登陆)把脚本的设计和软件的功能结合起来,达成脚本的设计效果。



© 本文为 duosiSCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

发新话题