fbpx

軟體開發周期充滿了挑戰,因為組織不僅面臨著上市時間縮短的問題,而且還面臨著應用程式複雜性增加的問題。 為了確保應用程式從最初的開發到產品發佈以及之後保持穩定和功能,組織需要採用各種測試類型。

當然,隨著開發複雜性的增加,所需的測試也隨之增加。 任何成功的測試方案的一個重要組成部分是測試數據管理(TDM)。 它允許企業級組織簡化、自動化和控制使用的所有測試類型,同時降低成本並提高測試品質。

什麼是軟體測試中的測試數據管理 (TDM)?

測試數據管理是創建、管理、實現和交付測試數據的過程。 傳統上,軟體開發測試在分散的孤島中進行,但TDM將測試整合到單個團隊,組或部門的許可權下。

測試資料管理 服務 收集 自動化 軟體 測試 所需的 數據, 包括 來自單元 測試、 整合 和系統 測試的數據。 它涉及獲取和存儲自動化測試所需的適當和準確的數據,減少或消除在測試過程中人為參與的需求(這個概念類似於
機器人過程自動化
)。

隨著TDM越來越受歡迎,它已經擴展到包括合成數據生成,數據遮罩,子集,人工智慧等。

最終, 測試數據管理 可提高 成品 軟體的可靠性和品質, 從而 帶來 卓越的終端用戶體驗。 此外,TDM 的數據混淆方面可幫助組織遵守所有適用的數據隱私法律和法規。

誰在軟體測試中使用測試數據管理 (TDM)?

雖然「每個人」的答案可能聽起來很簡單和寬泛,但事實是測試 數據管理技術 使所有類型的軟體應用程式受益。 如果測試發生在開發週期中(並且應該),TDM流程可以提高結果的準確性,組織和有用性。

由於所有軟體開發都需要測試,因此TDM基本上將使任何專案受益。 也就是說,某些組織和應用程式實際上要求使用 測試資料管理原則

企業級應用程式由於其複雜、多方面的測試需求而需要 TDM。 TDM 使企業開發中的所有主要測試領域受益,包括功能、非功能、性能和自動化測試。

此外,TDM 的混淆過程使其使用對於涉及個人或敏感數據的應用程式至關重要,包括連接到電子商務、金融和醫療保健的任何網站或應用程式。

數據管理適用於哪些類型的測試?

數據管理側重於三大類測試。

1. 用於效能測試的 TDM

性能測試衡量應用程式在預期工作負載下的性能,評估其回應能力、穩定性和可伸縮性。 TDM 允許您將測試重點放在基礎架構和面向使用者的元素上,以實現快速、可靠的性能。

最好的 測試管理工具 有助於增加刷新週期和批量資料生成。

2. 用於功能測試的TDM

性能測試分析應用程式的速度和穩定性,而功能測試則確定軟體是否按照預先確定的需求運行。 本質上:軟體是否做了它應該做的事情? 測試數據管理服務有助於保持對核心應用程式以及新功能和升級功能的品質控制。

TDM 有助於緩解或防止低覆蓋率、訪問限制、冗長的數據源時間線、高依賴性以及與測試環境大小相關的問題。

3. 自動化測試中的TDM

自動化和超自動化的測試數據策略

過程允許非接觸式操作,同時通過減少人為錯誤的可能性來提高準確性。 測試數據管理流程用於所有類型的測試數據管理自動化工具和測試,包括
機器人流程自動化

用於自動化的測試資料策略 有助於緩解前端資料創建緩慢、無法存取動態資料以及無法存取測試環境等問題。

測試數據管理的優勢

建立卓越測試中心(TCoE)的優勢

TDM 策略以及 測試數據管理自動化工具為企業級組織提供了多種優勢。

1. 提高數據品質

如果世界上所有的測試都建立在不完整、不相關或損壞的數據上,那麼它都是徒勞的。 TDM 可識別、管理和存儲自動化測試所需的數據,因此您可以確保其適當且完整。 此外,通過結束在多個測試儀之間傳輸數據的需求,即使不能消除,數據損壞也會最小化。

2. 開發真實數據

如果測試數據不能準確表示生產數據,則測試結果將無效。 TDM允許組織識別和存儲反映生產伺服器上找到的數據的測試數據,確保測試結果反映真實的軟體功能。 它被稱為「實際數據」 ,它在格式,數量和其他因素上與生產數據相似。

3. 改進對資料的訪問

只有當數據在預定時間可用時,自動化軟體測試才能有效運行。 例如,數據倉庫測試工具可能需要在特定時間訪問數據以進行身份驗證。 由於TDM專注於數據存儲,因此當自動化測試軟體和生產時程表需要時,適當的數據始終準備就緒。

