2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、BI測試基礎(chǔ),——測試交付部 向長喜,目錄,BI概述BI的體系架構(gòu)BI的發(fā)展歷程BI的發(fā)展趨勢主流BI廠商及產(chǎn)品BI測試范圍BI測試方法BI測試工具,BI概述,BI定義BI是Business Intelligence簡稱,中文釋為商業(yè)智能,又稱商務(wù)智能。通常理解為將企業(yè)中現(xiàn)有的數(shù)據(jù)轉(zhuǎn)化為知識,幫助企業(yè)做出明智的業(yè)務(wù)經(jīng)營決策的工具。商業(yè)智能的概念于是1996年由加特納集團(Gartner Group)最早提出:“商業(yè)智

2、能描述了一系列的概念和方法,通過應(yīng)用基于事實的支持系統(tǒng)來輔助商業(yè)決策的制定。商業(yè)智能技術(shù)提供企業(yè)迅速分析數(shù)據(jù)的技術(shù)和方法,包括收集、管理和分析數(shù)據(jù),將這些數(shù)據(jù)轉(zhuǎn)化為有用的信息,然后分發(fā)到企業(yè)各處?!蹦壳?,學術(shù)界對商業(yè)智能的定義并不統(tǒng)一。,BI的體系架構(gòu),BI的發(fā)展歷程,BI的發(fā)展趨勢,功能上具有可配置性、靈活性、可變化性從單獨的商業(yè)智能向嵌入式商業(yè)智能發(fā)展從傳統(tǒng)功能向增強型功能轉(zhuǎn)變加強了績效管理功能產(chǎn)品模塊的集成加強處理結(jié)構(gòu)

3、化和非結(jié)構(gòu)化數(shù)據(jù)的能力加強了預(yù)測分析功能,主流BI廠商及產(chǎn)品,主流BI廠商及產(chǎn)品,主流BI廠商及產(chǎn)品,BI測試范圍,BI測試范圍數(shù)據(jù)源—數(shù)據(jù)倉庫:增量、全量數(shù)據(jù)加載測試;數(shù)據(jù)倉庫—數(shù)據(jù)集市:基礎(chǔ)層腳本測試、應(yīng)用腳本測試、任務(wù)/作業(yè)調(diào)度測試;數(shù)據(jù)集市—前端展現(xiàn):前端展現(xiàn)測試、業(yè)務(wù)驗證測試。,BI測試范圍,數(shù)據(jù)倉庫測試(以HOLAP數(shù)據(jù)倉庫測試為例)后臺數(shù)據(jù)庫的測試結(jié)構(gòu)測試(分為3部分)1、測試表是否存在:使用測試用 

4、;例(Test Case)如下SQL所示: 如果運行結(jié)果返回0,則說明目的表不存在與當 前后臺數(shù)據(jù)庫中,如果返回值為1,則表明目的表存在于當前后臺數(shù)據(jù)庫中。  Select Count(1) from dbo.sysobjects where id = object_id(N’表名’ ) and

5、  objectproperty(id, N’IsuserTable’) =12、測試表是否完整正確:,BI測試范圍,2、測試表是否完整正確:表的完整性測試主要是指表的結(jié)構(gòu)必須和ER 圖相一致,在這個測試部分必須測試 以下幾個部分:  首先,需要驗證目的表的字段是否和ER圖相同,目的表不能增加也不能丟失任何 字段;  其次,

6、需要對每一個字段的數(shù)據(jù)類型進行驗證,如INT不能是BIGINT類型,或者 CHAR不能是VARCHAR類型;再次,對每一個數(shù)據(jù)類型的長度進行驗證,數(shù)據(jù)類型 長度太長會降低系統(tǒng)的性能,而數(shù)據(jù)類型太短則會影響數(shù)據(jù)的精度。最后,必須對每一個字段的約束進行驗證,如該字段是否允許為空,是否是能自增 長等。在SQL2000系統(tǒng)中,可以使用“SP_HELP 表名”得到測試表的結(jié)構(gòu)信息。,BI測試范圍,3、測試

