翻譯|行業資訊|編輯:陳津勇|2019-08-09 14:46:09.220|閱讀 274 次
概述:為企業軟件測試數據管理的傳統方法依賴于克隆生產數據庫及其基礎設施,這些方法充滿了成本、隱私和安全問題。這些方法不可伸縮,導致測試資源的浪費。Parasoft在SOAtest和Virtualize產品中提供的解決方案將重點重新放在測試和隨需應變的測試數據重新配置上,可有效解決實際問題。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
驗證和驗證軟件仍然是企業軟件開發中最耗時且成本最高的方面之一。獲取、存儲、維護和使用測試數據進行測試是一項艱巨的任務,需要花費太多時間。業界已經認識到測試很難,但根本原因往往被忽視。
我們從行業數據中看到,高達60%的應用程序開發和測試時間可用于與數據相關的任務,其中很大一部分是測試數據管理。延遲和預算支出只是問題的一部分——缺乏測試數據也導致測試不充分,這是一個更大的問題,不可避免地導致缺陷蔓延到生產中。
市場上傳統的TDM解決方案并沒有成功地改善測試數據挑戰的狀態,例如下面列出的這三種。
3種測試數據管理的傳統方法
傳統方法要么依賴于生產數據庫的副本,要么恰恰相反,使用合成的生成數據。有三種主要的傳統方法:
1、克隆生產數據庫
測試人員可以克隆生產數據庫來進行測試。由于這是生產數據庫的副本,因此還需要復制所需的基礎結構。安全性和隱私遵從性要求對任何機密的個人信息進行嚴密保護,因此通常使用屏蔽來混淆這些數據。
2、克隆生產數據庫的子集
生產數據庫的子集是生產數據庫的部分克隆,它僅包括測試所需的部分。這種方法需要更少的硬件,但與前面的方法一樣,仍然需要數據屏蔽和類似于生產數據庫的基礎設施。
3.生成/合成數據
通過綜合數據,不依賴于客戶數據,但生成的數據仍然足夠真實,可用于測試。綜合遺留生產數據庫的復雜性是一項艱巨的任務,但它消除了克隆機制中存在的安全性和隱私方面的挑戰。
傳統TDM方法存在的問題
首先,讓我們考慮一下企業TDM最簡單(也是最常見的)的方法,即在有或沒有子集的情況下克隆生產數據庫。為什么這種方法有問題?
基礎設施的復雜性和成本。可能是傳統TDM方法最大的缺點,遺留數據庫可能駐留在大型機中,或者由多個物理數據庫組成。僅僅為一個團隊復制一個生產系統是一項昂貴的工作。
資料隱私及保安。在使用生產數據庫時,隱私和安全性總是一個問題,測試環境通常不符合必要的隱私和安全性控制。屏蔽是處理這些問題的常用解決方案,改變敏感信息以便不透露任何個人身份信息。但不幸的是,屏蔽規避不了泄露私人信息的風險,因為它可以對測試數據進行去匿名化,就算最好的測試團隊盡最大的努力也是如此。例如,需要遵守GDPR的公司可能很難說服監管機構,他們克隆的測試環境符合所需的隱私控制。
缺乏并行性和數據沖突。考慮到基礎設施成本,可用的測試數據庫數量有限,同時運行多個測試會引起對數據沖突的關注。例如,測試可能刪除或更改其他測試所依賴的記錄。這種并行性的缺乏意味著測試變得不那么有效,測試人員不得不在每次測試會話之后擔心數據的完整性。
子設置沒有多大幫助。盡管創建一個需要較少基礎設施的可管理子集是可能的,但這是一個復雜的過程。必須維護引用完整性,而隱私和安全問題仍然存在于子集中。
綜合數據可以解決隱私問題,但需要大量的數據庫和領域專業知識。創建和填充測試數據庫的真實版本需要對現有數據庫有深入的了解,并且能夠使用適合測試的數據重新創建合成版本。因此,盡管這種方法解決了許多安全和隱私問題,但創建數據庫需要更多的開發時間。如果測試數據庫很大,基礎設施問題仍然存在,并且并行性可能受到限制,這取決于可以同時使用多少測試數據庫。
用數據模擬解決測試數據管理問題
Parasoft在SOAtest和Virtualize產品中提供的簡化且更安全的測試數據管理方法更加安全,并解決了這些傳統問題。那么它與傳統方法有何不同?
關鍵的區別在于它通過在測試和正常應用程序使用期間捕獲來自API調用和JDBC/SQL事務的流量來收集測試數據。根據需要對捕獲的數據進行屏蔽,并在Parasoft的測試數據管理界面中生成和顯示數據模型。可以在界面內推斷和配置模型的元數據和數據約束,并且可以執行其他屏蔽、生成和子集化操作。這提供了一個自助服務門戶,可以輕松配置多個一次性數據集,為測試人員提供充分的靈活性和對測試數據的控制,如下面的屏幕截圖所示:
Parasoft的測試數據管理技術通過服務虛擬化得到增強,可以模擬受限制的后端依賴關系來解除測試活動的障礙。一個很好的例子是通過將其與模擬JDBC/SQL事務的虛擬化數據庫交換來替換對共享物理數據庫的依賴,從而允許進行并行和獨立的測試,否則將會發生沖突。Parasoft的測試數據管理引擎擴展了服務虛擬化的功能,允許測試人員根據需求生成、子集、屏蔽和創建個性化定制測試數據。
通過替換數據庫等共享依賴項,服務虛擬化消除了托管數據庫環境所需的基礎架構和復雜性,這意味著隔離的測試套件以及覆蓋極端和角落情況的能力。雖然虛擬化依賴關系不是“真實的”,但是有狀態的操作(例如對數據庫的插入和更新操作)可以在虛擬資產中建模。從概念上看下面這個:
這種方法的關鍵優勢在于它避免了克隆數據庫的復雜性和基礎架構成本,允許API級別測試(即集成測試)比其他測試數據方法更早。
這種方法的其他一些好處包括:
因為它不需要底層數據庫基礎結構,所以它通常可以在開發人員和測試人員工作站上本地運行。
每個測試人員獨有的獨立測試環境意味著共享測試數據庫不存在數據沖突或數據完整性問題。測試變得高度平行,消除了傳統方法的等待時間和浪費周期。
測試人員可以輕松地在測試數據庫中覆蓋可能導致損壞和其他問題的極端情況。由于每個測試環境都是隔離的,因此測試人員可以輕松執行破壞性、性能和安全性測試,而無需考慮共享資源的完整性。
在團隊之間共享測試和數據很容易,以避免重復工作,API測試可以定制用于其他目的,如安全性和性能測試。
使用虛擬化服務器消除了底層數據庫架構的復雜性。有狀態測試可用于提供真實的場景。
通過動態屏蔽僅捕獲所需的數據,您不再需要克隆數據庫,將集成測試的重點放在API上,而不是維護共享的克隆數據庫。
在物理數據庫中的測試仍然是必要的,但是只有在整個系統可用時,在軟件交付過程的末尾才需要歸屬。這種測試數據的方法并沒有完全消除對實際數據庫的測試需求,而是減少了在軟件開發過程的早期階段對數據庫的依賴,以加速功能測試。
想要了解Parasoft、Parasoft SOAtest、Parasoft Virtualize更多信息或資源的朋友,請
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn