使用 Rational Functional Tester 测试基于终端的应用程序.docx

上传人:b****3 文档编号:3898618 上传时间:2022-11-26 格式:DOCX 页数:20 大小:711.91KB
下载 相关 举报
使用 Rational Functional Tester 测试基于终端的应用程序.docx_第1页
第1页 / 共20页
使用 Rational Functional Tester 测试基于终端的应用程序.docx_第2页
第2页 / 共20页
使用 Rational Functional Tester 测试基于终端的应用程序.docx_第3页
第3页 / 共20页
使用 Rational Functional Tester 测试基于终端的应用程序.docx_第4页
第4页 / 共20页
使用 Rational Functional Tester 测试基于终端的应用程序.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

使用 Rational Functional Tester 测试基于终端的应用程序.docx

《使用 Rational Functional Tester 测试基于终端的应用程序.docx》由会员分享,可在线阅读,更多相关《使用 Rational Functional Tester 测试基于终端的应用程序.docx(20页珍藏版)》请在冰豆网上搜索。

使用 Rational Functional Tester 测试基于终端的应用程序.docx

使用RationalFunctionalTester测试基于终端的应用程序

使用RationalFunctionalTester测试基于终端的应用程序

级别:

初级

DennisSchultz(dennis.schultz@),销售工程师,IBM 

2008年1月10日

回归测试,即通过彻底测试代码从而确保变化不会产生意外的结果,是任何一种开发过程的重要部分之一。

但是许多测试环境忽视了基于终端的应用程序。

在本教程中,您将学习面向Terminal-BasedApplications的Rational®FunctionalTesterExtension将如何同其他RationalFunctionalTester协同工作,从而更加快速和方便的测试基于终端的应用程序。

概述

本教程的目的是将RationalFunctionalTesterExtensionforTerminal-BasedApplications介绍给初次使用者。

这个工具是什么?

为什么它的名字这么长呢?

RationalFunctionalTesterExtensionforTerminal-BasedApplications实际上是RationalFunctionalTester的一个补充和扩展,它使得后者能够在基于终端的应用程序上执行功能性回归测试。

这个产品名称非常详细和实用,但却并不琅琅上口。

为了简短起见,在本教程中我们通常将它称为Extension。

本教程将帮助您使用Extension针对基于终端的应用程序录制、编辑和执行您的第一次回归测试。

我们将遇到一些测试基于终端的应用程序方面的挑战,并且看到RationalFunctionalTester及其Extension具有多少迎接那些挑战的核心功能。

我们不可能将RationalFunctionalTester及其Extension所具有的所有功能毫无遗漏的讲述出来。

那样做将花费好几天的时间!

本教程的目的是在大约一小时的时间里使您初步掌握基本的要点。

在完成本教程之前,您将学习到:

∙如何针对一个基于终端的应用程序的例子,录制一个RationalFunctionalTester回归测试。

∙如何使用RationalFunctionalTester将您同应用程序的交互作用捕捉到一个Java脚本中。

∙ScriptAssureTechnology如何使您的测试在面对应用程序中的用户接口(UI)的变化面前,表现出很好的健壮性。

∙如何验证应用程序中的静态和动态内容。

读者群体

如果您已经是一位IBMRationalFunctionalTester的用户,并且您希望进一步学习有关Extension的知识,以便使用同一种工具测试基于终端的应用程序,那么本教程正是您所需要的。

如果您正在寻找一种自动完成基于终端的应用程序的功能性回归测试的方法,并且您从未使用过RationalFunctionalTester或者其他任何自动测试工具的话,那么您可能需要在学习本教程之前首先完成一些工作。

首先要学习developerWorks中的文章Automateregressiontests:

IBMRationalFunctionalTestermakesregressiontestingasnap或者文章HelloWorld:

学习如何使用RationalFunctionalTester创建健壮和可重用的自动功能测试。

这些文章将使您掌握学习本教程的基础知识。

如果您已经使用过Extension并且想要更加深入的理解它是如何工作和解决问题的,那么本教程可能并不适合您。

正如前文中所提到的,本教程是使您具备录制和编写脚本一个基于终端的应用程序的快速指南。

获得更多有关Rational的文章,请参见参考资料。

