前页 后页

测试点

测试点提供了一种方案,通过该方案,可以从模型中获取控制对象行为的约束和规则,并将其应用于一个或多个应用程序。诸如此类的方案的优点是可以容忍代码更改-从函数中添加和减去行对控制它的约束没有影响。另一个好处是,对行为规则的更改不需要对任何源代码进行相应的更改。 意思是什么都不需要重新编译!

同样,使用单个测试域验证多个应用程序的能力很简单,而不是繁重的事情。测试域既是逻辑模型又是关系模型。可以使用“测试剪切”对Class模型中的约束进行分区。可以使用连接器将它们简单地汇总到“测试集”和“测试套件”中。由于测试域与代码库之间的脱钩,因此可以简单地选择按钮以正常运行程序,或针对特定的测试域运行该程序。该系统还具有实际优势,因为根本不需要仪器。在程序运行期间,测试结果会在运行期间实时显示在报告窗口中。这些结果可以在“测试详细信息”对话框中或使用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

特征

特征

细节

也可以看看

测试点组成

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

选择“测试剪切”,“设置测试”或“套件测试”时,“测试点”窗口将显示整个“域”结构,包括组成该域的所有“类”。注意:您可以使用右侧的“导航”窗格导航域层次结构。测试点使用类成员的变量名称作为表达式组成。编辑器中提供了Intelli-sense快捷键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.

测试点窗口 测试点编辑器

测试点跟踪语句

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

跟踪语句 系统输出窗口 管理分析器脚本

测试域组成

“测试域”图是一种动态的媒体,在其中组装了测试点以测试用例。测试域图中的用例以三种不同的原型提供:测试剪切,测试集和测试套件。域的管理就像在任何图上建模一样容易。使用工具箱和快捷菜单可以访问任何“测试域工件”。简而言之,来自多个类的测试点将汇总到测试集中。然后将测试集链接到表单测试套件。测试剪切和测试集都是可重复使用的资产。将相同的测试集链接到一个或多个测试套件只是一个图形连接器。

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

测试点评估

“测试点”窗口用于评估测试域。该窗口具有用于启动或附加到目标应用程序的工具栏。要测试的域始终由具有上下文的元素反映,因此,如果选择“类”,则窗口将仅显示“类”结构和该类的“测试点”。如果选择测试套件,则该窗口将显示整个域层次结构以及其中包含的所有测试点。单击“运行”按钮会将Testpoint域加载到Execution Analyzer中,然后在用例通过或未通过每个测试时评估,收集和更新报告窗口。每种约束类型的确切详细信息以及捕获该约束的时间和方式如下:

  • 每当对该Class类型的对象调用的任何方法完成时,分析器都会对Class Invariant进行评估。不变变量用于测试符合对象的状态是已知的还是允许的
  • 在调用操作之前立即评估前提条件
  • 方法完成后,将评估后置条件(与类不变式同时)
  • 在程序执行期间是否以及何时将其特定的代码行纳入范围内,将评估行条件
测试点约束