4. 確保數據合規性

TDM 説明組織遵守所有相關政府和其他法規,例如 HIPPA

CCPA

和歐盟的 GDPR

. 測試數據管理 GDPR 和其他此類法規要求生產數據,其中可能包括使用者名、位置數據、個人資訊等 – 在測試發生之前需要遮罩的數據。

最好的 測試資料管理工具 允許組織自動匿名化資料以供內部和外部使用,以確保合規性。

測試數據管理的挑戰和陷阱

負載測試的挑戰

雖然測試數據管理為企業級軟體開發提供了至關重要的好處,但它們也有潛在的陷阱。 瞭解TDM的挑戰使組織能夠預測並最大限度地減少其影響。

1. 生產克隆速度慢且成本高昂

為了獲取測試數據,大多數組織將從生產伺服器中提取數據,然後將其匿名化。 但是,收集生產數據可能非常耗時,尤其是在處理大量代碼時,尤其是在開發過程的後期。

克隆數據后,您需要在某個位置進行存儲。 基礎架構和存儲成本可能會迅速增加。 您可以通過數據切片來降低這些成本。 該團隊不會克隆所有生產數據,而是會劃分出一個較小的、具有代表性的數據“切片”。

2. 混淆過程增加了成本和複雜性

如前所述,用戶數據受到嚴格監管,即使用於內部測試,也需要匿名化。 不幸的是,數據混淆過程增加了開發過程的複雜性和成本。

雖然自動化測試工具提高了混淆的速度、準確性和成本效益,但相關團隊的學習曲線仍然存在。

表明您的組織需要測試數據管理的主要跡象/原因

雖然所有軟體開發都受益於測試數據管理,但組織並不總是優先考慮實施。 以下跡象表明,組織將從實施 TDM 中獲得近乎立竿見影的好處:

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

  • 數據大小“全面”增加,包括數據集大小、數據集總數、資料庫實例和上游系統增加。
  • 準備用於測試的數據花費了大量的生產時間。
  • 生產數據遠遠超過可用的測試數據量。
  • 應用程式功能因錯誤而上線。
  • 測試團隊是分散的,或者必須依賴來自中央來源的數據。
  • 測試團隊工作過度,無法滿足測試需求。
  • 上游數據生成絕大多數測試數據。
  • 測試數據集不可重用或容易複製。

測試數據管理有助於減少、糾正和預防這些問題等。

軟體測試中的數據類型

軟體應用程式在開發和發佈後生成了大量數據。 這 測試數據管理過程 通常側重於以下數據類型:

1. 生產數據

生產數據由使用您的應用程式的真實人員生成。 根據使用者群的規模和應用程式的複雜性,生產量可能會變得非常大,非常快 – 這就是為什麼它通常根據測試需求劃分為子集的原因。

請注意,生產數據通常包含與合規性問題

相關的敏感資訊,例如需要混淆的醫療和財務數據。

2. 合成數據

合成數據可以手動創建,也可以使用自動測試工具創建。 它盡可能密切地模擬真實的用戶行為。

雖然它避免了數據模糊的需要,但合成數據的實用性確實有限。 它主要用於對新功能進行負載測試。

準確 建立 綜合資料 需要 高 水平 的專業知識, 儘管 自動化 測試 資料 管理 工具 可以 簡化 這 一過程。

3. 有效數據

有效數據是用於描述在沒有發生意外錯誤或事件時生成的數據的術語。 數據的格式、值和數量與測試前的預期一致。 有效的數據測試所謂的「快樂路徑」 即使用者的旅程遵循預期的過程。

4. 無效數據

無效數據來自「不滿意的路徑」。 它是來自意外情況和故障的數據。 無效數據也用作混沌測試的一部分,混沌測試在大量不良數據下測試應用程式的極限。

是什麼造就了用於軟體測試目的的「高質量數據」?

軟體測試清單

使用不完整或不相關的數據進行測試通常比完全放棄測試更糟糕,因為得出的結論和隨後採取的行動將是不正確的。 但是,組織如何識別用於軟體測試目的的「好」數據呢? 尋找以下三個資料品質特徵:

1. 準確性

良好的數據可以密切反映現實生活中的程式。 如果使用遮罩的生產數據,它應該與您正在測試的區域直接相關 – 它不能是使用者行為的隨機樣本。 合成數據應準確類似於真實的用戶行為,包括其不可預測性。

2. 有效性

良好的數據與測試方案的目的相匹配。 例如,大多數在線購物者不會購買200數量的單件商品,因此在這種情況下對系統行為進行廣泛的測試是對資源的不良利用。 但是,您確實希望測試人們購買十件商品的情況。

