预订演示
前页 后页

测试点

测试点提供了一种方案,通过该方案可以从模型中获取控制对象行为的约束和规则,并将其应用于一个或多个应用程序。像这样的方案提供的优点是对代码更改的容忍度——从函数中添加和减去行对管理它的约束没有影响。另一个优点是行为规则的改变不需要对源代码进行相应的改变;意味着什么都不需要重新编译!

此外,使用单个测试域验证多个应用程序的能力是一件简单的事情,而不是繁重的事情。测试域既是逻辑模型又是关系模型;类中的约束可以用测试截口模型口进行划分。这些可以使用连接器简单地聚合到测试集和测试套件中。由于测试域与代码库的解耦,可以简单地选择按钮来正常运行程序,或者运行特定的测试域运行它。该系统还提供了实际的好处,因为根本不需要任何仪器。在运行期间,测试结果会在程序运行时实时显示在报告窗口中。这些结果可以保留,并随时在“测试细节”对话框中或使用Enterprise Architect的文档特征进行审查。

The image below shows the rich tapestry of features available in Enterprise Architect's test domain model, a dynamic medium providing runtime visualization of test case execution

特征

特征

细节

也见

测试点组合

测试点组合是使用 Testpoints 窗口执行的。 Testpoints 窗口是上下文相关的,并在浏览器窗口或图表中显示所选元素的测试域。选择单个类将显示类结构。对具有现有约束的类和方法显示A “铅笔”图标。

当您选择测试截口、Set 或 Suite测试时,Testpoints 窗口会显示整个域结构,包括构成域的所有类。注记:您可以使用右侧的“导航”窗格导航域层次结构.测试点使用类成员的变量名组成表达式。智能感知快捷方式 Ctrl+Space 可在编辑器中找到这些内容。计算结果为True的表达式被视为通过。返回False意味着失败。

The image below shows results from a process running under a test domain in Enterprise Architect

您可以通过双击类来添加或编辑现有的不变量。

您可以通过双击方法类似地添加或编辑现有的前置条件或后置条件。

如果有源代码,双击测试点会自动显示源代码。

最好使用代码编辑器的快捷菜单从代码编辑器中添加行条件。

此图像是测试域中的先决条件。

An example of composing a precondition in Enterprise Architects Test Domain system.

测试点窗口 测试点编辑器

测试点跟踪陈述

每个测试点都可以有自己的跟踪语句。跟踪语句是一个动态消息,可以在其object或本地范围内引用变量。它们在测试评估期间输出。可以将它们配置为在每次评估约束时输出,或者更常见的是在测试失败时输出。可以将跟踪语句定向到系统输出窗口的“测试点”选项卡或外部文件。你可以在任何分析器脚本配置它。

跟踪声明 系统输出窗口 管理分析器脚本

测试域组合

测试域图是一个动态媒介,其中测试点被组装以测试使用案例。测试域图中的使用案例以三种不同的原型提供:测试截口、测试集和测试套件。域的管理就像在任何图表上建模一样简单。工具箱快捷菜单提供对任何测试域和工件的访问。简而言之,来自多个类的测试点被聚合成测试集。然后将测试集链接到形成测试套件。测试截口和测试集都是可重复使用的资产。将同一个测试集链接到一个或多个测试套件是绘制连接器的问题。

Test Domain diagram defining tests and test sets in Sparx Systems Enterprise Architect.

测试域工具箱 测试截口 设置测试 测试套件 测试域图表

测试域和类模型

一个用例很少会涉及单个类的所有方法。它很可能是使用协作类中的各种方法来实现的。我们称此方法为“剪切口”的子工件,是我们用来进行测试截口的工具。测试点窗口将根据时间进行上下文,以适应测试域领域或类元素。此图显示了选择测试截口时的测试截口窗口。请注记复选框,这些复选框仅对测试截口可见。它们表示对测试集有贡献的方法(测试截口)。在这个例子中,测试域是由执行分析器生成的,它为我们完成了方法识别工作。

Aggregating test cases across multiple classes to create a Testcut that take part in any Enterprise Architect Test Domain

测试点评估

Testpoints 窗口用于评估测试域。该窗口有一个用于启动或附加到目标应用程序的工具栏。要测试的域总是由具有时间的元素上下文,因此如果您选择一个类,则窗口将仅显示该类的类结构和测试类。如果您选择一个测试套件,该窗口将显示整个域层次结构以及其中包含的所有测试点。单击运行按钮将加载执行分析器中的测试点域,然后在使用案例通过或失败时评估、收集和更新报告窗口。每个约束类型的确切细节以及该约束捕获的时间和方式是:

  • 类对类类型的object调用的任何方法完成时,分析器都会评估A不变量;不变量用于测试符合object的状态是否已知且允许
  • 在调用操作之前立即评估前置条件
  • 方法完成时评估后置条件(同时作为类不变量)
  • 如果以及何时在程序执行期间它们的特定代码行进入范围,则评估行条件
测试点约束