999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

大數(shù)據(jù)軟件測(cè)試技術(shù)研究

2020-10-27 06:40:02劉珊艷
關(guān)鍵詞:數(shù)據(jù)庫(kù)

劉珊艷,胡 秀,嚴(yán) 武

(1 荊楚理工學(xué)院計(jì)算機(jī)工程學(xué)院,湖北 荊門 448000; 2 荊門市優(yōu)思信息服務(wù)有限公司,湖北 荊門 448000)

大數(shù)據(jù)時(shí)代的到來,使得數(shù)據(jù)成為了重要的經(jīng)濟(jì)資產(chǎn)[1]。大數(shù)據(jù)時(shí)代,也顛覆了以往對(duì)數(shù)據(jù)的慣性思考方式,要保證數(shù)據(jù)執(zhí)行,軟件質(zhì)量、測(cè)試質(zhì)量、數(shù)據(jù)使用場(chǎng)景等,都需要重新變換一個(gè)新的角度,對(duì)軟件進(jìn)行更全方位的思考。

軟件測(cè)試是為了發(fā)現(xiàn)軟件缺陷而運(yùn)行測(cè)試的過程。對(duì)于常規(guī)的系統(tǒng)測(cè)試,測(cè)試人員根據(jù)需求規(guī)格說明的描述,判斷系統(tǒng)的輸出結(jié)果與需求描述的預(yù)期結(jié)果是否一致:若一致,系統(tǒng)的準(zhǔn)確性就得到了保證;若不一致,系統(tǒng)就是有缺陷的。這個(gè)看似必然的測(cè)試準(zhǔn)則在大數(shù)據(jù)系統(tǒng)測(cè)試中已經(jīng)不成立了。大數(shù)據(jù)系統(tǒng)軟件測(cè)試,在很多場(chǎng)景下系統(tǒng)預(yù)期的輸出結(jié)果是無(wú)法直接確定的。

大數(shù)據(jù)時(shí)代對(duì)軟件測(cè)試要求提升到了一個(gè)新高度。大數(shù)據(jù)系統(tǒng)架構(gòu)設(shè)計(jì)的復(fù)雜性使得系統(tǒng)測(cè)試也非常復(fù)雜,軟件測(cè)試的各個(gè)方面都會(huì)受到大數(shù)據(jù)的影響[2],這使得大數(shù)據(jù)測(cè)試非常有挑戰(zhàn)性。

1 大數(shù)據(jù)測(cè)試難點(diǎn)

1.1 測(cè)試?yán)碚?/h3>

當(dāng)前軟件測(cè)試?yán)碚摯蟛糠质?0多年前提出的基礎(chǔ)測(cè)試?yán)碚摗_@些理論仍然可以設(shè)計(jì)出很完善的測(cè)試案例,前提是軟件功能明確,且在需求規(guī)格說明中作了準(zhǔn)確的描述。

在大數(shù)據(jù)場(chǎng)景下無(wú)論是趨勢(shì)分析還是圖論計(jì)算都變得極其困難。因此預(yù)期輸出結(jié)果O′無(wú)法確定,在這種情況下,確定測(cè)試用例I是否能夠通過也同樣變得極其困難[3]。

1.2 測(cè)試過程

大數(shù)據(jù)應(yīng)用的鮮明特征之一就是數(shù)據(jù)的多樣性,既有結(jié)構(gòu)化的關(guān)系數(shù)據(jù)、圖數(shù)據(jù)、軌跡數(shù)據(jù),也有非結(jié)構(gòu)化的文本數(shù)據(jù)、圖片數(shù)據(jù),甚至是視頻數(shù)據(jù)等。大數(shù)據(jù)軟件的一個(gè)基本要求就是能夠支持結(jié)構(gòu)化、 半結(jié)構(gòu)化、非結(jié)構(gòu)化等多種數(shù)據(jù)類型的組織、存儲(chǔ)和管理,形成以量質(zhì)相融合的知識(shí)管理為中心、并以此提供面向知識(shí)服務(wù)的快速應(yīng)用開發(fā)接口[4]。故大數(shù)據(jù)應(yīng)用程序的測(cè)試,除了要驗(yàn)證其功能、性能,還要驗(yàn)證數(shù)據(jù)處理。即數(shù)據(jù)能否正確地加載至系統(tǒng),加載后的數(shù)據(jù)與源數(shù)據(jù)是否一致,數(shù)據(jù)映射、清洗過程是否正常,以及經(jīng)過大數(shù)據(jù)處理框架后數(shù)據(jù)的準(zhǔn)確性和完整性。

1.3 測(cè)試思維

