一、About Understanding the Test Object Model
关于了解测试对象模型
QuickTest tests your dynamically changing application by learning and
identifying test objects and their expected properties and values. During
recording QuickTest analyzes each object in your application much the same
way that a person would look at a photograph and remember its details.
QuickTest 通过记住和标识测试对象及其预期的属性和属性值,对动态更改的应用
程序进行测试。在录制期间,QuickTest 对应用程序中每个对象进行分析的方式与一个
人看一张图片然后记住其细节的方式大致相同。
In the following narrative you will be introduced to the concepts
related to the test object model and how QuickTest uses the information it
gathers to test your application.
在以下叙述中,将向您介绍与测试模型相关的概念,以及 QuickTest 如何使用它
所收集的信息来测试应用程序。
1、Understanding How QuickTest Learns Objects While Recording
了解 QuickTest 如何在录制时记住对象
QuickTest learns objects just as you would.
QuickTest 像您那样记住对象。
For example, suppose as part of an experiment, Jonny is told that he
will be shown a photograph of a picnic scene for a few seconds during which
someone will point out one item in the picture. Jonny is told that he will
be expected to identify that item again in identical or similar pictures one
week from today.
例如,假定作为实验的一部分,Jonny 被通知将向他展示一张野餐场景的图片,时
间为几秒钟,在此期间,将会有人指出图片中的一个项目。自今天起一周后,Jonny 需
要在相同或相似的图片中再次识别出该项目。
Before he is shown the photograph, Jonny begins preparing himself for
the test by thinking about which characteristics he wants to learn about the
item that the tester indicates. Obviously, he will automatically note
whether it is a person, inanimate object, animal, or plant. Then, if it is a
person, he will try to commit to memory the gender, skin color, and age. If
it is an animal, he will try to remember the type of animal, its color, and
so forth.
在看到图片之前,Jonny 自己开始为测试做准备,考虑对于测试者指出的项目,需
要记住该项目的哪些特征。显然,他将自动记住该项目是人、无生命物体、动物还是植
物。如果是人,他将尝试记住其性别、肤色和年龄。如果是动物,他将尝试记住其类型
、颜色等。
The tester shows the scene to Jonny and points out one of three children
sitting on a picnic blanket. Jonny notes that it is a caucasian girl about 8
years old. In looking at the rest of the picture, however, he realizes that
one of the other children in the picture could also fit that description. In
addition to learning his planned list of characteristics, he also notes that
the girl he is supposed to identify has long, brown hair.
测试者向 Jonny 展示场景,并从三个坐在野餐毯上的孩子中指定一个。Jonny 注
意到这是一个 8 岁左右的白种女孩。但在查看图片中的其他内容时,他意识到图片中
的另一个孩子也符合这种描述。除了记住计划的特征列表以外,Jonny 还记下自己应该
识别出的这个女孩留着褐色的长发。
Now that only one person in the picture fits the characteristics he
learned, he is fairly sure that he will be able to identify the girl again,
even if the scene the tester shows him next week is slightly different.
注意:图片中只有一个人符合他记住的特征,所以,即使测试者下周展示的场景稍
有不同,他也相当肯定能够再次识别出这个女孩。
Since he still has a few moments left to look at the picture, he
attempts to notice other, more subtle differences between the child he is
supposed to remember and the others in the picture—just in case.
由于还剩下一点看图片的时间,因此,只是为了以防万一,Jonny 试着注意自己应
该记住的这个孩子与图片中其他孩子之间更细微的差别。
If the two similar children in the picture appeared to be identical
twins, Jonny might also take note of some less permanent feature of the
child, such as the child's position on the picnic blanket. That would enable
him to identify the child if he were shown another picture in which the
children were sitting on the blanket in the same order.
如果图片中两个相似的孩子看上去像一对双胞胎,那么 Jonny 还会记下这个孩子
的一些不那么永久的特征,如这个孩子在野餐毯上的位置。这样,如果向他展示的另一
张图片中,这些孩子仍按相同的顺序坐在毯子上,他也能够识别出这个孩子。
QuickTest uses a very similar method when it learns objects during the
recording process.
QuickTest 采用了极为类似的方法,以便在录制过程中记住对象。
First, it "looks" at the object on which you are recording and stores it
as a test object, determining in which test object class it fits. Just as
Jonny immediately checked whether the item was a person, animal, plant, or
thing. QuickTest might classify the test object as a standard Windows dialog
box (Dialog), a Web button (WebButton), or a Visual Basic scroll bar object
(VbScrollBar), for example.
首先,它将“观看”您要录制的对象,然后将其作为测试对象进行存储,确定该对
象符合的测试对象类。正如 Jonny 会立即检查项目是人、动物、植物还是东西,
QuickTest 也会对测试对象进行分类,例如,标准 Windows 对话框 (Dialog)、Web 按
钮 (WebButton) 或 Visual Basic 滚动条对象 (VbScrollBar)。
Then, for each test object class, QuickTest has a list of mandatory
properties that it always learns; similar to the list of characteristics
that Jonny planned to learn before seeing the picture. When you record on an
object, QuickTest always learns these default property values, and then
"looks" at the rest of the objects on the page, dialog box, or other parent
object to check whether this description is enough to uniquely identify the
object. If it is not, QuickTest adds assistive properties, one by one, to
the description, until it has compiled a unique description; like when Jonny
added the hair length and color characteristics to his list. If no assistive
properties are available, or if those available are not sufficient to create
a unique description, QuickTest adds a special ordinal identifier, such as
the object's location on the page or in the source code, to create a unique
description, just as Jonny would have remembered the child's position on the
picnic blanket if two of the children in the picture had been identical
twins.
然后,对于每个测试对象类,QuickTest 都有一个始终要记住的强制属性的列表,
类似于 Jonny 在看到图片之前计划要记住的特征的列表。当您录制对象时,QuickTest
始终记住这些默认的属性值,然后“视图”页面上其余的对象、对话框或其他父对象,
以检查该描述是否足以唯一标识该对象。如果不足以进行唯一标识,QuickTest将向该
描述中逐项添加辅助属性,直到经过编译成为唯一的描述为止,就像 Jonny 向他的列
表中添加头发的长度和颜色特征一样。如果没有可用的辅助属性,或者那些可用的辅助
属性仍不足够创建一个唯一的描述,QuickTest 将添加一个特殊的顺序标识符(例如页
面上或源代码中对象的位置)以创建唯一的描述,正如图片中的两个孩子是一对双胞胎
时,Jonny 要记注孩子在野餐毯上的位置一样。