自动测试的优点
如果您曾经手动测试过应用程序或网站,则会了解手动测试的缺点。手动测试既耗时又单调,需要投入大量的人力资源。最糟糕的是,由于时间限制,经常导致无法在应用程序发布前彻底地手动测试所有功能。这会使您担心是否还存在未检测到的严重错误。
使用 QuickTest 进行自动测试,由于极大地加快了测试流程,从而解决了这些问题。您可以创建用于检查应用程序或网站所有方面的测试,然后在每次网站或应用程序更改时运行这些测试即可。
运行测试时,QuickTest 将模拟实际用户的操作,如在网页或应用程序窗口中移动鼠标光标、单击图形用户界面 (GUI) 对象和输入键盘输入;但是,QuickTest 的操作比任何实际用户都快。
自动测试的优点
|
快速
|
QuickTest 运行测试比实际用户快得多。
|
可靠
|
测试每次运行时都会准确执行相同的操作,因此消除了人为的错误。
|
可重复
|
您可以通过重复执行相同的操作来测试网站或应用程序的反应。
|
可编程
|
您可以编写复杂的测试来找出隐藏的信息。
|
全面
|
您可以建立一套测试来测试网站或应用程序的所有功能。
|
可重用
|
您可以在不同版本的网站或应用程序上重复使用测试,甚至在用户界面更改的情况下也不例外。
|
测试流程
QuickTest 测试流程包括 7 个主要阶段:
-
准备录制
在录制测试前,请确认应用程序和 QuickTest 已按测试要求设置。
请确保应用程序显示要录制的元素,例如,工具栏或特殊窗口窗格;还要确保应用程序选项已按测试目标设置。
为了确保 QuickTest 可以正确地录制和存储信息,您还应该查看“测试设置”对话框(“测试”>“设置”)和“选项”对话框(“工具”>“选项”)中的设置。例如,应该确认测试已设置为使用适当的对象库模式。
-
录制应用程序上的会话
浏览应用程序或网站时,QuickTest 会将您执行的每个步骤图形化显示为关键字视图中的一行。步骤是任何引起应用程序发生更改的用户操作,例如单击链接或图像,或者向表单输入数据。
-
增强测试
- 通过在测试中插入检查点可以搜索页面、对象或文本字符串中的特定值,这有助于确定应用程序或网站是否正常运行。
- 通过扩大测试范围(用参数替换固定值),可以检查应用程序如何使用多组数据来执行相同的操作。
- 通过添加逻辑和条件语句或循环语句,可以向测试添加复杂的检查。
-
调试测试
调试测试,确保测试可以流畅而无中断地运行。
-
运行测试
运行测试,检查应用程序或网站的行为。在运行时,QuickTest 将打开应用程序,或者连接到网站,并执行测试中的每个步骤。
-
分析测试结果
检查测试结果以便确定应用程序中的缺陷。
-
报告缺陷
如果已安装了 Quality Center,则可以将发现的缺陷报告给数据库。Quality Center 是 Mercury Interactive 的软件测试管理工具。
QuickTest 窗口
在开始创建测试前,应首先熟悉 QuickTest 的主窗口。
下图显示了录制测试后将出现的 QuickTest 窗口,其中显示了除“调试查看器”窗格以外的所有工具栏和窗格:
QuickTest 窗口包含下列主要元素:
-
标题栏 - 显示当前打开测试的名称。
-
菜单栏 - 显示 QuickTest 命令菜单。
-
文件工具栏 - 包含若干按钮,可协助您管理测试。
-
测试工具栏 - 包含若干按钮,可协助您完成测试流程。
-
调试工具栏 - 包含若干按钮,可协助您调试测试。
注意: 第一次打开 QuickTest 时,不会显示调试工具栏。通过选择“视图”>“工具栏”>“调试”,可以显示调试工具栏。注意,本教程不描述如何调试测试。有关详细信息,请参阅《QuickTest Professional 用户指南》。
-
操作工具栏 - 包含若干按钮和一个操作列表,用于查看单项操作或整个测试流的详细信息。
注意: 操作工具栏只在关键字视图中显示。该工具栏在第一次打开 QuickTest 时不会显示。通过选择“视图”>“工具栏”>“操作”,可以显示操作工具栏。如果在测试中插入可重用操作或外部操作,操作工具栏将自动显示在关键字视图中。有关详细信息,请参阅《QuickTest Professional 用户指南》。
-
测试窗格 - 包含“关键字视图”和“专家视图”选项卡。
-
Active Screen - 当您在录制会话过程中执行某个特定步骤时,提供出现的应用程序的快照。
-
数据表 - 协助您对测试进行参数化。
-
“调试查看器”窗格 - 协助您对测试进行调试。“调试查看器”窗格包含“监视表达式”、“变量”和“命令”选项卡。(第一次打开 QuickTest 时,不会显示“调试查看器”窗格。通过选择“视图”>“调试查看器”,可以显示“调试查看器”。)
-
状态栏 - 显示 QuickTest 应用程序的状态。
文件工具栏和测试工具栏中所用的按钮在后续课程中进行了详细描述。调试工具栏中所用的按钮在《QuickTest Professional 用户指南》的“调试测试”一章中进行了详细描述。操作工具栏在将测试拆分为多操作.中进行了描述。
注意,还可以使用快捷键执行许多菜单命令。有关详细信息,请参阅《QuickTest Professional 用户指南》的“QuickTest 概述”一章。
既然已经熟悉了 QuickTest 主窗口,请再花些时间浏览它的组件。
录制测试
在本部分中,将录制在 Mercury Tours 网站上预定从 New York 到 San Francisco 航班的进程。
-
启动 QuickTest
并打开新测试。
- 如果 QuickTest 尚未打开,请选择“开始”>“程序”>“QuickTest Professional”>“QuickTest Professional”。
在“加载项管理器”中,确认 Web 加载项处于选定状态,并清除所有其他加载项。单击“确定”,关闭“加载项管理器”,并打开 QuickTest。
注意: QuickTest 加载选定的加载项时,将显示 QuickTest 初始屏幕。这可能需要几秒钟的时间。
如果“欢迎使用”窗口打开,请单击“空白测试”。
否则,选择“文件”>“新建”,或单击“新建”按钮 。
将打开空白测试。
- 如果 QuickTest 已打开,请选择“帮助”>“关于 QuickTest Professional”检查加载的加载项。如果未加载 Web 加载项,则必须退出并重新启动 QuickTest。当“加载项管理器”打开时,选择 Web 加载项,并清除所有其他加载项。
选择“文件”>“新建”,或单击“新建”按钮 。
将打开空白测试。
注意: 如果启动 QuickTest 时未打开“加载项管理器”,请选择“工具”>“选项”。在“常规”选项卡中,选择“启动时显示加载项管理器”。退出并重新启动 QuickTest 后,将打开“加载项管理器”。
-
开始在 Mercury Tours 网站上进行录制。
选择“测试”>“录制”,或单击“录制”按钮 。将打开“录制和运行设置”对话框。
- 在“Web”选项卡中,选择“录制或运行会话开始时打开以下浏览器”。
从“类型”列表中选择一种浏览器,并确认“地址”框中的 URL 为 http://newtours.mercuryinteractive.com。
确认“当测试关闭时关闭浏览器”和“不在已经打开的浏览器上录制和运行”处于选定状态。
- 在“Windows 应用程序”选项卡中,确认“在以下应用程序(会话开始时打开的)上录制并运行”处于选定状态,且未列出任何应用程序。
该设置可防止录制会话期间无意中录制在各种 Windows 应用程序(例如电子邮件)上执行的操作。
单击“确定”。
QuickTest 开始录制,且浏览器将打开 Mercury Tours 网站。
-
登录到 Mercury Tours 网站。
在“User Name”和“Password”框中,键入在 Mercury Tours 中注册的用户名和密码。
单击“Sign-In”。
将打开“Flight Finder”页。
-
输入航班详细信息。
更改下列选项:
- Departing From:New York
- On:Dec 29
- Arriving In:San Francisco
- Returning:Dec 31
- Service Class:Business class
单击“CONTINUE”,接受其他默认选项。将打开“Select Flight”页。
注意:
选择日期时,必须单击下拉列表,滚动到任意未显示的项,然后进行选择。这是因为仅当列表中的值发生变化时,QuickTest 才会录制步骤。如果接受当前显示的日期,本教程将无法正确完成。
如果在录制该测试时输入日期,请勿单击“View Calendar”按钮(该按钮会打开一个基于 Java 的日历)。测试不会录制使用该日历选择的日期,因为本教程中未加载 Java 加载项(Java 加载项是一种可单独购买的外部加载项)。
要检查加载了哪些加载项,请单击“帮助”>“关于 QuickTest Professional”。要更改可用于您测试的加载项,必须关闭并重新打开 QuickTest Professional。
-
选择航班。
单击“CONTINUE”,接受默认的航班选项。将打开“Book a Flight”页。
-
输入所需的乘客信息和购票信息。
在“Passengers”和“Credit Card”部分,输入所需信息(带有红色文本标签的字段)。(可以输入虚构的信息。)
在“Billing Address”部分,选择“Ticketless Travel”。
在该页底部,单击“SECURE PURCHASE”。将打开“Flight Confirmation”页。
-
复查并完成预定。
单击“BACK TO HOME”。将打开 Mercury Tours 主页。
-
停止录制。
在 QuickTest 中,单击“测试”工具栏上的“停止” ,停止录制进程。
现在您已预定了一张虚构的从 New York 飞往 San Francisco 航班的商务舱机票。QuickTest 录制了从点击“录制”按钮直到点击“停止”按钮期间的 Web 浏览器的操作。
-
保存测试。
选择“文件”>“保存”,或单击“保存”按钮 。将打开“保存”对话框,且显示为“Tests”文件夹。
创建名为 Tutorial 的文件夹,将其选中,然后单击“打开”。
在“文件名”字段中键入 Recording。
确认“保存 Active Screen 文件”处于选定状态。
单击“保存”。测试名 (Recording) 将显示在主 QuickTest 窗口中的标题栏中。
在关键字视图中分析测试
录制测试时,QuickTest 在关键字视图中生成了表示在 Web 浏览器中执行的每个操作的步骤。
关键字视图中的各列显示各个步骤的不同信息,如下所示:
-
项 - 以基于图标的层次树形式显示每个步骤(测试对象、实用程序对象、函数调用或语句)的项。
-
操作 - 要在项上执行的操作,例如,Click 或 Select。
-
值 - 选定操作的参数值,例如,单击图像时要使用的鼠标按钮。
-
分配 - 将值分配给变量,或从变量分配值,以便稍后可以在测试中使用该值。
-
注释 - 要添加的关于步骤的任何文本信息,例如,返回测试第一步中使用的页面。
-
文档 - 描述步骤所执行操作的自动文档,用易于理解的句子编写,例如,单击“findFlights”图像。
注意: 您可以根据需要隐藏或显示单个列,方法是右键单击关键字视图中的列标题,然后从列表中选择列名。
在关键字视图的“项”列中,可以单击分支箭头展开或折叠每个网页下的步骤。可以选择“视图”>“全部展开”展开整个测试。
展开测试后,看上去应类似于下图:
对于在某个对象上执行的每一步骤,QuickTest 都会在关键字视图中显示一行,包括图标和该步骤的详细信息。例如,以下步骤指示 QuickTest 在 Mercury Tours 网站的“Select a Flight:Mercury”页上的特定位置单击“reserveFlights”图像。
下表提供了以上关键字视图的测试中显示的前几个步骤的解释。
步骤
|
描述
|
|
Action1 是操作名。
|
|
浏览器调用 Welcome:Mercury Tours 网站。
|
|
Welcome:Mercury Tours 是网页的名称。
|
|
userName 是编辑框的名称。Set 是在编辑框上执行的方法。mercury 是编辑框的值。
|
|
password 是编辑框的名称。SetSecure 是在编辑框上执行的加密方法。4082820183afe512e8bc91c1f7222dbd
是 password 的加密值。
|
|
Sign-In 是图像链接的名称。Click 是在图像上执行的方法。2, 2 是图像单击位置的 x 坐标和 y 坐标。
|
用几分钟的时间详细检查关键字视图,跟踪录制测试时执行的步骤。
运行测试
在本课中,将运行在录制测试中录制的测试。
-
启动 QuickTest 并打开 Recording 测试。
如果 QuickTest 尚未打开,请选择“开始”>“程序”>“QuickTest Professional”>“QuickTest Professional”。
- 如果“欢迎使用”窗口打开,请单击“打开现有测试”。
- 如果 QuickTest 打开时未显示“欢迎使用”窗口,请选择“文件”>“打开”,或单击“打开”按钮 。
在“打开测试”对话框中,找到并选择 Recording 测试,然后单击“打开”。
-
确认已将所有图像都保存到测试结果中。
通过 QuickTest 可以确定何时将图像保存到测试结果中。在本课中,所有图像均应保存到测试结果中。
选择“工具”>“选项”,然后选择“运行”选项卡。在“将步骤屏幕捕获内容保存到测试结果中”选项中,请选择“总是”。
单击“确定”关闭“选项”对话框。
-
开始运行测试。
单击“运行” ,或选择“测试”>“运行”。将打开“运行”对话框。
选择“新建运行结果文件夹”。接受默认的结果文件夹名。
单击“确定”关闭“运行”对话框。
当 QuickTest 打开浏览器并开始运行测试时,请仔细观察。在浏览器中,可以看到 QuickTest 执行您录制的每个步骤,关键字视图左边距中的黄色箭头指示 QuickTest 正在运行的步骤。
分析测试结果
当 QuickTest 完成运行测试时,将打开“测试结果”窗口。
最初,“测试结果”窗口包含两个窗格,用于显示测试运行的主要元素。
- 左侧窗格显示结果树,即一种描述测试运行时所执行步骤的基于图标的视图。结果树是根据测试运行期间所访问的网页进行组织的,可以展开 (+) 以查看每个步骤。测试运行期间执行的步骤由树中的图标表示。可以指示 QuickTest 多次运行测试或操作,在每次运行时使用不同的数据集。每次测试运行称为一次循环,且对每次循环都进行编号。(您运行的测试仅有一次循环。)
- 右侧窗格显示测试结果详细信息。循环概要表显示通过的和失败的循环。状态概要表显示在测试期间通过的和失败的检查点数或报告数以及出现的警告数。
您的测试运行成功了,这是因为 QuickTest 能够像最初录制测试那样浏览 Mercury Tours 站点。在本部分中,将检查运行测试时 QuickTest 执行的步骤,以及执行某个步骤后应用程序窗口的显示方式。
-
查看特定步骤的测试结果。
在结果树中,单击 (+) 展开“Test Recording Summary”>
“Recording Iteration 1 (Row 1)”>“Action1 Summary”>“Welcome Mercury Tours”>“Find a Flight”。
突出显示结果树中的“"fromPort":Select "New York"”。
“测试结果”窗口现在包含三个窗格,分别显示:
- 突出显示了一个步骤的结果树
- 突出显示的步骤的测试结果详细信息
- Active Screen,用于显示在其上执行该步骤的网页的屏幕捕获内容。
当在结果树中单击某页时,QuickTest 将在应用程序视图中显示相应页。当在结果树中单击某个步骤(在对象上执行的操作)时,将在应用程序视图中突出显示相应的对象。在该示例中,突出显示“Departing From”文本框。
-
关闭“测试结果”窗口。
选择“文件”>“退出”。
现在,您已成功创建并运行了在 Mercury Tours 网站上预定从 New York 飞往 San Francisco 航班的测试。