AWS 大型主機現代化應用程式測試概念 - AWS 大型主機現代化

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS 大型主機現代化應用程式測試概念

AWS 應用程序測試使用的術語,其他測試服務或軟件包可能與略有不同的含義使用。下列各節說明 AWS 大型主機現代化應用程式測試如何使用此術語。

測試用例

測試用例是測試工作流程中單獨最原子的行動單元。通常情況下,測試用例用於表示修改數據的業務邏輯的獨立單元。將為每個測試用例進行比較。測試用例被添加到測試套件。測試用例包含有關測試用例修改的數據工件(數據集,數據庫)以及有關測試用例執行期間觸發的業務功能的元數據:批處理作業,3270 交互式對話框等。例如,資料集的名稱和字碼頁。

輸入數據 → 測試用例 → 輸出數據

測試用例可以是在線或批處理類型:

  • 在線 3270 屏幕測試用例是用戶執行交互式屏幕對話框(3270)以讀取,修改或生成新的業務數據(數據庫和/或數據集記錄)的測試用例。

  • Batch 測試用例是需要提交批處理以讀取,處理和修改或生成新的業務數據(數據集和/或數據庫記錄)的測試用例。

測試套件

測試套件具有按順序運行的測試用例的集合,一個接一個。重播是在測試套件級別完成的。重播測試套件時,測試套件中的所有測試用例都在目標測試環境上運行。如果在比較參考和重播測試工件之後存在差異,則差異將顯示在測試用例級別。

例如,測試套件 A:

測試案例 1、測試案例 2、測試案例 3 等。

測試環境配置

測試環境配置允許您設置初始一組數據和配置參數(或資源) CloudFormation ,以使測試運行可重複。

上傳

上傳是在測試套件級別完成的。在上傳期間,您必須提供 Amazon S3 位置,其中包含來源大型主機的成品、資料集和關聯式資料庫 CDC 分錄,以進行比較。這些資料將被視為來源大型主機的參考資料。在重新執行期間,系統會將產生的重新執行資料與上傳的參照資料進行比較,以確保應用程式等同

重新播放

重播是在測試套件級別完成的。在重新執行期間, AWS 大型主機現代化應用程式測試會使用指 CloudFormation令碼建立目標測試環境並執行應用程式。系統會擷取重新執行期間修改的資料集和資料庫記錄,並與大型主機的參考資料進行比較。一般而言,您會在大型主機上上傳一次,然後重播多次,直到達到功能等效為止。

Compare

重新執行成功完成後,系統會自動進行比較。在比較期間,您在上傳階段上傳及擷取的參照資料會與重新執行階段所產生的重新執行資料進行比較。數據集,數據庫記錄和在線屏幕單獨的測試用例級別進行比較。

資料庫比較

應用程序測試比較源和目標應用程序之間的數據庫記錄的變化時,採用狀態進度匹配功能。狀態進度比對會比較每個執行 INSERT、UPDATE 和 DELETE 陳述式中的差異,這與在程序結束時比較資料表資料列不同。狀態進度匹配比替代方案更有效,通過僅比較變更的數據並檢測交易流程中的自我糾正錯誤,從而提供更快,更準確的比較。通過使用 CDC(改變數據捕獲)技術,應用程序測試可以檢測個別關係數據庫的變化,並在源和目標之間進行比較。

關係資料庫變更是由測試的應用程式程式碼,使用 SQL INSERTUPDATE 或 DELE TE 等 DML (資料修改語言) 陳述式在來源和目標上產生,也會間接地在應用程式使用預存程序、或在某些資料表上設定資料庫觸發程序時,或使用 CAS CADE DELETE 來保證參照完整性,自動觸發其他刪除

資料集比較

「應用程式測試」會自動比較在來源 (記錄) 和目標重新執行) 系統上產生的參照和重新執行資料集。

若要比較資料集:

  1. 從源和目標上相同的輸入數據(數據集,數據庫)開始。

  2. 在來源系統 (大型主機) 上執行測試案例。

  3. 擷取產生的資料集,並將其上傳到 Amazon S3 儲存貯體。您可以將輸入資料集從來源傳輸到 AWS 使用 CDC 分錄、畫面和資料集。

  4. 指定上傳測試案例時上傳大型主機資料集的 Amazon S3 儲存貯體的位置。

重新執行完成後,「應用程式測試」會自動比較輸出參照和目標資料集,顯示記錄是否相同、對等、不同或遺漏。例如,相對於工作負載執行時刻的日期欄位 (第 + 1 天、當月結束等) 會自動被視為等效。此外,您可以選擇性地定義對等規則,以便不相同的記錄仍具有相同的業務意義,並標記為對等。

比較狀態

應用程序測試使用以下比較狀態:相同,等效和不同。

相同

來源和目標資料完全相同。

等效

來源和目標資料包含視為對等項目的錯誤差異,例如日期或時間戳記,當它們相對於工作負載執行的時刻不會影響功能等價。您可以定義對等規則來識別這些差異。當所有重播的測試套件與其參考測試套件相比顯示相同或等效的狀態時,您的測試套件沒有顯示任何差異。

不同

