特色
    Tricentis虛擬峰會:以DevOps速度交付軟件創新

    從敏捷,DevOps等人的頂級思想家那裏學習最新信息。現在可以按需會議。

    立即觀看
    特色
    您的轉換工具包

    使用我們的轉換工具包提出企業測試策略。

    學到更多
    指南標頭

    指南和見解

    BI/數據倉庫測試:您的主要問題已回答

    從Tricentis數據完整性開始:為什麼,何時以及如何

    因此,您的組織已經啟動了BI/DATA倉庫測試自動化計劃,並且您的任務是領導。確定如何開始使用BI/數據倉庫測試自動化可能是“傳統”測試人員和數據質量專業人員的一項壯舉。隻是考慮一些涉及的複雜性…

    數據倉庫是通過從許多不同來源(應用程序,數據庫,端點,基於雲的應用程序等)導入數據來構建的。所有這些數據點在數據倉庫中進行了彙總,轉換和管理,該數據倉庫可以是基於原始或基於雲的。一旦在數據倉庫中對信息進行了格式化和標準化,您的BI應用程序將訪問數據結構並介紹該數據的視圖,從而允許業務用戶做出明智的業務決策。

    現在,想象一下有人在其中一個報告中發現了一個數據完整性問題,您需要確切地解開問題的出現以及為什麼出現。

    報告渲染不正確嗎?
    報告邏輯中是否存在問題?或周圍的業務邏輯嗎?
    數據輸入BI係統中是否存在問題?
    數據是從適當的數據倉庫實例中獲取的嗎?
    負載,轉換,提取或來源的各種數據將數據驅動到數據倉庫中是否存在問題?

    您的測試自動化不僅應幫助您解決問題的源頭,還可以幫助您防止此類完整性問題首先達到報告。

    可以想象,這可能是一個挑戰。但是,盡管您可能是組織中第一個領導BI/數據倉庫測試計劃的人,但您可以站在巨人的肩膀上。這是組織在推進BI/DATA倉庫計劃時提出的最常見問題,並分享了他們多年來開發和優化的最佳實踐的答案。

    我在何時何地開始BI/數據倉庫測試自動化?

    在BI空間中工作意味著在數千個不斷變化的表和數據列上摔跤和管理數千個,以幫助您的業務運行最佳。無論您是使用Hadoop Systems,Azure Cloud上的大容器,Amazon S3平台上的大型容器,甚至是本地關係數據庫,都是這種情況。

    從數據源到報告和分析,通常如何設置BI空間的圖表

    在所有這些設置中,無論是新表,更改還是更名列,還是更微妙的內容,例如列中的精確度更改程度,都可以進行精確的更改跟蹤是一個挑戰。但是這些更改中的任何一個都會極大地影響您的測試,從而導致大量時間浪費的調試測試試圖查明什麼變了,在哪裏它在源和目標之間發生了變化。

    在端到端數據流中,我們在哪裏開始自動化?

    理想情況下,您可以從頭到尾自動化,也就是說,從數據源到報告和儀表板。在現實世界中,您想從輕鬆的勝利開始,並開始自動化有機會獲得早期證明和成功的機會。在Tricentis,我們幫助客戶在數據倉庫和BI空間中的每個點都成功地開始了成功的BI/數據倉庫測試自動化項目。

    我們從哪些BI/數據倉庫測試開始?

    始終從元數據開始。元數據測試幾乎不需要維護,但可以回答關鍵問題並提供影響分析,這可以指導測試人員的調查。元數據測試將幫助您回答以下問題:

    • 我的平台穩定嗎?每次運行測試或發生更改時,是否會選擇表和列作為正在測試的係統的一部分?
    • 如果發生了更改,則哪些現有測試受到更改的影響?

    將測試從一個環境遷移到另一種環境時,元數據測試也非常強大。例如,如果您計劃從開發人員環境遷移到集成環境,則要確保開發人員環境中的更改會傳播到集成環境。自動元數據測試非常適合快速,輕鬆地驗證新環境的特征。

    在遷移期間,您想對要運行的測試的要求保持清晰的了解,並能夠理解這些要求在不同的環境中是否保持不變。這提供了一個穩定的平台,可讓您知道任何測試錯誤或故障均基於實際數據,而不是元數據結構。

    我們應該涵蓋哪些類型的BI/數據倉庫測試?

    將測試分為三類非常有用:重要檢查,轉換測試和配置文件測試。在每個類別中,您所處的環境將決定測試的組合。

    重要檢查

    像上麵提到的元數據測試一樣,這些類型的測試有助於發現什麼是或不值得測試。這些測試對於幫助您優先考慮努力至關重要,並且易於應用和維護。例如,在數據移動後,重要檢查將查看:

    • 元數據
    • 完整性
    • 獨特
    • 參照完整性
    • 空/默認值

    重要檢查可以標記元數據或係統結構是否已更改,是否已複製數據,重複複製,或者在未複製完整記錄的情況下創建了參考錯誤。這些是在進行更複雜的測試之前要進行的重要檢查。

    在開發人員環境中,一旦發生任何變化,就會立即進行重要檢查,但是它們不會像您進行生產一樣必要。您不太可能在生產中運行完整性測試(例如,在所有18,000個數據倉庫係統中計數行中的行),並且不需要定期進行。

    轉換測試

    這些是每年可以編寫的測試,以驗證您在數據轉換中實現的邏輯(例如,將數據移動到事實表或尺寸表中)導致您期望的值。他們將檢查是否按預期獲取數據,並導致沒有意外的空,缺失值或重疊的值。

    這些測試在開發數據轉換時很大程度上依賴,並且可以在任何變化時作為回歸套件的一部分重複使用。它們在集成過程中也至關重要,因為它們確保現有係統不會受到從其依賴的其他係統(查找表,參考表或源係統)流動的更改影響。回歸套件監視轉換是否正在滴答作用。

    配置文件測試

    數據配置文件測試

    數據配置文件檢查數據中的值是否正確。一旦您處於正確的元數據狀態,就已經複製了記錄,並且所有參考記錄都存在,您要確保數據本身有效。如果我們以假設的汽車保險索賠示例為例,我們要確保每個索賠都與有效而活躍的政策相關聯。如果我們對汽車有索賠,那麼如果它與摩托車政策相關聯,那是不好的。

    數據配置文件測試係統內的業務規則,並且在任何項目的開發周期中至關重要。如果您將數據與查找表合並並在多個係統之間合並數據,則尤其如此。

    趨勢分析測試

    這些測試旨在從數據角度捕獲係統的行為,以尋找正常或預期性能的指示,並具有一定程度的差異。在較早的保險索賠示例中,趨勢分析測試將驗證我們每天每天收到100份新索賠,或者在工作日期間,這些索賠中有80%從新的到付費狀態轉移。

    當趨勢分析測試的結果超出範圍時,我們可以尋找外部事件,例如付款處理中的問題,或進一步研究數據。

    演示:如何測量測試覆蓋率

    此簡短視頻介紹了從需求結構開始的Tricentis數據完整性接口,並顯示了如何使用代表需要測試的數據質量維度的構建塊構建的測試。Tricentis可以可視化您需求的不同層,以及風險覆蓋率和執行狀態的水平。

    如何最大程度地減少測試維護?

    當測試創建期間始終應用核心設計原理時,測試維護將最小化。清楚:

    • 您的要求,您要測試的內容以及要解決的質量或行動的哪些方麵
    • 推動轉型的業務規則。傳入數據的可能組合是什麼?您期望的不同輸出是什麼?

    通過這樣做,您可以分開什麼您正在嚐試測試如何這些測試將被執行。想象您是團隊的新手,並問自己是否可以輕鬆定義所需的內容,以及如何確定實施是否有效,這很有用。

    演示:用車輛保險示例測試ETL邏輯

    對於此視頻,我們返回了機動車保險公司的示例,該公司需要根據車輛的尺寸或班級選擇正確的保單類。它說明了如何測試轉換邏輯而不屬於ETL工具中複製測試的陷阱,這可以使您驗證錯誤正在執行,而無需進入邏輯本身。

    注意如何分開什麼需要從如何該測試將被執行,使維護更加簡單。

    我們如何管理自動化和手動測試之間的權衡?

    首先,您可能沒有資源來運行所有可能的自動測試。這就是基於風險的測試的地方。可以分配不同的權重,以表示與每個測試失敗相關的風險水平。具有較高權重的測試可以首先自動化,因此您可以在測試組合中優先考慮。

    當您在自動化和不是什麼之間進行權衡時,重要的是要超越自動化與手動測試的時間和成本進行簡單的ROI計算。例如,回歸測試對於在相關係統之間其他地方發生變化時提醒您至關重要。即使您沒有積極開發其他係統,您仍然需要確保如果您想確保端到端流程繼續滿足期望,它仍會按預期運行。從長遠來看,可以定期運行可以定期運行的回歸集可以節省大量時間和悲傷。

    這種自動化映射本身就是非常有價值的練習,因為它提出了許多有關業務和測試邏輯的問題,並且可以闡明需要進一步評估的錯誤或過程。

    仍然將手動的測試稱為探索性測試,其中有一些問題和思維方式無法通過軟件捕獲。對於較少的程序情況,仍然需要人類測試人員的創造力,並找到需要探索性測試才能發現的更多隱藏風險。

    在典型的BI/數據倉庫計劃中,出現了什麼共同的挑戰?

    了解風險和覆蓋範圍

    我們已經看到了通過腳本測試的BI流程的多個方麵,從ETL過程到BI報告的數據收集。這些腳本寫得很好,但通常不超出原始測試儀的理解,尤其是在更廣泛的環境中,及其在整體係統中提供的覆蓋範圍。

    隨著時間的流逝,BI項目開始依靠大量的腳本(或一個聯合腳本),而沒有詳細了解所涵蓋的內容以及剩下的內容。從測試管理的角度來看,可能會帶來嚴重後果的不涵蓋的影響,從使用腳本的團隊中收回知識是一個巨大的挑戰。

    筒倉

    許多團隊負責BI/數據倉庫流程的特定部分。We’ve seen set ups where one team extracts data from a source system into something running on Hadoop, a second team imports the contents of the Hadoop table to place into staging tables, and a third team creates the dimensions and measures of the inside layer.

    在這種情況下,這些團隊通常沒有共享的環境。如果沒有在測試和測試形成方麵進行彙總的資源集合,您最終會出現重疊或差距,而在測試中,情況落在了團隊之間的裂縫中。

    數據質量

    組織麵臨的最常見問題是首先輸入數據倉庫的數據質量。在邏輯上可能是錯誤的(這將被上述的配置文件測試所捕獲),或者在源頭上是一個質量問題,您不一定可以控製。孤立組織中的團隊還將采取不一致的措施與這個質量問題,因此很難分辨出項目削減的項目。

    維護

    BI/數據倉庫測試團隊可能會過於專注於檢查其ETL流程是否有效,而忘記詢問它是否會繼續去工作。BI空間中的測試人員能夠創建一些出色的SQL語句,但是一旦項目的開發階段完成,這些測試人員最終被放棄了。這些被遺忘的陳述進入了BI生態係統,在該係統中,其他係統本身正在調整和更改。

    然後,這些語句的意外效果可以流過係統,隻有當用戶回饋其報告中的值不正確時,才能被檢測到。在這個晚期捕獲錯誤使發現原始問題更加複雜。但是,有時候,不是用戶捕獲這些錯誤,而是監管機構會查詢您的報告中的值。

    為什麼要tricentis數據完整性?

    如今,通常討論與某些特定數據庫有關的數據和數據清潔度的概念。因此,圍繞供應商專有技術,數據庫本身內置了解決數據清潔度或數據完整性的工具。一旦您走出一個數據庫,就會出現問題,並且數據完整性的問題將變成業務決策完整性的問題。擁有一個全麵的端到端過程,可確保正確的數據到達業務用戶至關重要。

    Tricentis數據完整性旨在提供強大的決策完整性平台,並具有源不可知論的端到端功能,可允許您驗證從源數據庫到BI報告的每個導入,聚合,轉換。由於僅設置了源數據的類型和量,因此現在可以開始進行BI/數據倉庫測試,這對於保護業務數據和業務決策的持續完整性至關重要。

    繼續閱讀

    請注冊訪問
    Baidu
    map