调整数据关联的准则

运行测试时,您可能会注意到,服务器未承担期望的工作负载,或者未按预期更新数据库。不完整或不正确的数据关联可能会导致这些问题。
要确定数据关联问题:
  1. 使用“潜在关联错误”视图来查找缺少的或不正确的数据关联。有关更多信息,请参阅查找数据关联错误
  2. 在错误、失败和警告的日志级别设置为全部的情况下,单独运行测试,或按计划运行测试。
  3. 运行后,如查看测试日志中所述打开测试日志。

测试生成期间使用的数据关联算法基于众所周知的最佳做法。但是,由于这些做法在不断地演进,因此在自动数据关联期间可能会发生各种类型的错误:

关联不足:参数具有不同的名称或出现在意外的位置中

当必须关联的两个参数具有不同的名称时,自动数据关联无法识别到这两个参数是相关的。例如,考虑以下请求:http://www.example.com?id=12345。假定该请求必须与包含 customer_ID=12345 而非 ID=12345 的服务器响应关联。在该情况下,ID 参数必须与 customer_ID 关联。

数据关联通常将从服务器返回的响应值与后续请求值链接在一起。自动关联算法在 URL 和 POST 数据中搜索潜在匹配项;但是,也可能存在用于返回参数的其他方案。例如,考虑以下请求:http://www.example.com?id=12345。假定该请求必须与包含名称和实体对 href name="customer_ID" entity="12345" 而非 ID=12345 的服务器响应关联。 在该情况下,ID 参数必须与 name="customer_ID" 关联,值 12345 必须与 entity="12345" 关联。

以下是导致关联不足的其他一些原因:
  • Siebel 使用星形数组格式。标准关联算法既不能从该格式检索,也不能替换到该格式中。
  • SOAP 在外部 XML 文件中指定关联参数。 关联算法无法将外部文件中的参数与测试中的参数关联。
要在这些情况下手动关联数据:
  1. 在测试编辑器中,使用搜索或浏览以查找用于关联的两个参数。
  2. 浏览至在测试后面部分中出现的参数,并选择该参数。这是替换站点。
  3. 在“测试数据源”窗口中,单击引用选项卡。
  4. 选择要用作引用的数据源,然后单击从以下位置替换

关联不足:一个参数未命名

有时,某个参数或值必须关联的先前参数或值未指定,因为它是由JavaScript 程序等计算出的。 在该情况下,为了正确地关联数据,必须了解如何以及在何处计算该参数或值,然后使用定制代码块。请参阅通过定制代码扩展测试执行以了解与定制代码有关的更多信息。

例如,考虑 Web 地址 http://www.example.com?login_stamp=12345_Apr_11_07,其中 login_timestamp 的值是登录标识和当前日期的并置。在该情况下,必须生成将登录标识和日期并置的定制代码。

对于另一个示例,假定服务器返回登录标识和日期作为单独的实体:href "customer_id=12345" Date="Apr_11_07"。在该情况下,可将这些参数放到单独的引用中,并在使用客户标识和日期的后续请求中单独将其替换。

关联过剩

自动数据关联基于模式匹配:参数或参数值与名称完全相同或类似的后续参数或参数值关联。但是,有时,名称完全相同或类似的参数实际上并不相关。在最好的情况下,不需要的关联没有妨害,或者只轻微增加了不合适的负载。在最坏的情况下,应用程序不需要关联,并在回放期间失败。

要除去过剩的数据关联:
  1. 在测试编辑器中,搜索或浏览以查找不得关联的替换站点。缺省情况下,紫色字母指示关联的数据。
  2. 右键单击替换站点。
  3. 单击除去替换

关联不正确

需要数据关联的参数在整个测试中可能出现多次。例如,用户登录时最初使用的会话标识参数还可能在每个后续请求中使用。如果测试中某个参数的多个实例不同,那么关联算法可能使用错误的实例。

通过“HTTP 测试生成”首选项,可针对准确性或效率优化自动数据关联。
  • 准确性:某个参数每次出现的实例与最近一次出现的实例关联。这是缺省设置。
  • 效率:某个参数每次出现的实例与先前出现的单个实例关联。
注: 如果不手动在 HTTP 请求头中的 Referer 字段中应用关联,那么将根据需要自动关联 Referer 字段。如果手动在 HTTP 请求头中的 Referer 字段中应用关联,那么不会执行自动关联。
优化自动数据关联以用于执行设置为效率时,更有可能出现不正确的关联。 要修正不正确的关联:
  1. 在测试编辑器中,搜索或浏览以查找未正确关联的值。
  2. 右键单击替换站点。
  3. 单击除去替换
  4. 再次右键单击替换站点。
  5. 单击替换,并选择正确的参数。

反馈