來源和目標資料包含差異,例如資料集中不同數目的記錄,或相同記錄中的不同值。

等價規則

一組規則,用於識別可被視為等效結果的錯誤差異。離線功能等效測試 (OFET) 不可避免地會導致來源和目標系統之間的某些結果差異。例如,更新時間戳記因設計而異。等價規則說明如何調整這些差異,並避免在比較時誤報。例如,如果某個日期在特定資料欄中為 Runtime + 2 天,則對等規則會對其進行描述,並接受目標系統上執行時間 + 2 天的時間,而非嚴格等於參照上傳中相同欄的值。

最終狀態資料集比較

已建立或修改的資料集結束狀態,包括從其初始狀態對資料集所做的所有變更或更新。對於數據集,應用程序測試在測試用例運行結束時查看這些數據集中的記錄,並比較結果。

狀態進度資料庫比較

對數據庫記錄所做的更改作為單個 DML(刪除,更新,插入)語句的序列的比較。「應用程式測試」會比較來源資料庫與目標資料庫的個別變更 (插入、更新或刪除資料表的資料列),並識別每個變更的差異。例如,個別 INSERT 陳述式可用於在資料表中插入與目標資料庫相比,來源資料庫上具有不同值的資料列。

功能等價 (FE)

如果兩個系統在所有可觀察到的操作產生相同的結果,給定相同的輸入數據,則被認為在功能上等同。例如,如果相同的輸入資料產生相同的輸出資料 (透過畫面、資料集變更或資料庫變更),就會將兩個應用程式視為相同的功能。

在線屏幕比較

當目標系統在中的 AWS Blu Age 執行階段下執行時,將 3270 大型主機螢幕的輸出與現代化應用程式網頁螢幕的輸出進行比較。 AWS 雲端它會比較大型主機 3270 螢幕的輸出與重新裝載的應用程式的 3270 螢幕時,目標系統在 Micro Focus 執行階段中執行。 AWS 雲端

重播資料

重播資料是用來描述透過在目標測試環境中重新播放測試套件所產生的資料。例如,在 AWS 大型主機現代化服務應用程式上執行測試套件時,就會產生重新顯示資料。然後將重播資料與從來源擷取的參考資料進行比較。每次在目標環境中重新執行工作負載時,都會產生新一代的重新執行資料。

參考資料

參考資料是用來描述在來源大型主機上擷取的資料。它是到哪個重播(目標)生成的數據將被比較的引用。通常,對於大型主機上創建參考數據的每個記錄,都會有許多重播。這是因為使用者通常會擷取大型主機上應用程式的正確狀態,並在目標現代化應用程式上重新執行測試案例,以驗證對等性。如果發現錯誤,它們是固定的,並再次重播測試用例。通常,多個循環的重播,修復錯誤,並再次重播以驗證發生。這就是所謂的捕獲一次,重播多次測試範例。

上傳、重播和比較

應用程序測試分三個步驟操作:

  • 上傳:擷取在大型主機上針對測試案例的每個測試案例建立的參考資料。這些可能包括 3270 個線上畫面、資料集和資料庫記錄。

    • 對於線上 3270 螢幕,您必須使用 Blu Insights 終端機模擬器來擷取來源工作負載。如需詳細資訊,請參閱 Blu 洞察文件

    • 對於資料集,您需要使用常用工具 (例如 FTP) 或大型主機現代化的資料集傳輸服務部分,擷取大型主機上每個測試案例所產生的 AWS 資料集。

    • 對於資料庫變更,您可以使用 AWS 大型主機現代化資料複寫搭配精確文件,擷取和產生包含變更的 CDC 日誌。

  • 重新執行:測試套件會在目標環境中重新顯示。在測試套件中指定的所有測試用例都運行。由單個測試用例創建的指定數據類型,例如數據集,關係數據庫更改或 3270 屏幕,將通過自動化捕獲。這些資料稱為重播資料,會與上傳階段擷取的參考資料進行比較。

    注意

    關聯式資料庫變更需要在初始條件 CloudFormation 範本中使用 DMS 特定的組態選項。

  • 比較:對源測試參考數據進行比較,並對目標重播數據進行比較,結果將顯示為相同,不同,等效或缺少的數據。

差異

指出透過資料比較偵測到參照和重新執行資料集之間的差異。例如,線上 3270 畫面中的欄位顯示與來源大型主機與目標現代化應用程式之間的商業邏輯角度不同的值,將視為差異。另一個範例是在來源和目標應用程式之間不相同的資料集中上傳。

等值

對等記錄是參考和重新顯示資料集之間不同的記錄,但不應該被視為與商務邏輯觀點不同的記錄。例如,包含資料集產生時間戳記的記錄 (工作負載執行時間)。使用可自訂的對等項規則,您可以指示「應用程式測試」將這類誤判差視為對等項目,即使它顯示參照與重新執行資料之間的不同值也一樣。

來源應用

要與之比較的來源大型主機應用程式。

目標應用

新的或修改過的應用程式,在其上進行測試,這些應用程式會與來源應用程式進行比較,以偵測任何瑕疵,並達到來源與目標應用程式之間的功能等效性。目標應用程式通常在 AWS 雲端中執行。