7、表的主外鍵是否正確:眾所周知,表的主鍵是定義了表的記錄完整性,而外鍵則表明了參照完整性,因而 表的主外鍵在表中是非常重要的,所以必須單獨從其它測試部分分離出來,作為一 個獨立的測試模塊進行驗證。  同樣,在SQL2000系統(tǒng)中,可以使用“SP_HELP 表名”得到測試表的主鍵和外鍵的 信息。關(guān)系測試數(shù)據(jù)倉庫中各種表之間存在這一種關(guān)系。這種關(guān)系即是人們早已熟知的“參照

8、完整性”?!皡⒄胀暾浴睖y試是數(shù)據(jù)倉庫測試的一個重要模塊。“參照完整性”也稱為“引用完整性”(在本文中統(tǒng)一稱為參照完整性),參照完整性指添加,修改或刪除記錄時,表間的關(guān)聯(lián)性不可破壞。在SQL Server中,參照完整性基于主鍵與外鍵或唯一鍵(Unique)與外鍵的關(guān)系。參照完整性確保在各個關(guān)聯(lián)的表中的值是一致的【1】。      對于數(shù)據(jù)倉庫,存在著事實表(Fact&

9、#160;Table)和維度表(Dimension Table),如果刪除維度表中的某條記錄,那么對應(yīng)的事實表也必須刪除相關(guān)記錄, 如果事實表插入新的記錄,那么維度表也必須插入相關(guān)的記錄。,BI測試范圍,如下圖所示,有一個事實表和五個維度表(維度表A,維度表B,維度表C,維度表D,維度表E),這六個表通過主外鍵關(guān)系相關(guān)聯(lián)。事實表和維度表A通過A_ID建立參照完整性的關(guān)系;同樣,事實表和維度表B通過B_ID建立參照完整

10、性的關(guān)系;事實表和維度表C通過C_ID建立參照完整性的關(guān)系;事實表和維度表D通過D_ID建立參照完整性的關(guān)系;事實表和維度表E通過E_ID建立參照完整性的關(guān)系。因此,作為測試人員必須至少寫5個測試用例來測試這個參照完整性。,BI測試范圍,BI測試范圍,可以用如下5個測試用例來驗證上圖中數(shù)據(jù)倉庫的星型模型中事實表和維度表的參照完整性: ? Select  count (1) f

11、rom 事實表nolock  where A_ID not in (select A_ID from 維度表A nolock) Select  count (1) from 事實表nolock  where B_ID not&#

12、160;in (select B_ID from 維度表B nolock) Select  count (1) from 事實表nolock  where C_ID not in (select C_ID from 維度表C n

13、olock) Select  count (1) from 事實表nolock  where D_ID not in (select A_ID from 維度表D nolock) Select  count (1) from&

14、#160;事實表nolock  where E_ID not in (select A_ID from 維度表E nolock) 如果以上5個測試用例返回不等于0的值,則說明不滿足參考完整性,前端立方體(Cube)必定會刷新失敗。,BI測試范圍,數(shù)據(jù)測試數(shù)據(jù)倉庫的核心是大量的數(shù)據(jù),數(shù)據(jù)在進入數(shù)據(jù)倉庫之前必須對數(shù)據(jù)進行預(yù)處理,

15、包括抽取,轉(zhuǎn)換和加載(ETL)。測試人員必須測試這些數(shù)據(jù)是否準確,精度是否丟失,是否符合需求說明。如下圖中一個簡單的數(shù)據(jù)轉(zhuǎn)換和傳輸例子,數(shù)據(jù)源的數(shù)據(jù)必須經(jīng)過稍微的變換后加載到目的表中。數(shù)據(jù)源的字段A和關(guān)聯(lián)表關(guān)聯(lián)后得到字段A1加載到目的表中,其他數(shù)據(jù)源字段B,C ,D和Value1,Value2,Value3直接加載到目的表的B,C ,D和Value1,Value2,Value3。,BI測試范圍,可以用如下幾個測試用例

16、來驗證上圖中數(shù)據(jù)倉庫的數(shù)據(jù)傳輸后的數(shù)據(jù)準確性:  Select  count(1) from 數(shù)據(jù)源  inner join 關(guān)聯(lián)表 on數(shù)據(jù)源 .A =關(guān)聯(lián)表.A  Inner join 目的表 on關(guān)聯(lián)表.A1 =目的表A1 

17、0;And  數(shù)據(jù)源.B=目的表.B   And  數(shù)據(jù)源.C =目的表.C  Where  數(shù)據(jù)源.Value1 目的表.Value1 Select  count(1) from 數(shù)據(jù)源  inner join 關(guān)聯(lián)

18、表 on數(shù)據(jù)源 .A =關(guān)聯(lián)表.A  Inner join 目的表 on關(guān)聯(lián)表.A1 =目的表A1  And  數(shù)據(jù)源.B=目的表.B   And  數(shù)據(jù)源.C =目的表.C  Where  數(shù)據(jù)源. 

19、;Value2 目的表.Value2 Select  count(1) from 數(shù)據(jù)源  inner join 關(guān)聯(lián)表 on數(shù)據(jù)源 .A =關(guān)聯(lián)表.A  Inner join 目的表 on關(guān)聯(lián)表.A1 =目的表A1  And&

20、#160; 數(shù)據(jù)源.B=目的表.B   And  數(shù)據(jù)源.C =目的表.C  Where  數(shù)據(jù)源.Value3 目的表.Value3 Select  count(1) from 數(shù)據(jù)源  inner join 關(guān)聯(lián)表 

21、;on數(shù)據(jù)源 .A =關(guān)聯(lián)表.A  Inner join 目的表 on關(guān)聯(lián)表.A1 =目的表A1 And  數(shù)據(jù)源.B=目的表.BAnd  數(shù)據(jù)源.C =目的表.C  Where  數(shù)據(jù)源.Value4 目的表.Value4 或者可以用一個SQL語

22、句實現(xiàn)如上所有的功能: Select  count(1) from 數(shù)據(jù)源  inner join 關(guān)聯(lián)表 on數(shù)據(jù)源 .A =關(guān)聯(lián)表.A  Inner join 目的表 on關(guān)聯(lián)表.A1 =目的表A1  And  數(shù)

23、據(jù)源.B=目的表.B   And  數(shù)據(jù)源.C =目的表.C  Where  數(shù)據(jù)源.Value1 目的表.Value1  Or  數(shù)據(jù)源.Value2 目的表.Value2    Or數(shù)據(jù)源.Value3 目的表.Value3&

24、#160;  Or 數(shù)據(jù)源.Value4 目的表.Value4 對于精度誤差問題,可以用“ ABS(數(shù)據(jù)源.Value -目的表.Value) 目的表.Value” 如果以上測試用例返回不等于0的值,則說明數(shù)據(jù)傳輸和轉(zhuǎn)換失敗或錯誤。,BI測試范圍,數(shù)據(jù)倉庫測試(以HOLAP數(shù)據(jù)倉庫測試為例)前臺立方體的測試維度測試1、維度結(jié)構(gòu)測試,BI測

25、試范圍,以地理維度為例子,見圖2.1,該維度有3個級別,分別是Big Area Name,Region Name和Country Medium Name。因此,對結(jié)構(gòu)的測試分為2個小部分: 按照需求說明書驗證該維度是否是3個級別,在驗證每個級別是否和需求一致。 必須驗證有無拼寫錯誤。 2、維度數(shù)據(jù)測試,BI測試范圍,對于每一個級別,必須要驗證數(shù)據(jù)的準

26、確性,所以,對于Big Area Name,必須在 后臺數(shù)據(jù)庫中運行如下SQL語句:  Select distinct [Big Area Name] from GeographyDim nolock  把得到的結(jié)果和如下圖2.2.1維度值展示紅色部分的結(jié)果進行比較,如果一致則說 明B

27、ig Area Name沒有錯誤。  接下來進行Region Name的測試,必須在后臺數(shù)據(jù)庫中運行如下SQL語句:,BI測試范圍,Select distinct [Region Name] from GeographyDim nolock   where [Big Area&

28、#160;Name] = ‘N.America’  把得到的結(jié)果和如下圖2.2.1維度值展示綠色部分的結(jié)果進行比較,如果一致則說 明Region Name沒有錯誤。  最后進行Country Medium Name的測試,必須在后臺數(shù)據(jù)庫中運行如下SQL語句:  Select distinct 

29、;[Country Medium Name] from GeographyDim nolock   where [Big Area Name] = ‘N.America’  And Region Name = ‘Canada’  

30、把得到的結(jié)果和如下圖2.2.1維度值展示藍色部分的結(jié)果進行比較,如果一致則說 明Region Name沒有錯誤。3、級別間關(guān)系測試,BI測試范圍,眾所周知,數(shù)據(jù)倉庫一般會有很多個數(shù)據(jù)源,因此常常會遇到這樣一個問題,某個 國家在A系統(tǒng)屬于亞洲部分,在B系統(tǒng)屬于歐洲部分,但在數(shù)據(jù)倉庫中是不允許 出現(xiàn)這樣的數(shù)據(jù),數(shù)據(jù)必須保持一致,不能出現(xiàn)一個孩子擁有多個父親的現(xiàn)象出現(xiàn), 否則會導(dǎo)致該該數(shù)據(jù)

31、倉庫中地理維度的分類錯誤。當然可以使用如下SQL語句進 行每一個級別間的關(guān)系驗證。  Select  國家 from(  Select  國家,區(qū)域 from GeographyDim nolock  Group by國家,區(qū)域) A Group 

32、by國家  Having count(1) >1  如果上面的SQL返回任何國家,則說明這些國家屬于多個區(qū)域,意味這數(shù)據(jù)有問題。,BI測試范圍,數(shù)據(jù)倉庫測試(以HOLAP數(shù)據(jù)倉庫測試為例)前臺立方體的測試立方體度量測試1、立方體度量結(jié)構(gòu)測試,BI測試范圍,結(jié)構(gòu)測試包括度量的個數(shù),數(shù)據(jù)類型(貨幣,字符,整型,精度),顯示的格式,所在文件的路徑都必須符合需求說明書的定

33、義。在圖2.2 度量展示中,按照需求說明書的定義,度量Sell In Sales Unit 的路徑必須是Sell In Sales Fact\Sell In Sales。數(shù)據(jù)顯示格式為#,#,數(shù)據(jù)類型為整型。2、立方體度量值測試,BI測試范圍,對度量值的測試必須緊密的結(jié)合每一個維度。如上圖2.2.2度量值和維度結(jié)合展示數(shù)據(jù) 

34、;所示,度量值Sell In Sales Unit結(jié)合了時間維度(紅色區(qū)域),地理維度(藍色區(qū)域)和產(chǎn)品維度(綠色區(qū)域)進行數(shù)據(jù)的顯示。可以使用下面SQL模板實現(xiàn)數(shù)據(jù)的驗證,來檢驗前臺立方體的數(shù)據(jù)是否準確。 Select by [Big Area Name],[ProductName], sum(Sell In Sales&#

35、160;Unit) [Sell In Sales Unit]from 銷售事實表 A Inner join 時間維度表 B  on A.DateId = B.DateID Inner join 產(chǎn)品維度表 C on A.Produ

36、ctID = C. ProductID Inner join 地理維度表 D on A.GeoGraphyID = D. GeoGraphyID Where FiscalYear = ‘2008’ Group by [Big Area

37、60;Name],[ProductName],BI測試范圍,BI測試策略,BI測試策略模型建表語句或?qū)?shù)語句測試驗證與前一版本的差異新舊模型字段的差異性模型與腳本的相互驗證驗證導(dǎo)數(shù)語句是否正確ETL腳本測試源表目標表數(shù)據(jù)量核對拉鏈表拉鏈邏輯檢查標準代碼轉(zhuǎn)換總分關(guān)系延續(xù)性,BI測試策略,BI測試策略任務(wù)/作業(yè)調(diào)度測試廢棄任務(wù)是否被刪除調(diào)度作業(yè)是否符合設(shè)計調(diào)度是否重復(fù)配置依賴是否覆蓋完全數(shù)據(jù)口徑驗證規(guī)范口徑

38、規(guī)則說明書第三數(shù)據(jù)比對業(yè)務(wù)主導(dǎo)雙路比對新舊系統(tǒng)對比,BI測試方法,BI測試方法黑盒測試以腳本跑通出數(shù)為重,檢查腳本內(nèi)出現(xiàn)較為嚴重手工編碼錯誤白盒測試主要檢查腳本ETL程序代碼,包括表表關(guān)聯(lián)檢查、特列字段計算公式檢查、case when條件語句是否正確指標測試檢查數(shù)據(jù)加載完后目標表的各項技術(shù)指標是否正確,包括PI值檢查、空值檢查、規(guī)范性檢查等性能測試數(shù)據(jù)容量測試、數(shù)據(jù)時間窗口期測試、數(shù)據(jù)處理的連續(xù)性和持續(xù)性,BI測試

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論