在本章节中:
不同的测试场景可能要求以不同的方式构造数据。数据模型特征允许修改可在所有测试场景中使用的数据结构。
可以使用复制功能来复制简单或层级的数据集录制类型。也可以复制成员/键及其属性(约束、屏蔽和生成设置)。
从录制类型省略菜单中选择 Delete Record Type 删除它。
可以使用简单和层级的数据集将成员添加到录制类型。
若要从模型中删除成员,请从成员省略号菜单中选择 Delete Member 。
属性定义了可以使用数据模型中组件执行相互作用的类型。以下组件拥有属性:
生成、屏蔽设置和数据约束是在 表明约束 或 生成数据时添加到属性的类型。
若要删除属性:
SQL 模板是一个或多个语句,表示所录制的 SQL 查询。
新模板将出现在模型中。它将以 SQL# 格式分配一个显示名称,并包含空结果集。
若要更改模板显示名称:
若要删除模板,请单击省略菜单图标并选择 Delete SQL Template。
SQL 参数是 To add 一个参数:
若要删除参数:
SQL 数据集中的列持有数据。
若要删除列:
可以为 SQL、层级和简单的数据集生成数据。根据为参数、列、数据集、成员或持有数据的键成员配置的“屏蔽和生成设置”生成数据。
将根据屏蔽和生成设置创建并填充新的资源库。
可以生成数据集的屏蔽副本,以隐藏存储在服务器的敏感信息。屏蔽的数据集包含同源一样的条目数,但是使用“屏蔽和生成设置”配置的任何数据集组件都将根据设置随机化。可以屏蔽以下组件类型的数据。
也可以配置数据约束设置,确保为测试场景正确地生成了所屏蔽数据。
单击工具栏中的 Mask Data 。
所有使用屏蔽和生成设置的数据成员都将在新的屏蔽资源库中被代替。
可以将资源库的子集数据复制到新的资源库中。
生成的资源库副本值包含约束内的数据。
以下行为应用于子集 SQL 数据集:
数据建模功能会基于资源库中的数据自动为新数据生成约束。通过选择侧栏中的资源库并单击 Infer Constraints 按钮,推断所选定资源库的约束。
也可以通过从 key/member 省略菜单中选择 Infer Constraints 推断单个成员和键的约束。
CTP 将推断数据是一个 Boolean、date、number 或是 string。
如果希望编辑约束,则单击约束属性并在数据约束设置编辑器中进行更改。
可以配置以下设置:
如果应该将 key/member 约束为 true 或 false,请选择 Boolean 类型。
如果应该将 key/member 约束为 date,请选择 Date 类型。可以配置以下设置:
Start | 指定开始和/或时间。 |
---|---|
End | 指定结束和/或时间。 |
Format | 指定开始和结束日期应该遵循的模式。 |
如果应该将 key/member 约束为 number,请选择 Number 类型。可以配置以下设置:
Minimum | 输入可以生成的最小数。 |
---|---|
Maximum | 输入可以生成的最大数。 |
Decimals | 输入允许的小数位数。 |
如果应该将 key/member 约束为 string,请选择 String 类型。可以配置以下设置:
Pattern | 为将 例如,可以使用以下模式随机生成社会保险号。
|
---|---|
Character map | 指定模式中可使用的字符范围。当设置为 fixed 时,默认值为所有可打印的 ASCII 字符 0x20 (space) 到 0x7e (~)。 如果模式不包含任何 & 的记号字符,则将忽略字符表。 |
可以配置组件以应用另一个组件中的数据。这确保了模型中的键、成员、列、结果集和其他数据持有对象保持一致。单击引用字段,将出现数据集中对象的层次视图。
数据约束可以通过 setting properties,使用 Infer Constraints 功能或在 Virtualize 中通过流量创建虚拟资产时通过定义文件进行手动配置。完整性测试功能允许验证对存储在资源库中数据的约束是否有效。
可以通过从省略菜单中选择 Integrity Test 测试模型中各个对象的完整性(比如,成员、列)或数据集中的所有对象。
可以通过单击工具栏中的完整性测试(Integrity Test)按钮,测试资源库的数据完整性。
如果没有设置约束,则将出现警告。如果数据与约束不匹配,则将出现错误并标记成员。
可以单击错误消息以查看覆盖中的详细信息。
可以在测试数据助手 Tasks 选项卡中查看完整性测试的其他信息。
屏蔽和生成设置允许控制不同场景的测试数据。屏蔽和生成设置将应用于以下类型的数据集组件:
模式不会应用于 SQL 结果集。SQL 结果集的屏蔽和生成设置允许配置结果集中出现 SQL 列的最大次数和最小次数。
可用的特定设置取决于模式。可以在添加成员或更改现有成员时指定屏蔽和生成模式。可使用以下模式。
选择此模式以编程方式设置约束。支持使用 JavaScript 语法的简单数学、字符串和日期操作。也可以在公式(例如 SUM、COUNT 等)中使用现成的聚合函数。
请查阅 在工具中使用数据 以获得引用其他录制类型成员的语法的信息。
${
" (美元符和左大括号)字符开始并以 "}
" (又大括号)结尾的变量。${member}
语法指向同一录制类型内的成员。${recordType.member}
语法指向指定录制类型内的成员。${dataSet:ds.key}
语法指向指定数据源内的键。下面的公式计算一个部分和价。
SUM(${cart_item.price})*${sales_tax.rate})
下面的公式生成一个邮箱地址:
CONCAT(${FIRSTNAME},"_",${LASTNAME},"@parabank.com")
选择此模式,使用现有资源库中的值生成数据。该模式要求配置额外的设置。
Type | 指定应该如何将种子数据复制到所生成的资源库中。 Random:将值随机复制到所生成资源库中。 Round Robin: 循环遍历种子数据,根据需要生成设置添加记录。例如,如果将生成录制的数量设置为 100,而种子数据中有 80 个记录,则间隙将由开始前 20 记录的复制数据填充。 Unique: 每个录制只可被复制一次。要求的录制数量必须小于或等于数据生成期间种子数据中的录制数。如果要求的录制数量多于种子数据中的录制数量,则将收到一条错误消息。 |
---|---|
Repository | 选择种子资源库。 |
Data set | 选择资源库中的种子数据集。 |
Column | 选择数据集中的键(key)列。 |
Independent | 启用此选项,独立于可能配置的其他成员数据生成成员数据。 生成数据后,根据配置成员的类型复制现有资源库和所选定数据集。独立生成成员数据可以减少潜在的冲突。 |
选择此模式生成随机的 Booleans、dates、numbers 或 strings。Dates、numbers 和 strings 要求额外的配置。
可以配置以下设置,以生成和屏蔽随机的日期:
Start | 指定开始和/或时间。 |
---|---|
End | 指定结束和/或时间。 |
Format | 指定开始和结束日期应该遵循的模式。 |
可以配置以下设置,以生成和屏蔽随机的数字:
Minimum | 输入可以生成的最小数。 |
---|---|
Maximum | 输入可以生成的最大数。 |
Decimals | 输入允许的小数位数。 |
可以配置以下设置,以生成和屏蔽随机的字符串:
Pattern | 为将 例如,可以使用以下模式随机生成社会保险号。
|
---|---|
Character map | 指定模式中可使用的字符范围。当设置为 fixed 时,默认值为所有可打印的 ASCII 字符 0x20 (space) 到 0x7e (~)。 |
选择此模式,生成以特定值开始并自增长到指定结束值的序列号和日期。范畴数据的配置与随机数据相同,但范畴数据还具有指定数据应该如何自增长的自增长字段。