大數(shù)據(jù)系統(tǒng)的應(yīng)用,目的是為了得到數(shù)據(jù)和數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系。數(shù)據(jù)關(guān)聯(lián)顛覆了以往對(duì)數(shù)據(jù)的慣性思考方式。保證數(shù)據(jù)質(zhì)量、軟件質(zhì)量、數(shù)據(jù)利用率等,都需要站在更高的高度以全新的角度進(jìn)行全方位的思考。這種思考方式稱為大數(shù)據(jù)思維,從數(shù)據(jù)的應(yīng)用場(chǎng)景切入,思考如何挖掘數(shù)據(jù)本身的價(jià)值,并將其轉(zhuǎn)變?yōu)槭袌?chǎng)價(jià)值。所以大數(shù)據(jù)軟件的思維方式和傳統(tǒng)軟件將完全不同。即需要全部數(shù)據(jù)樣本而不是抽樣、關(guān)注效率而不是精確度、關(guān)注相關(guān)性而不是因果關(guān)系[5]。大數(shù)據(jù)測(cè)試除了關(guān)注系統(tǒng)功能和性能外,還要關(guān)注數(shù)據(jù)本身的價(jià)值。面對(duì)海量數(shù)據(jù),思考如何應(yīng)用這些數(shù)據(jù),如何有效提升數(shù)據(jù)的價(jià)值是測(cè)試的關(guān)鍵所在。

2 測(cè)試的主要技術(shù)

2.1 數(shù)據(jù)處理流程

根據(jù)數(shù)據(jù)從數(shù)據(jù)源向商務(wù)決策報(bào)表轉(zhuǎn)化的過程,總結(jié)整理大數(shù)據(jù)的處理流程如圖1所示。

圖1 大數(shù)據(jù)處理流程

首先,進(jìn)行數(shù)據(jù)采集、導(dǎo)入。這一步將根據(jù)具體的應(yīng)用背景和業(yè)務(wù)需求,將各種數(shù)據(jù)源如網(wǎng)絡(luò)日志、物聯(lián)網(wǎng)、互聯(lián)網(wǎng)文本和文件等存儲(chǔ)到多個(gè)數(shù)據(jù)庫(kù)中,在這一階段可以使用Flume工具、爬蟲工具和Sqoop工具。其次,進(jìn)行數(shù)據(jù)清洗分析。數(shù)據(jù)加載到Hdfs后,MapReduce開始對(duì)原始數(shù)據(jù)進(jìn)行清洗和統(tǒng)計(jì)分析。把一堆雜亂無(wú)章的數(shù)據(jù)按照某種特例歸納起來,然后處理得到想要的結(jié)果。Hive可以應(yīng)用到數(shù)據(jù)分析的場(chǎng)景中來,它是一種ETL(Extract-Transform-Load抽取、轉(zhuǎn)換和加載)工具,數(shù)據(jù)經(jīng)過ETL產(chǎn)生中間表或產(chǎn)生最終的報(bào)表。第三,使用數(shù)據(jù)挖掘技術(shù)。對(duì)于前面階段處理后的數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘,使用不同的算法對(duì)數(shù)據(jù)進(jìn)行計(jì)算,從而滿足更進(jìn)一步數(shù)據(jù)分析需求。數(shù)據(jù)挖掘作為一個(gè)術(shù)語(yǔ),用于以下六類活動(dòng):分類、估算、預(yù)測(cè)、關(guān)聯(lián)規(guī)則、聚類、描述[6],主要使用的技術(shù)是機(jī)器學(xué)習(xí)以及能夠從復(fù)雜數(shù)據(jù)中獲取有價(jià)值的知識(shí)的深度學(xué)習(xí)等[7]。最后,就是數(shù)據(jù)展示。當(dāng)數(shù)據(jù)統(tǒng)計(jì)分析結(jié)束后,產(chǎn)生的數(shù)據(jù)可以轉(zhuǎn)移到數(shù)據(jù)倉(cāng)庫(kù)或有特定應(yīng)用的數(shù)據(jù)集市中,也可以使用Sqoop將產(chǎn)生的數(shù)據(jù)導(dǎo)出到傳統(tǒng)的數(shù)據(jù)庫(kù)如Mysql中。Hadoop中任務(wù)的調(diào)度與協(xié)調(diào)由任務(wù)調(diào)度框架Oozie來完成。對(duì)于導(dǎo)出的數(shù)據(jù)可以使用BI(Business Intelligence商業(yè)智能)工具產(chǎn)生報(bào)表供用戶作出準(zhǔn)確的決策。

2.2 大數(shù)據(jù)測(cè)試策略

大數(shù)據(jù)應(yīng)用程序測(cè)試更多的是驗(yàn)證其數(shù)據(jù)處理過程,而不僅僅是測(cè)試軟件產(chǎn)品的單個(gè)特性。對(duì)于大數(shù)據(jù)測(cè)試工程師而言,如何高效正確的驗(yàn)證經(jīng)過大數(shù)據(jù)工具/框架成功處理過的至少百萬(wàn)兆字節(jié)的數(shù)據(jù)的準(zhǔn)確性將會(huì)是一個(gè)巨大的挑戰(zhàn)。大數(shù)據(jù)處理的三個(gè)特性[8]是大批量、實(shí)時(shí)性、可交互。

除此之外,在測(cè)試應(yīng)用程序之前,有必要檢查數(shù)據(jù)的質(zhì)量,并將其視為數(shù)據(jù)庫(kù)測(cè)試的一部分。它包括檢查各種特征,如一致性、準(zhǔn)確性、重復(fù)性、數(shù)據(jù)完整性等。

2.3 大數(shù)據(jù)測(cè)試傳統(tǒng)數(shù)據(jù)庫(kù)測(cè)試對(duì)比