系统需求

完成本教程的学习,您需要执行以下几个步骤。

∙如果您尚未拥有RationalFunctionalTesterExtensionforTerminal-BasedApplications,您可以在此处下载RationalFunctionalTester的完全功能试用版本。

安装过程将在后面加以描述。

∙FunctionalTester支持两种脚本语言:

Java™语言和VisualBasic.NET.为了能够使用Java语言进行手工测试,FunctionalTester包括了Eclipse开源开发环境。

不需要额外的安装步骤。

如果您希望使用VisualBasic.NET脚本语言,那么您必须在安装IBMRationalFunctionalTester之前在您的系统上安装VisualStudio.NET。

VisualStudio.NET可以从Microsoft®购得。

除了RationalFunctionalTester及其Extension之外,您还需要一个HostSim.zip压缩包。

它将从一个基于主机的应用程序中对3270交通进行仿真

为什么使用扩展?

功能性回归测试

当我购买我的房屋的时候,后院的栅栏已经不成样子。

在某个夏天,我决定搭建一个新的栅栏。

经过几天的辛勤劳动,新的栅栏看起来非常棒。

第二天,我的一位邻居旅行归来,他问我:

“您家的电话还能用么?

”我立刻意识到发生了什么:

当我为新栅栏挖掘地面的时候,我不小心切断了邻居家的电话线。

我试图修复一个问题(旧的栅栏),但是我却在无意中制造出了另一个问题(邻居的电话不能用了)。

我之所以将这个故事,是为了向您描述回归的概念。

有时开发和维护软件是相似的。

当一个开发人员向系统中添加一个新的特性,或者修补一个漏洞的时候,很有可能将被修改的那部分代码正在被一个看起来毫不相关的特性所使用着。

我怎么会知道我的栅栏所使用的泥土和邻居家的电话线所使用的泥土是一回事呢?

如果我们在每次修改代码时只是测试这个新的特性,那么我们将不能确保所有正在被使用的功能仍然能够正常的工作。

在我所举的例子中,新的栅栏看起来非常棒,但是我并不知道,我的邻居却不能打电话了。

确保我们没有破坏现存功能的唯一方法,就是对系统的每一个修改和迭代重新进行测试。

这就是功能性回归测试。

挑战

功能性回归测试能够被手动的执行。

问题是,随着项目的不断进展,功能性测试的规模变得越来越大。

有时花费在手动运行测试上的时间可能会超过实际建造的时间!

面对这种情况时,测试团队需要做出艰难的选择。

他们必须找出一种方法来决定哪些测试并不十分重要,因而可以被忽略掉。

现在,回归测试走进了应用程序中那些未被测试的功能。

什么是RationalFunctionalTester?

RationalFunctionalTester是一种自动化的功能回归工具。

这意味着它通过计算机来执行测试,其速度远远高于手工操作。

这样做的关键是拥有一种捕获同应用程序进行的交互作用,并且使得那些交互作用在后期可以重复使用的方法。

您只需片刻时间就能够完成这些工作。

请注意,RationalFunctionalTester是一种功能性的回归工具。

RationalFunctionalTester并不为压力测试提供负载。

因此,您需要查看RationalPerformanceTester。

在本教程中,我们将看到如何使用Extension来测试应用程序的功能性,而非它的可量测性。

开始学习

安装概述

在学习本教程之前,您需要做如下准备:

1.安装RationalFunctionalTester。

2.安装JavaRuntimeEnvironment。

3.安装本教程的例子HostSimulator。

4.创建一个测试项目。

如果您已经安装了该软件,那么您可以跳过某些步骤。

但是,我们将依据下列板块,对每一个步骤进行讲解。

安装FunctionalTester

现在安装FunctionalTester。

您可以从developerWorks上获得RationalFunctionalTester的完全功能试用版本。

RationalFunctionalTester包中既包括RationalFunctionalTester产品(其中包括用于Terminal-BasedApplications的Extension),也包括RationalManualTester。

在本教程中,您只需要下载RationalFunctionalTester的这两个部分,但是您可能还想下载和评价RationalManualTester,看看它如何帮助您组织和改善您的手工测试。

使用启动器开始安装。