3. 例外情況

數據應涵蓋可能發生但不經常發生的問題。 客戶使用優惠券代碼為商品付款的方案是電子商務領域中「異常數據」的常見範例。

在規劃數據測試管理之前和規劃數據測試管理時,您應該問什麼問題?

測試成功很大程度上取決於規劃階段。 在初始階段,團隊應提出以下問題。

1. 我們需要哪些數據?

確定需要收集哪些數據是一個由兩部分組成的過程。 首先,它必須與測試方案相關。 它還必須具有業務相關性,以幫助測試保持成本效益和效率。

2. 我們需要多少數據?

過多的數據(如拷貝所有生產數據)成本高昂、耗時,並且使過程過於複雜。 另一方面,如果樣本數量太小,結果將不準確。

3. 我們什麼時候需要數據?

測試是否已計劃,還是應按需提供數據? 在測試開始之前,團隊應協調所有測試計劃和刷新週期。

4. 需要什麼類型的測試?

軟體測試自動化 需要穩定、可預測的數據集。 如果測試所需的數據差異很大,則手動測試可能會產生更好的結果。

管理數據測試的步驟

建立健全的測試數據管理系統 (TDM) 的步驟

雖然具體細節會有所不同,但企業級軟體開發人員在實施TDM策略時通常會遵循這些步驟。

1. 資料建立 – 生成用於測試等的數據的技術

要生成有效的數據,您需要考慮其準確性和相關性。 它是否複製了現實的場景? 此外,還需要生成異常數據,其中涵蓋典型用戶活動之外的方案。

2. 數據混淆

您需要遮罩所有生產數據,以保持在法規遵從性範圍內。 最常見的混淆類型包括字謎、加密、替換和清空。 雖然在有限的容量下可以進行手動模糊處理,但企業級遮罩需要自動化工具。

3. 數據切片

複製所有生產數據通常是浪費資源和時間。 通過數據切片,可以收集一組可管理的相關數據,從而提高測試的速度和成本效益。

4. 資源調配

預配在獲取並遮罩數據後發生。 在預配期間,數據將移動到測試環境中。 自動化工具提供了使用 CI/CD 集成將測試集輸入測試環境的能力,並提供了手動調整選項。

5. 集成

來自 IT 生態系統中多個源的測試資料必須整合到 CI/CD 管道中(CI/CD 管道是代碼更改的既定過程)。 實現集成需要及早識別所有數據通道。

6. 版本控制

創建測試數據的版本可幫助團隊重複測試以衡量結果。 此外,該版本允許監控測試參數的精確變化。

測試數據管理的特徵和屬性

TDM可適應任何軟體開發項目不斷變化的需求。 但是,無論組織需要進行任何調整,TDM 流程也將顯示以下特徵:

1. 提高數據品質和保真度

TDM 提高了測試數據的準確性和真實性,從而提供了真正具有代表性的用戶行為樣本。 所有流程最終都指向一個目標:可靠、穩定的用戶體驗。

2. 監管合規

測試數據管理軟體 確保在測試之前充分遮罩所有生產數據,使您的組織遵守所有隱私法規。 通過保持合規,您將避免法律後果,包括罰款和負面的公共關係問題。

3. 提高產品品質

質量保證是一個耗時且成本高昂的過程 – 但對於啟動功能強大、使用者友好的應用程式也是必要的。 與傳統的孤立方法相比,TDM流程可以更快地識別錯誤,提高安全性並實現更通用的測試。

如何實現測試數據管理

RPA和自動化測試中心(TCoE)

您組織的軟體產品將規定各種測試細節,但測試數據管理概念的基本實現涉及以下五個步驟:

第1步:規劃

首先組建一個數據測試團隊,然後他們將確定測試數據管理要求和文檔,同時制定全面的測試計劃。

第 2 步:分析

在分析階段,將整合團隊之間的數據需求。 還實施了備份,存儲和類似的後勤問題。

第3步:設計

設計階段是測試開始之前規劃的最後一點。 團隊應確定所有數據源,同時還要最終確定通信、文檔和測試活動的計劃。

步驟4:生成

建造階段是「橡膠與道路相遇」 的地方。 執行計劃。 首先,發生數據遮罩。 接下來,備份數據。 最後,運行測試。

第 5 步:維護

測試 後數據管理實施,公司將需要維護專案生命週期的流程。 TDM 維護包括故障排除、升級現有測試數據和添加新數據類型。

測試數據管理策略

自動化測試如何在銀行等行業中工作