大數(shù)據(jù)多源異構(gòu)、規(guī)模巨大、快速多變等特性使得傳統(tǒng)的計(jì)算不能有效支持大數(shù)據(jù)的處理、分析和計(jì)算[9]。同樣,在進(jìn)行大數(shù)據(jù)的測(cè)試時(shí),由于數(shù)據(jù)規(guī)模大,內(nèi)在關(guān)聯(lián)關(guān)系密切而復(fù)雜,價(jià)值密度分布極不均衡,這些特征都要求大數(shù)據(jù)測(cè)試與傳統(tǒng)的數(shù)據(jù)庫(kù)測(cè)試技術(shù)全然不同。表1給出了傳統(tǒng)數(shù)據(jù)庫(kù)測(cè)測(cè)試與大數(shù)據(jù)測(cè)試的不同之處。

表1 傳統(tǒng)數(shù)據(jù)庫(kù)測(cè)試VS大數(shù)據(jù)測(cè)試

為了支持?jǐn)?shù)據(jù)的讀寫刪,測(cè)試需要對(duì)提供給用戶的所有的基本功能(接口)進(jìn)行測(cè)試,保證基本功能的正確。由于大數(shù)據(jù)系統(tǒng)往往由服務(wù)器集群組成,目前可達(dá)到成千上萬(wàn)個(gè)核的集群。測(cè)試需要在上百臺(tái)甚至上千臺(tái)Blade機(jī)器進(jìn)行,以期覆蓋幾十種操作系統(tǒng)。硬件支持,性能、壓力、可用性、安全性、瀏覽器、數(shù)據(jù)庫(kù)等都是大數(shù)據(jù)測(cè)試的要點(diǎn)[10]。

大數(shù)據(jù)測(cè)試不同于常規(guī)的應(yīng)用測(cè)試,為了應(yīng)對(duì)數(shù)據(jù)爆炸性增長(zhǎng),應(yīng)該具備以下一些基礎(chǔ)環(huán)境:1)擁有足夠的存儲(chǔ)設(shè)備來存儲(chǔ)和處理大數(shù)據(jù);2)擁有集群來做分布式節(jié)點(diǎn)和數(shù)據(jù)處理;3)至少擁有足夠的CPU、內(nèi)存來確保有高性能的處理基礎(chǔ)。

2.4 大數(shù)據(jù)測(cè)試流程

大數(shù)據(jù)應(yīng)用的測(cè)試過程見圖2,不同結(jié)構(gòu)的數(shù)據(jù)首先被采集加載至Hadoop系統(tǒng)中,再通過ETL技術(shù)將業(yè)務(wù)系統(tǒng)的數(shù)據(jù)抽取、清洗轉(zhuǎn)換之后加載到數(shù)據(jù)倉(cāng)庫(kù),為BI商業(yè)智能的決策提供分析依據(jù)。

圖2 大數(shù)據(jù)測(cè)試流程

大數(shù)據(jù)測(cè)試大體可以分為三大步驟。

第一步,數(shù)據(jù)預(yù)處理驗(yàn)證。在進(jìn)行大數(shù)據(jù)測(cè)試時(shí),首先要在Hadoop前驗(yàn)證數(shù)據(jù)的準(zhǔn)確性。數(shù)據(jù)來源可能是關(guān)系數(shù)據(jù)庫(kù)、日志系統(tǒng)、社交網(wǎng)絡(luò)等,應(yīng)該確保正確的數(shù)據(jù)加載到系統(tǒng)中。要驗(yàn)證加載的數(shù)據(jù)和源數(shù)據(jù)是一致的。要驗(yàn)證數(shù)據(jù)被正確的提取和加載至HDFS中,且被分割、復(fù)制到不同的數(shù)據(jù)節(jié)點(diǎn)中。

第二步,MapReduce數(shù)據(jù)輸出驗(yàn)證。當(dāng)數(shù)據(jù)加載進(jìn)行HDFS后,MapReduce開始對(duì)來自不同數(shù)據(jù)源的數(shù)據(jù)進(jìn)行處理。在本階段,主要驗(yàn)證每一個(gè)處理節(jié)點(diǎn)的業(yè)務(wù)邏輯是否正確。Map過程和 Reduce過程工作正常。驗(yàn)證數(shù)據(jù)聚合、合并是否正確。驗(yàn)證MapReduce處理過程的key/value對(duì)已正確生成。驗(yàn)證經(jīng)過MapReduce后數(shù)據(jù)的準(zhǔn)確性。

第三步,輸出結(jié)果驗(yàn)證。當(dāng)MapReduce過程結(jié)束后,產(chǎn)生的數(shù)據(jù)輸出文件將被按需移至數(shù)據(jù)倉(cāng)庫(kù)或其它的事務(wù)型系統(tǒng)中。在此過程中,可能會(huì)由于不正確地應(yīng)用轉(zhuǎn)換規(guī)則,從HDFS中提取的數(shù)據(jù)不完全而帶來問題,這階段主要驗(yàn)證:驗(yàn)證數(shù)據(jù)轉(zhuǎn)換規(guī)則是否正確應(yīng)用;驗(yàn)證目標(biāo)系統(tǒng)數(shù)據(jù)加載是否成功;驗(yàn)證數(shù)據(jù)的完整性;通過比較目標(biāo)數(shù)據(jù)和HDFS文件數(shù)據(jù)來驗(yàn)證是否有數(shù)據(jù)損壞。

3 ETL測(cè)試

3.1 ETL測(cè)試過程

ETL即數(shù)據(jù)抽取、轉(zhuǎn)換、裝載的過程。ETL能夠轉(zhuǎn)換不同結(jié)構(gòu)、類型的數(shù)據(jù)集為統(tǒng)一的結(jié)構(gòu),以便后續(xù)使用BI工具生成有意義的分析和報(bào)表。ETL測(cè)試的目的是確保在業(yè)務(wù)轉(zhuǎn)換之后從源加載到目標(biāo)的數(shù)據(jù)是準(zhǔn)確的。它還包括在源和目標(biāo)之間使用的各種中間階段驗(yàn)證數(shù)據(jù)。與其他測(cè)試過程相似,ETL也經(jīng)歷了不同的階段。ETL過程和ETL測(cè)試過程的不同階段如圖3所示。ETL測(cè)試要完成的任務(wù)分別是:確定數(shù)據(jù)源和需求,數(shù)據(jù)獲取,實(shí)現(xiàn)業(yè)務(wù)邏輯和維度建模,建立和填充數(shù)據(jù),生成報(bào)告。

圖3 ETL過程圖和ETL測(cè)試過程

3.2 ETL測(cè)試內(nèi)容

隨著業(yè)務(wù)的發(fā)展擴(kuò)張,產(chǎn)生的數(shù)據(jù)越來越多,這些數(shù)據(jù)的收集方式、原始數(shù)據(jù)格式、數(shù)據(jù)量、存儲(chǔ)要求、使用場(chǎng)景等方面有很大的差異。為了確保從源數(shù)據(jù)到目標(biāo)數(shù)據(jù)經(jīng)過不同階段業(yè)務(wù)轉(zhuǎn)換完成后是準(zhǔn)確的,ETL測(cè)試由此展開[11]。ETL測(cè)試的主要內(nèi)容如下。

1)生產(chǎn)確認(rèn)測(cè)試。該類型的ETL測(cè)試是在數(shù)據(jù)遷移至生產(chǎn)系統(tǒng)時(shí)進(jìn)行的。為了提高商業(yè)決策的準(zhǔn)確性,生產(chǎn)系統(tǒng)中的數(shù)據(jù)必須以正確的順序進(jìn)行排列。

2)源數(shù)據(jù)到目標(biāo)數(shù)據(jù)測(cè)試。該類型的測(cè)試主要驗(yàn)證所轉(zhuǎn)換的數(shù)據(jù)值是否是預(yù)期的數(shù)據(jù)值。

3)升級(jí)測(cè)試。該類型的ETL測(cè)試可以自動(dòng)生成,能節(jié)省大量的測(cè)試開發(fā)時(shí)間。主要檢查舊應(yīng)用或存儲(chǔ)庫(kù)中提取的數(shù)據(jù)是否與新應(yīng)用或新存儲(chǔ)庫(kù)中的數(shù)據(jù)完全相同。

4)元數(shù)據(jù)測(cè)試。元數(shù)據(jù)測(cè)試包括數(shù)據(jù)類型檢查、數(shù)據(jù)長(zhǎng)度檢查和索引/約束檢查。

5)數(shù)據(jù)完整性測(cè)試。為了驗(yàn)證所有預(yù)期的數(shù)據(jù)都從源加載到目標(biāo)中,需要進(jìn)行數(shù)據(jù)完整性測(cè)試。在數(shù)據(jù)完整性測(cè)試過程中,還可以進(jìn)行一些簡(jiǎn)單的轉(zhuǎn)換或無(wú)轉(zhuǎn)換的源與目標(biāo)之間的計(jì)數(shù)、聚合和實(shí)際數(shù)據(jù)比較和驗(yàn)證的測(cè)試。

6)數(shù)據(jù)準(zhǔn)確性測(cè)試。確保數(shù)據(jù)按預(yù)期準(zhǔn)確加載和準(zhǔn)確轉(zhuǎn)換是數(shù)據(jù)準(zhǔn)確性測(cè)試的目標(biāo)。

7)數(shù)據(jù)轉(zhuǎn)換測(cè)試。數(shù)據(jù)轉(zhuǎn)換測(cè)試是一個(gè)復(fù)雜的過程,并不是簡(jiǎn)單的寫一個(gè)源SQL查詢并將輸出與目標(biāo)數(shù)據(jù)進(jìn)行比較來實(shí)現(xiàn)的。可能需要為每一行運(yùn)行多個(gè)SQL查詢來驗(yàn)證轉(zhuǎn)換規(guī)則。

8)數(shù)據(jù)質(zhì)量測(cè)試。數(shù)據(jù)質(zhì)量測(cè)試包含語(yǔ)法測(cè)試和參照測(cè)試。為了避免在業(yè)務(wù)過程中由于日期或唯一編號(hào)(例如訂單號(hào))引起的錯(cuò)誤,需要進(jìn)行數(shù)據(jù)質(zhì)量測(cè)試。語(yǔ)法測(cè)試:根據(jù)無(wú)效字符、字符模式、不正確大小寫等報(bào)告臟數(shù)據(jù)。參照測(cè)試:基于數(shù)據(jù)模型檢查數(shù)據(jù),例如客戶ID。數(shù)據(jù)質(zhì)量測(cè)試包含:數(shù)字檢查、日期檢查、精度檢查、數(shù)據(jù)檢查、空值校驗(yàn)等。

9)增量ETL測(cè)試。增量測(cè)試驗(yàn)證插入操作和更新操作在增量ETL過程中是否按照預(yù)期被處理,并檢查添加新數(shù)據(jù)時(shí)新舊數(shù)據(jù)的數(shù)據(jù)完整性。

10)GUI/導(dǎo)航測(cè)試。該類型測(cè)試主要檢查大數(shù)據(jù)報(bào)告的GUI/導(dǎo)航方面是否正常。

3.3 ETL自動(dòng)化測(cè)試

ETL測(cè)試過程是測(cè)試數(shù)據(jù)倉(cāng)庫(kù)中一個(gè)至關(guān)重要的階段,幾乎也是最復(fù)雜的階段,因?yàn)樗苯佑绊憯?shù)據(jù)的質(zhì)量。每次ETL過程的失效都會(huì)導(dǎo)致在數(shù)據(jù)倉(cāng)庫(kù)中加載不正確的數(shù)據(jù),從而導(dǎo)致提供錯(cuò)誤的數(shù)據(jù)以供商務(wù)決策,最終導(dǎo)致不準(zhǔn)確決策。ETL測(cè)試的一般方法是使用SQL腳本或手工測(cè)試數(shù)據(jù)。這些ETL測(cè)試方法非常耗時(shí),容易出錯(cuò),并且很少提供完整的測(cè)試覆蓋率。為了在生產(chǎn)和開發(fā)環(huán)境中加速、提高ETL測(cè)試的覆蓋率、降低成本、提高缺陷檢測(cè)率,自動(dòng)化測(cè)試已經(jīng)被證明是提高數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)質(zhì)量的有效手段。但ETL自動(dòng)化測(cè)試還面臨一些挑戰(zhàn)和限制[12]:

1)人們普遍認(rèn)為并不是所有的數(shù)據(jù)倉(cāng)庫(kù)測(cè)試都可以自動(dòng)化,只是一些關(guān)鍵的和重復(fù)的測(cè)試可以使用自動(dòng)化工具來實(shí)現(xiàn)。

2)數(shù)據(jù)倉(cāng)庫(kù)由許多表和記錄組成,增加了測(cè)試的復(fù)雜性。

3)數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)來自多個(gè)源系統(tǒng),在測(cè)試過程中,必須檢查來自源系統(tǒng)和加載在數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)之間的數(shù)據(jù)。

4)自動(dòng)化測(cè)試不能完全取代手工測(cè)試。仍然需要手工測(cè)試來處理自動(dòng)化可能無(wú)法捕獲所有內(nèi)容的復(fù)雜情況。

5)業(yè)務(wù)對(duì)象報(bào)告測(cè)試仍然是自動(dòng)化測(cè)試的一個(gè)挑戰(zhàn)。

6)自動(dòng)化工具的成本較高導(dǎo)致人們依賴于手工測(cè)試。

圖4給出了自動(dòng)化測(cè)試的框架。建議的框架包括:三個(gè)存儲(chǔ)庫(kù)、映射文檔、兩個(gè)流程和結(jié)果報(bào)告。這三個(gè)存儲(chǔ)庫(kù)分別是:存儲(chǔ)數(shù)據(jù)倉(cāng)庫(kù)元數(shù)據(jù)的元數(shù)據(jù)存儲(chǔ)庫(kù)、用于存儲(chǔ)映射文檔和元數(shù)據(jù)存儲(chǔ)庫(kù)所需信息的數(shù)據(jù)庫(kù)模式存儲(chǔ)庫(kù)、存儲(chǔ)質(zhì)量參數(shù)定義及其相關(guān)測(cè)試用例的測(cè)試程序存儲(chǔ)庫(kù)。將使用兩個(gè)流程根據(jù)前面存儲(chǔ)庫(kù)中存儲(chǔ)的數(shù)據(jù)生成和執(zhí)行測(cè)試用例,最后生成關(guān)于通過的測(cè)試用例的結(jié)果報(bào)告。

圖4 ETL自動(dòng)化進(jìn)程測(cè)試框架

ETL自動(dòng)化測(cè)試的優(yōu)勢(shì)有[13]:1)減少花費(fèi)在測(cè)試階段的時(shí)間;2)測(cè)試的可重用性;3)節(jié)省人力;4)利用工具生成測(cè)試報(bào)告并記錄測(cè)試結(jié)果;5)每更改數(shù)據(jù)或業(yè)務(wù)規(guī)則后減少回歸測(cè)試工作。

4 案例研究

4.1 案例描述

在本節(jié)中,使用員工信息數(shù)據(jù)庫(kù)來檢測(cè)ETL過程執(zhí)行后,源數(shù)據(jù)到目標(biāo)數(shù)據(jù)轉(zhuǎn)換的準(zhǔn)確性。員工信息表的數(shù)據(jù)由另一個(gè)數(shù)據(jù)庫(kù)中的多表填充,圖5顯示用于填充員工維度表的源數(shù)據(jù)庫(kù)。源數(shù)據(jù)庫(kù)包括Person(人員)表、Employee(員工)表、EmployDepartmentHistory(員工部門歷史)表、SalesPerson(銷售人員)表、Department(部門)表。ETL過程將對(duì)DW(Data Warehouse數(shù)據(jù)倉(cāng)庫(kù))中員工信息表進(jìn)行數(shù)據(jù)填充,從源數(shù)據(jù)庫(kù)中抽取特定的列,抽取出的數(shù)據(jù)將與DW中表的數(shù)據(jù)進(jìn)行比較,只有確定是新記錄才能添加,其他記錄被拋棄不使用。

圖5 源數(shù)據(jù)庫(kù)的聯(lián)系

4.2 測(cè)試環(huán)境搭建

測(cè)試用例的產(chǎn)生和執(zhí)行是使用圖4所示的框架。第一步,定義引用涉及的數(shù)據(jù)庫(kù):源數(shù)據(jù)庫(kù)、暫存數(shù)據(jù)庫(kù)和DW。第二步,涉及ETL邏輯映射文檔和元數(shù)據(jù)存儲(chǔ)庫(kù)。邏輯映射文檔包含從源數(shù)據(jù)庫(kù)提供的每個(gè)字段到目標(biāo)的過程。它包含以下字段:目標(biāo)表名、目標(biāo)表類型列名、SCD(Slowly changing Dimension漸變維度)類型 、源數(shù)據(jù)庫(kù)、源表名、源列名和轉(zhuǎn)換。最后,建立到元數(shù)據(jù)存儲(chǔ)庫(kù)的連接,目前市場(chǎng)上有許多工具可以在DW階段實(shí)現(xiàn)元數(shù)據(jù)的交換,如:MDS和MIMS。

4.3 測(cè)試程序執(zhí)行

從邏輯映射文檔和DW元數(shù)據(jù)中提取所需數(shù)據(jù)后,這些數(shù)據(jù)將被加載到數(shù)據(jù)庫(kù)模型中。對(duì)于數(shù)據(jù)模型中的質(zhì)量參數(shù),都分配了一些例行程序,通過研究影響每一個(gè)質(zhì)量參數(shù)的所有質(zhì)量問題,找到檢測(cè)出質(zhì)量問題的測(cè)試程序,手動(dòng)的為每一個(gè)質(zhì)量參數(shù)分配測(cè)試程序,指定的測(cè)試程序?qū)⒃诿恳粋€(gè)維度表/實(shí)際表上執(zhí)行。在這一步驟中測(cè)試用例中抽取出的每一個(gè)字段將被賦予來自數(shù)據(jù)庫(kù)模型中的值(表名、列名等)。用于執(zhí)行的算法如下:

開始

對(duì)每一個(gè)邏輯數(shù)據(jù)映射文檔中的維度表/實(shí)際表執(zhí)行以下操作:

開始

對(duì)于每一個(gè)測(cè)試程序庫(kù)中的質(zhì)量參數(shù)

開始

獲取相應(yīng)的測(cè)試用例;

對(duì)于每一個(gè)測(cè)試用例

將測(cè)試用例的字段映射為數(shù)據(jù)庫(kù)模型中的對(duì)應(yīng)值;

執(zhí)行測(cè)試用例。

如果測(cè)試失敗,重定向測(cè)試用例并提交測(cè)試詳細(xì)信息;

否則 顯示結(jié)果;

結(jié)束 如果;

結(jié)束// 結(jié)束每個(gè)測(cè)試用例

結(jié)束// 結(jié)束每個(gè)質(zhì)量參數(shù)

結(jié)束// 結(jié)束每個(gè)表

結(jié)束

在對(duì)所選條目執(zhí)行測(cè)試之后,成功的測(cè)試用例將直接通過到下一步,失敗的測(cè)試用例可以使用各種策略來處理在需求分析階段確定的ETL錯(cuò)誤。例如:自動(dòng)清除錯(cuò)誤數(shù)據(jù)、拋出錯(cuò)誤數(shù)據(jù)及常用處理方式----錯(cuò)誤數(shù)據(jù)交給數(shù)據(jù)庫(kù)管理員。

4.4 測(cè)試結(jié)果分析

通過對(duì)裝載在維度表中的真實(shí)數(shù)據(jù)及代表無(wú)效ETL過程存在的各種錯(cuò)誤類型的模擬數(shù)據(jù)這兩個(gè)不同的數(shù)據(jù)庫(kù)進(jìn)行測(cè)試,得到測(cè)試結(jié)果見表2。結(jié)果顯示植入錯(cuò)誤后,所有的測(cè)試用例都沒有通過測(cè)試。

表2 生成的測(cè)試用例及測(cè)試結(jié)果

分析測(cè)試結(jié)果,就可以通過比較檢測(cè)出的故障與植入錯(cuò)誤數(shù)來評(píng)估系統(tǒng)的有效性了。系統(tǒng)生成的所有報(bào)告表明,所有植入的錯(cuò)誤均被檢測(cè)到了,驗(yàn)證了該方法在ETL階段檢測(cè)數(shù)據(jù)質(zhì)量的有效性。通過在不同的數(shù)據(jù)集上進(jìn)行測(cè)試(從10000到50000記錄)證明了該方法在檢測(cè)不同數(shù)據(jù)集上錯(cuò)誤的有效性。

5 總結(jié)與展望

為了保證大數(shù)據(jù)系統(tǒng)的質(zhì)量,需要對(duì)大數(shù)據(jù)應(yīng)用程序進(jìn)行全面測(cè)試。大數(shù)據(jù)應(yīng)用程序的測(cè)試重點(diǎn)之一就是要驗(yàn)證數(shù)據(jù)處理,驗(yàn)證加載前數(shù)據(jù)的準(zhǔn)確性,驗(yàn)證處理過程數(shù)據(jù),驗(yàn)證輸出結(jié)果數(shù)據(jù)。ETL測(cè)試的目的就是確保在業(yè)務(wù)轉(zhuǎn)換之后從源加載到目標(biāo)的數(shù)據(jù)是準(zhǔn)確的,它還包括在源和目標(biāo)之間使用的各種中間階段驗(yàn)證數(shù)據(jù),以便后續(xù)使用BI工具生成有意義的分析表報(bào)。

未來大數(shù)據(jù)系統(tǒng)將面臨許多重要挑戰(zhàn),這些挑戰(zhàn)源于數(shù)據(jù)的本質(zhì):龐大、多樣和不斷發(fā)展,組織捕獲和處理這些數(shù)據(jù)的能力受到了限制。當(dāng)前的技術(shù)、架構(gòu)、管理和測(cè)試方法都需要進(jìn)一步發(fā)展來面對(duì)數(shù)據(jù)的洪流,或者處理機(jī)構(gòu)需要改變思維、計(jì)劃、管理、處理和報(bào)告數(shù)據(jù)的方式,以真正發(fā)揮大數(shù)據(jù)的潛力。以下是研究人員和測(cè)試人員在未來幾年必須面對(duì)的一些挑戰(zhàn)。

1)實(shí)時(shí)性:大數(shù)據(jù)生成速度很快,很多數(shù)據(jù)是在線的,并且需要實(shí)時(shí)處理。大數(shù)據(jù)的實(shí)時(shí)分析是電子商務(wù)提供在線服務(wù)的關(guān)鍵。且所產(chǎn)生的數(shù)據(jù)中還存在大量的噪聲對(duì)象、不完整對(duì)象、不準(zhǔn)確對(duì)象、不精確對(duì)象和冗余對(duì)象[14],大數(shù)據(jù)的規(guī)模在飛速增長(zhǎng),到2020年將達(dá)到35 ZB。如何判斷是否從大數(shù)據(jù)中發(fā)現(xiàn)并提取有價(jià)值的信息,實(shí)現(xiàn)快速響應(yīng)和實(shí)時(shí)決策,是大數(shù)據(jù)測(cè)試研究的重點(diǎn)。

2)隱私安全:大數(shù)據(jù)技術(shù)的發(fā)展也極大威脅著個(gè)人隱私,政府機(jī)構(gòu)在利用數(shù)據(jù)分析作出決策的同時(shí)還要致力于保護(hù)本國(guó)公民的隱私權(quán),澳大利亞政府通過了《2012年隱私修正案(加強(qiáng)隱私保護(hù))法案》,加強(qiáng)了對(duì)個(gè)人信息的保護(hù),并為個(gè)人信息的使用設(shè)定了更清晰的界限。歐洲法院(Europen Court of Justice)制定“被遺忘權(quán)”,規(guī)定歐洲公民有權(quán)要求搜索引擎刪除被認(rèn)為不準(zhǔn)確、不相關(guān)或過度開發(fā)條目[15]。美國(guó)、英國(guó)都相繼成立數(shù)據(jù)保護(hù)的立法,我國(guó)于近幾年頒布《網(wǎng)絡(luò)安全法》、《個(gè)人信息保護(hù)法》等法律法規(guī)[16]。政府機(jī)構(gòu)在收集或管理公民數(shù)據(jù)時(shí),受到一系列立法控制,必須遵守一系列行為和法規(guī)。這些立法工具旨在維持公眾對(duì)政府作為有效和安全的公民信息存儲(chǔ)庫(kù)和管理者的信心。政府機(jī)構(gòu)使用大數(shù)據(jù)不會(huì)改變這一點(diǎn),相反,它可能會(huì)在管理信息安全風(fēng)險(xiǎn)方面增加一層額外的復(fù)雜性。大數(shù)據(jù)源、機(jī)構(gòu)內(nèi)部和跨機(jī)構(gòu)的傳輸系統(tǒng),以及這些數(shù)據(jù)的端點(diǎn),都將成為本地和國(guó)際黑客感興趣的目標(biāo),需要得到保護(hù)。研究開發(fā)的大數(shù)據(jù)系統(tǒng)應(yīng)該具有相當(dāng)高的安全性能,以達(dá)到保護(hù)公民隱私權(quán)的目的。

3)隱藏的大數(shù)據(jù):大量有用的數(shù)據(jù)正在丟失,因?yàn)樾聰?shù)據(jù)大部分是基于無(wú)標(biāo)記文件和非結(jié)構(gòu)化數(shù)據(jù)的。國(guó)際數(shù)據(jù)公司(IDC) 大數(shù)據(jù)研究表明,大數(shù)據(jù)技術(shù)趨于成熟,但數(shù)據(jù)壁壘仍然存在,數(shù)據(jù)價(jià)值沒有充分發(fā)揮出來。

4)當(dāng)前可以為大數(shù)據(jù)系統(tǒng)測(cè)試的規(guī)模,在很大程度上取決于CPU集群和GPU等高性能計(jì)算架構(gòu)的增長(zhǎng)。不幸的是,計(jì)算性能的提高遠(yuǎn)遠(yuǎn)落后于大數(shù)據(jù)的增長(zhǎng)速度。大數(shù)據(jù)的最大問題之一就是基礎(chǔ)設(shè)施的高成本,即使有了云計(jì)算技術(shù),硬件設(shè)備也是非常昂貴的[17]。

迎接大數(shù)據(jù)帶來的挑戰(zhàn)將是困難的,數(shù)據(jù)量已經(jīng)非常巨大,而且每天都在增加。越來越多的設(shè)備連入互聯(lián)網(wǎng),導(dǎo)致數(shù)據(jù)產(chǎn)生和增長(zhǎng)速度正在加快,且生成的數(shù)據(jù)種類也在不斷增加,大數(shù)據(jù)采集、分析、處理、測(cè)試的需求正在所有的科學(xué)和工程領(lǐng)域興起。借助大數(shù)據(jù)技術(shù),有望提供相關(guān)性更大、更準(zhǔn)確的社會(huì)感知反饋,更好地實(shí)時(shí)了解社會(huì),也進(jìn)一步鼓勵(lì)公眾參與到社會(huì)和經(jīng)濟(jì)活動(dòng)的數(shù)據(jù)制作圈來。

猜你喜歡
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
兩種新的非確定數(shù)據(jù)庫(kù)上的Top-K查詢
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
主站蜘蛛池模板: 国产美女精品人人做人人爽| 亚洲经典在线中文字幕| 亚洲色无码专线精品观看| 好紧好深好大乳无码中文字幕| 国产成人久久777777| 在线观看视频99| 大香网伊人久久综合网2020| 88av在线看| 欧美日韩国产综合视频在线观看 | 伊人久久大香线蕉综合影视| 好吊妞欧美视频免费| 精品无码一区二区三区电影| 999国内精品久久免费视频| 国产黑丝一区| 国产成人精品无码一区二 | 亚洲中文字幕在线观看| 久久情精品国产品免费| 欧洲极品无码一区二区三区| 亚洲综合在线最大成人| 日韩成人高清无码| 久久精品中文字幕少妇| 扒开粉嫩的小缝隙喷白浆视频| 日韩精品免费一线在线观看| 国产精品久久久久久影院| 香蕉久久国产超碰青草| 国产丝袜无码精品| 日韩无码一二三区| 又黄又爽视频好爽视频| 精品人妻一区二区三区蜜桃AⅤ| 欧美午夜网站| 五月婷婷综合色| 伊人久久福利中文字幕| 精品久久久久成人码免费动漫| 日韩黄色大片免费看| 91在线丝袜| 国产精品 欧美激情 在线播放| 大香伊人久久| 久视频免费精品6| 久久99热这里只有精品免费看| 99久久精品免费看国产电影| 91精品久久久无码中文字幕vr| 日韩在线2020专区| 国模粉嫩小泬视频在线观看 | 天天视频在线91频| 国产精品分类视频分类一区| 欧美成人一级| 国产一级视频在线观看网站| 欧美h在线观看| 日韩精品欧美国产在线| 国产自无码视频在线观看| 亚洲人成网址| 欧美亚洲中文精品三区| 激情爆乳一区二区| 人妻丝袜无码视频| 亚洲热线99精品视频| 婷婷午夜影院| 日本高清免费一本在线观看| 国产成人你懂的在线观看| 青青青草国产| 国产成人永久免费视频| 亚洲第一成年人网站| 中文字幕在线看| 99这里只有精品免费视频| 国产福利观看| 欧美一区二区人人喊爽| 国产精品久久久久久久久| 污网站免费在线观看| 亚洲天堂精品在线| 精品国产三级在线观看| 国产视频入口| 大陆国产精品视频| 日本一区高清| 日韩精品一区二区深田咏美| 亚洲一级色| 国产成人资源| 亚洲一区二区日韩欧美gif| 国产黄在线免费观看| 色成人综合| 午夜国产不卡在线观看视频| 91破解版在线亚洲| 国产香蕉一区二区在线网站| 亚洲精品卡2卡3卡4卡5卡区|