如果您尚未在您的机器上安装Rational产品,那么启动器将首先安装IBMInstallationManager,它将指导其余的安装工作。

在您被询问安装哪个包的屏幕上,请只选择RationalFunctionalTester。

完成RationalFunctionalTester的安装工作,然后重复安装过程,选择RationalFunctionalTesterExtensionforTerminal-BasedApplications。

请再次注意,如果您打算使用VisualBasic.NET作为脚本语言,那么您必须在安装FunctionalTester之前,安装VisualStudio.NET。

在本教程中,您将使用RationalFunctionalTester的Java脚本语言变量,但是Terminal-BasedApplicationExtension在VisualBasic.NET脚本和Java脚本中都可以工作的很好。

如果您使用VisualStudio的话,某些菜单路径将会有细微的不同。

有趣的是,RationalFunctionalTester在两种语言中所生成的代码却相当的一致。

唯一的不同在于,Java是一种基于分号的语言,所以每一条Java命令都是以分号结尾的,但是VisualBasic.NET命令却不是这样。

安装JavaRuntimeEnvironment

您将会看到,FunctionalTester创建日志文件来通知您在测试执行期间哪些内容被发现。

默认情况下,这些日志文件是HTML文档。

然而,为了提供额外的信息,FunctionalTester将启动一个被称作比较仪的应用程序,它强调期望的结果和实际结果之间的任何不同。

为了让FunctionalTester运行该比较仪,您必须安装和配置JavaRuntimeEnvironment。

JavaRuntimeEnvironment已经被安装到我的机器上了么?

在您的机器上很有可能已经具备了JavaRuntimeEnvironment(JRE)。

如果是这样的话,那么您将在控制面板中看到一个Java配置图标。

选择Start>Settings>ControlPanel。

如果您在应用程序列表中看到一个JavaPlug-in选项,那么说明JRE已经被安装到您的机器上了。

您就不需要安装第二个JRE了。

安装JavaRuntimeEnvironment

JavaRuntimeEnvironment可以从Sun中下载获得。

为您的环境选择适当的链接。

安装HostSimulator

为一个基于终端的应用程序测试工具书写一个评测指导,是一项巨大的挑战:

打包一个例子应用程序非常困难。

要在简化过程的同时提供最有价值的内容,在本教程中我们提供了一个HostSimulator以供下载。

安装它,需要执行以下步骤:

1.解压HostSim.zip文件到任何目录下。

2.双击HostSim.bat文件。

启动一个Windows命令提示行窗口,继而启动两个小型的Java应用程序。

每一个应用程序方针一个主机应用程序,一个在端口23上,另一个在端口24上。

您能够在本教程的余下部分操作期间,将这两个窗口最小化。

3.停止仿真器,只需关闭它们的Java控制台窗口。

这个HostSimulator非常单纯。

它提供了一个3270E数据流作为测试之下的应用程序。

请您牢记这个HostSimulator并不是一个真正的应用程序。

您将发现它会在屏幕之间发展来响应您敲入的命令。

,但是这些屏幕并不是静态的:

仿真器并不实际分析您通过键盘输入的内容。

在本教程所规划的路径中它将很好的工作,但是您不可以背离这条路径。

一旦您完成了本教程的学习,您将为您自己的真实的基于终端的应用程序积累了经验。

请记住,这个HostSimulator是仿真一个主机的唯一的必要条件。

在本教程的结尾处,在整理一节中,将提供把它从您的系统中移除或者取消的用法说明。

您不再需要HostSimulator来测试一个真实的基于终端的应用程序。

创建一个测试项目

测试项目就是FunctionalTester将要保持所有脚本以及期望的和实际的结果的位置。

项目的格式通过您所使用的环境被指定——要么是面向Java脚本的Eclipse,要么是面向VisualBasic.NET脚本的VisualStudio.NET。

再一次强调在本教程中您将使用Java脚本,但是您当然可以通过FunctionalTesterVisualBasic.NET脚本使用Extension。

1.如果FunctionalTester尚未运行,则启动它。

2.如果Welcome窗口处于打开状态,则关闭它。

3.您现在位于FunctionalTester的主编辑环境中。

4.选择File>New>FunctionalTestProject创建一个新的项目。