由於TDM涉及開發過程中的許多不同元素,因此它可能會很快變得複雜。 以下策略使您能夠保持專注並不斷完善組織的 測試數據管理方法

策略 1:增強數據交付

通過利用ZAPTEST

軟體測試服務

,尋求持續縮短測試資料的交付時間 . 具有 DevOps 功能的工具通過低接觸方法簡化測試。

使用ZAPTEST使用者可以選擇順序;使用自動或特定行數的隨機或唯一測試數據。 它們可以指定數據範圍和「超值」策略,從而允許為功能(UI和API)、性能測試和RPA創建真實的數據驅動測試場景。

此外,自動化測試軟體可以用使用者的自助服務系統取代IT票務系統。

策略 2:降低基礎架構成本

測試數據量在開發過程中不斷增長,從而導致基礎結構資源的使用增加。 TDM 工具可以通過數據整合、存檔和稱為書籤的過程(可更好地利用測試環境空間)説明最大限度地降低相關的基礎架構成本。

策略 3:提高數據品質

測試資料管理 解決 方案 通過 關注 三個 關鍵 要素 來 不斷 提高 資料 品質 特徵: 資料 的 年期、 準確性 和 大小。

如何改進測試數據管理

TDM 不是一個靜態進程。 初始設置后,您需要按照以下要求進行持續改進 測試數據管理最佳實踐

1. 隔離數據

通過在受控環境中運行測試,可以隔離數據以更好地比較預期輸出與實際輸出。 隔離數據還允許並行測試。

2. 最小化資料庫存儲

將測試數據存儲在資料庫中會降低自動測試速度,同時也增加了隔離數據的難度。 自動化工具以及數據切片等技術有助於減少所需的資料庫存儲量。

3. 專注於單元測試

遵循測試自動化金字塔建立的準則

,建議進行大約 50% 的單元測試。 單元測試獨立於外部數據運行,成本遠低於其他測試類型,並且實現起來相對較快。

如何測量測試數據管理

什麼是軟體測試自動化

以下指標提供了有關 TDM 策略有效性的重要資訊。

1. 是否有足夠的測試數據?

您可以通過跟蹤管理用於測試的數據所花費的時間來衡量測試數據的可用性。 如果可用的數據不足,開發時間就會減慢,開發人員會感到受到限制。

2. 測試數據是否可用於自動化測試?

自動化測試流程需要按需數據。 監控可用數據集的百分比,以及訪問數據集的頻率和刷新頻率。

3. 自動測試是否受測試數據的限制?

您可以使用當前測試資料運行多少個自動測試? 如果您需要運行的測試次數超過數據允許的數量,則需要更頻繁地收集測試數據。

獲得這些測量結果的最簡單、最準確的方法是使用 測試資料管理軟體

 

隱私問題和如何防止它

雖然測試數據管理最初是一種收集和分析數據的方法,但隨著時間的推移,它在防止各種隱私問題方面變得同樣重要。

1. 數據監管

TDM 確保您的公司始終遵守CCPA、HIPAA、GDPR 和所有其他相關的數據隱私法規。 如果在測試期間未能正確遮罩數據,可能會導致嚴重的經濟處罰,甚至潛在的刑事處罰。

2. 消費者的反彈

數據洩露可能會對公司的形象造成重大損害,因為使用者將不願意使用容易洩漏的應用程式。 測試數據管理實施有助於通過防止洩漏和確保潛在用戶的數據安全來贏得使用者的信心。

結論

軟體開發中對測試的需求只會變得更加必要和複雜。 為了簡化開發流程,同時保持品質控制,企業組織將需要 利用測試資料管理軟體,特別是測試管理工具,例如ZAPTEST創建的那些

工具。

最好的 測試數據管理工具 提供全面、回應迅速的測試資料創建和管理,從而能夠以前所未有的速度交付具有更強大功能的卓越軟體。

常見問題

以下是有關軟體測試中測試數據管理的常見問題的快速解答。

什麼是測試數據管理?

測試數據管理是對自動化數據倉庫測試工具所需的數據的創建、管理和分析。 流程側重於識別與特定測試參數相關的高質量數據,對其進行遮罩,並將其交付給適當的團隊。

最好的 測試資料管理工具 可自動執行許多過程,例如資料收集、混淆和存儲。

什麼是軟體測試中的測試數據?

軟體測試中使用的很大一部分是生產數據,由真實使用者生成。 由於隱私法規,生產數據在測試中使用之前需要遮罩。

軟體測試數據也可以是合成的,這意味著它是人為製造的,以盡可能準確地複製真實用戶的行為。 它通常用於在新功能或升級上線之前對其進行測試。

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post

Virtual Expert

ZAPTEST

ZAPTEST Logo