在產生測試期間所使用的資料相關性演算法是基於眾所周知的最佳作法。不過,因為這些作法一直在進化,在自動化資料相關性期間可能發生不同類型的錯誤:
當必須產生關聯的兩個參數有不同名稱時,自動化資料相關性不能辨識這兩個參數是相關的。例如,考量一下此要求: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" 產生關聯。
有時候,一個參數或值必須與未在測試中指名的前一個參數或值產生關聯,例如,因為它是由 JavaScript 程式所計算。在此情況下,如果要與該資料正確產生關聯,您必須瞭解如何以及在何處計算參數或值,然後使用自訂程式碼區塊。 如需自訂程式碼的相關資訊,請參閱利用自訂程式碼延伸測試執行。
例如,考量一下這個網址:http://www.example.com?login_stamp=12345_Apr_11_07,其中 login_timestamp 的值是登入 ID 與現行日期的連結。 在此情況下,您必須產生自訂程式碼來連結登入 ID 與日期。
另舉例來說,假設伺服器以個別實體傳回登入 ID 及日期:href "customer_id=12345" Date="Apr_11_07"。在此情況下,您可以將這些參數放在個別參照中,並在使用客戶 ID 與日期的後續要求中,個別替代它們。
自動化資料相關性是根據型樣相符:一個參數或參數值與具有完全相同或類似名稱的後續參數或參數值產生關聯。 但有時候,具有完全相同或類似名稱的參數實際上並不相關。最好的情況是,不需要的相關性是無害的,或只是增加一點點不當的負荷量。最糟的情況是,應用程式在播放期間使用了非預期的相關性而失敗。
需要資料相關性的參數可能在整個測試當中出現多次。 例如,在使用者登入時一開始使用的階段作業 ID 參數,也可能使用於每一個後續的要求中。如果測試中某參數的多個實例不相同,相關性演算法可能使用錯誤的實例。