5.为该项目取名为RFTExtensionTutorial并且点击Finish创建您的项目。

6.如果您使用的是FunctionalTester的评测版本,那么将会出现一个窗口,提示您有效期还有多少天。

点击OK确认该信息。

查看终端竞争者

首先,我们从您将要测试的应用程序入手。

这是您有机会在实际录制一个脚本之前,了解Extension的终端竞争者。

RationalFunctionalTesterExtensionforTerminal-BasedApplications伴随着它自己的终端竞争者。

因为Extension的竞争者仅仅同RationalFunctionalTester集成在一起,确保同您的主机应用程序的同步和数据识别,所以并不存在同第三方竞争者不兼容的危险或者版本不兼容的风险。

如果您想的话,仍然能够使用任何一款第三方竞争者来进行您的手工测试。

您仅仅是使用Extension竞争者来录制您的脚本,而FunctionalTester将在回放那些脚本的时候使用它。

1.在工具栏上点击LaunchtheExtensionforTerminal-basedApplications。

这样做就启用了Extension的终端竞争者。

屏幕的上半部分控制竞争者同应用程序相连接的方式。

您在屏幕上设置所需要的连接属性,连接您的应用程序主机。

在下述步骤中,您将连接到仿真主机。

2.您仿真的主机应用程序正在您的本地计算机上运行,即localhost。

在Host空白域中输入localhost。

3.竞争者为使用3270、3270加强版和5250协议的测试应用程序提供支持。

仿真的应用程序使用3270加强版,所以在TerminalType下来菜单中选择TN3270E。

4.点击工具栏上的Connect。

您的屏幕应当如下所示。

如果您遇到一个CommunicationError窗口的话,有可能是因为HostSimulator并没有运行。

回到HostSim文件夹并且双击HostSim.bat。

如果竞争者表现为连接但是屏幕却是空白的,那么有可能您正在试图使用3270协议而不是3270E协议来连接。

回到配置屏幕,点击Disconnect。

然后将其改变为TN3270E并且重新连接。

请注意竞争者底部的两行按钮。

这些是用来表现PF键以及其他终端上面的特殊键的软键盘。

您将在后面的录制期间使用到这些键。

在测试下操纵应用程序

我们首先熟悉一下您即将测试的应用软件。

如果您执行了上一小节中的所有步骤,那么您应当在终端竞争者的欢迎屏幕上看到DEMOnet。

这就是我们的出发点。

1.在终端竞争者的窗口中键入cicsa。

您应当在选择提示后的屏幕上看到您所键入的字符。

如果看不到的话,请您确认终端竞争者没有问题。

Cicsa是您想要使用的事务服务器的名称。

要调用命令,既可以在键盘上敲击回车键,也可以敲击屏幕下方键盘上的回车键。

2.在下一幅屏幕上,输入用户IDdnet256。

按下Tab键两次。

输入secret作为密码。

按下回车键。

3.现在您已经成功登录CICS。

在下一幅屏幕上,输入RCTD。

这是一个共享贸易的应用程序的一个演示系统的事务ID。

按下回车键。

4.您来到ShareTradingManager:

Logon屏幕。

屏幕ID以蓝颜色在屏幕的右上角被显示出来,它应该是TRADER.T001。

在这个屏幕上,您需要为ShareTrading应用程序输入用户名和密码。

输入jan,按下Tab键,然后输入janpwd作为密码。

然后再按下回车键。

5.在下一幅屏幕TRADER.T002上,选择您希望交易的公司股票。

输入号码1选择CaseyImport/Export并且按下回车键。

6.在下一幅屏幕TRADER.T003上,将显示主选项菜单。

输入1并且按下回车键,发布一个实时的引用。

7.在下一幅屏幕TRADER.T004上,将显示若干条信息。

您将多次使用这幅屏幕来测试应用程序的功能性。

请注意Jan没有持有这家公司的股份。

这将是一条很好的基线——在您开始测试场景时确保没有持有这家公司的股份。

现在,点击屏幕上的PF3按钮回到主选项菜单。

8.下一步,您想要买进100股,并且检验定购合适。

选项号码2将把您带到相应的屏幕上。

输入2并且按下回车键。

9.现在,您应当看到屏幕TRADER.T005,即Buy屏幕。

输入100并且按下回车键。

10.您将立即回到主选项菜单。

请注意屏幕下方的消息指示出请求已经被成功完成。

这有可能是您将要检验的另一件事情——请求适当的被完成。

您还希望确保您现在所持有的股份反映出新近的购买份额。

您能够再次使用Real-timeQuote来检验您所持有的股份已经增长。

主菜单选项号码1将把您带到能够获得新的引用的屏幕上,所以输入1并且按下回车键。

11.请注意,实时引用屏幕上持有股份的数量现在是100。

12.点击Disconnect,从仿真主机上断开。

13.您能够将所有使用过的连接参数保存到一个连接配置文件中。

这不仅保存了您每次运行测试时完成设置的努力;也为团队中的其他测试人员提供了一个兼容的连接规范。

要保存当前的连接设置,请选择File>Save。

为这个连接配置文件取一个名字,例如ShareTraderV1.conn。

(请注意SaveAs窗口会自动添加.conn扩展名。

14.关闭终端竞争者。

您刚刚手动测试了这个应用程序的买入功能。

此处您处理了一个相当简单的场景,但是您能够看到:

如果您需要手工重新运行这个测试——以及成千上万的额外的回归测试——每次当开发人员对应用程序进行修改时,您将很快超过两次建造之间的时限。

您是否已经准备好一个能够测试同样功能性的自动脚本了呢?

那么就让我们开始做吧!

录制您的第一个脚本

要创建一个自动脚本,您需要做的就是将FunctionalTester放置到录制模式下,重复先前进行的手工操作。

唯一的不同是,您将在这个过程中插入一些确认点。

1.在FunctionalTester工具条中点击RecordaFunctionalTestScript。

它看起来像是一个红色圆圈。

您将被提示为录制的脚本输入一个名称。

请将其命名为Buy100SharesCasey。

(请注意,脚本的名称实际上就是FunctionalTester中Java类的名称。

因此,它们必须符合Java类的名称规则。

如果您试图违反这些规则的话,将会弹出一个警告信息窗口。

2.点击Finish。

3.FunctionalTester最小化并且开始录制您所执行的任何对象交互作用。

请记住!

您现在所进行的任何操作都将被录制到您的脚本中。

虽然您可以编辑任何同脚本无关的交互作用,但是请尽量避免这样做,至少第一次录制时是这样。

FunctionalTester为您显示了一个小型的Recording工具条。

那里提供许多在录制过程期间您想要使用的工具:

例如,您能够暂停录制、插入命令和呼叫其他脚本,以及插入确认点。

本教程将不涵盖这些工具。

只是提醒您在录制期间,不需要编写任何脚本代码,您就能够通过向导和窗口完成许多事情。

4.在录制期间,第一件事情就是启动终端竞争者,并且连接到我们的仿真主机。

要启动终端竞争者,请点击Recording工具栏中的StartApplication。

5.在ApplicationName下拉菜单中,选择ExtensionforTerminalApplications并且点击OK。

6.在终端竞争者的Host域中点击。

输入localhost。

7.使用Terminal类型复选框选择TN3270E。

8.在号码23后面的Port域中点击。

按下Backspace两次,抹去23,然后再次输入23。

(这样做看起来很奇怪,其原因将在后面被揭晓。

9.在工具栏上点击Connect。

10.输入cicsa并且按下回车键。

11.输入用户IDdnet256。

按下Tab键两次。

输入secret作为密码。

按下回车键。

12.输入RCTD并且按下回车键。

13.输入jan,按下Tab键,然后输入janpwd作为密码。

按下回车键。

14.此时,建议您向正在被录制的脚本中插入注释。

注释并不对脚本的回放产生影响,但是它去能够极大的提高脚本的可读性。

基于终端的脚本有时会非常难以阅读,这是因为太多的交互作用通过键盘完成。

在Recording工具栏中点击InsertScriptSupportCommands按钮。

点击Comment标签并输入CompanySelectionScreen作为注释。

这指示出您在脚本中做了什么。

点击InsertCode然后在ExittheScriptSupportFunctions窗口中点击Close。

15.按下Alt-Ta

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1