專利名稱::一種數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及數(shù)據(jù)倉(cāng)庫(kù)技術(shù),更具體地說,涉及一種數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法。
背景技術(shù):
:數(shù)據(jù)倉(cāng)庫(kù)是一個(gè)面向主題的、集成的、相對(duì)穩(wěn)定的、反映歷史變化的數(shù)據(jù)集合,其主要功能是進(jìn)行分析型處理。數(shù)據(jù)倉(cāng)庫(kù)技術(shù)是企業(yè)經(jīng)營(yíng)分析系統(tǒng)的基礎(chǔ)。經(jīng)營(yíng)分析系統(tǒng)可通過分析運(yùn)營(yíng)數(shù)據(jù),為管理決策提供支持。隨著網(wǎng)絡(luò)技術(shù)和計(jì)算機(jī)應(yīng)用的發(fā)展,互聯(lián)網(wǎng)、電信和銀行等行業(yè)的企業(yè)在運(yùn)營(yíng)過程中產(chǎn)生的數(shù)據(jù)量快速膨脹,對(duì)數(shù)據(jù)倉(cāng)庫(kù)的性能、可擴(kuò)展性等有著巨大影響。傳統(tǒng)的集中式數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)已經(jīng)無法滿足大型企業(yè)的經(jīng)營(yíng)分析系統(tǒng)在數(shù)據(jù)集成性、及時(shí)性和查詢響應(yīng)時(shí)間等各方面的要求。目前集團(tuán)型企業(yè)和大型互聯(lián)網(wǎng)企業(yè)均采用分布式的數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)設(shè)計(jì),有效地提高了系統(tǒng)性能。在強(qiáng)調(diào)數(shù)據(jù)準(zhǔn)確性和可用性的背景下,對(duì)經(jīng)營(yíng)分析系統(tǒng)的分布式數(shù)據(jù)倉(cāng)庫(kù)建立起一套完善的測(cè)試方法,可以獲得系統(tǒng)架構(gòu)和數(shù)據(jù)倉(cāng)庫(kù)在性能方面的分析結(jié)果,以便于驗(yàn)證各類數(shù)據(jù)倉(cāng)庫(kù)解決方案或產(chǎn)品的支持能力?,F(xiàn)有的數(shù)據(jù)倉(cāng)庫(kù)的測(cè)試方法多是針對(duì)傳統(tǒng)的集中型數(shù)據(jù)倉(cāng)庫(kù)提出,例如業(yè)界廣泛使用的TPC-H標(biāo)準(zhǔn)。TPC-H主要目的是評(píng)價(jià)特定查詢的決策支持能力,強(qiáng)調(diào)服務(wù)器在數(shù)據(jù)挖掘、分析處理方面的能力。然而TPC-H的問題模型并不適合現(xiàn)在的分布式數(shù)據(jù)倉(cāng)庫(kù)=TPC-H測(cè)試模型對(duì)數(shù)據(jù)量的要求最大為TB級(jí),并發(fā)量相對(duì)較小;TPC-H測(cè)試模型為數(shù)據(jù)庫(kù)服務(wù)器連續(xù)7X24小時(shí)工作,可能只有I次/月的維護(hù);多用戶并發(fā)執(zhí)行復(fù)雜的動(dòng)態(tài)查詢,同時(shí)有并發(fā)執(zhí)行表修改操作。這與新型的分布式數(shù)據(jù)倉(cāng)庫(kù)的問題模型有很大差異。針對(duì)現(xiàn)有的數(shù)據(jù)倉(cāng)庫(kù)的測(cè)試方法不再適用于新型分布式數(shù)據(jù)倉(cāng)庫(kù)的問題模型,有必要建立新的數(shù)據(jù)倉(cāng)庫(kù)的測(cè)試方法,以適應(yīng)新型數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)的特點(diǎn)。
發(fā)明內(nèi)容本發(fā)明的目的在于,針對(duì)現(xiàn)有的測(cè)試方法無法準(zhǔn)確、快速的反應(yīng)新型數(shù)據(jù)倉(cāng)庫(kù)性能的缺陷,提供一種數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法以解決上述問題。本發(fā)明解決上述問題的方案是提供一種數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法,包括以下步驟SI、確定待測(cè)試的數(shù)據(jù)倉(cāng)庫(kù)環(huán)境;S2、建立基于業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)模型;S3、建立測(cè)試用例,對(duì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行測(cè)試;S4、記錄測(cè)試結(jié)果。本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法,其中步驟S2包括描述測(cè)試所采用的數(shù)據(jù)表及其結(jié)構(gòu)、數(shù)據(jù)表的使用及在測(cè)試過程中對(duì)數(shù)據(jù)表的操作;對(duì)數(shù)據(jù)量的要求可達(dá)到PB級(jí)(100萬GB)。本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法,其中步驟S3中,測(cè)試用例包括S31、功能測(cè)試;S32、性能測(cè)試;S33、穩(wěn)定性測(cè)試;S34、可擴(kuò)展測(cè)試;S35、可用性測(cè)試;S36、個(gè)性化測(cè)試。本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法,其中步驟S31包括S311、測(cè)試數(shù)據(jù)倉(cāng)庫(kù)對(duì)SQL標(biāo)準(zhǔn)(StructuredQueryLanguage,結(jié)構(gòu)化i咨詢語言)的支持;S312、測(cè)試數(shù)據(jù)倉(cāng)庫(kù)對(duì)OLAP函數(shù)(OnlineAnalyticalProcessing聯(lián)機(jī)分析處理)的支持;S313、測(cè)試數(shù)據(jù)倉(cāng)庫(kù)對(duì)多租戶架構(gòu)下資源負(fù)載管理功能;S314、測(cè)試數(shù)據(jù)倉(cāng)庫(kù)對(duì)日志、監(jiān)控和告警系統(tǒng)管理的支持。本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法,其中步驟S32包括S321、數(shù)據(jù)加載測(cè)試;S322、基本操作測(cè)試;S323、即席查詢測(cè)試;S324、數(shù)據(jù)的Rollback(回滾)操作測(cè)試;S325、并發(fā)多任務(wù)測(cè)試;S326、數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)出測(cè)試;S327、端到端測(cè)試;S328、壓力測(cè)試。本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)的性能測(cè)試方法,其中步驟S321包括單表數(shù)據(jù)加載的性能測(cè)試和多表數(shù)據(jù)加載的性能測(cè)試。本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)的性能測(cè)試方法,其中步驟S322包括全表掃描測(cè)試,用于測(cè)試不同記錄數(shù)級(jí)別的數(shù)據(jù)表全表掃描查詢性能;多表關(guān)聯(lián)測(cè)試,用于測(cè)試兩個(gè)大表通過分區(qū)鍵關(guān)聯(lián)時(shí)候的性能表現(xiàn);Merge(合并)操作測(cè)試,用于測(cè)試Merge操作的性能;Insert(插入)操作測(cè)試,用于測(cè)試單表數(shù)據(jù)的INSERT操作性能;Update(更新)操作測(cè)試,用于測(cè)試單表update操作性能;Delete(刪除)操作測(cè)試,用于測(cè)試單表delete操作性能;嵌套操作測(cè)試,用于測(cè)試SQL嵌套操作的性能;Distinct(差異)去重測(cè)試,用于測(cè)試distinct操作的性能及主機(jī)、數(shù)據(jù)庫(kù)資源消耗情況。本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)的性能測(cè)試方法,其中步驟S323驗(yàn)證數(shù)據(jù)倉(cāng)庫(kù)對(duì)即席查詢的性能支持,通過執(zhí)行預(yù)先選定的即席查詢的10條SQL語句,記錄每個(gè)語句的運(yùn)行時(shí)間和資源消耗情況。本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)的性能測(cè)試方法,其中步驟S34包括有索引情況下數(shù)據(jù)的Rollback性能測(cè)試和無索引情況下數(shù)據(jù)的Rollback性能測(cè)試。本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)的性能測(cè)試方法,其中步驟S325包括多任務(wù)并發(fā)查詢,用于驗(yàn)證單個(gè)用戶下使用相同SQL語句做并發(fā)查詢的效率;多任務(wù)并發(fā)Insert,用于驗(yàn)證使用同一用戶做多次并發(fā)insert操作的效率;多任務(wù)混合負(fù)載,用于驗(yàn)證在不同類型負(fù)載的情況下,數(shù)據(jù)庫(kù)的運(yùn)行效率及其對(duì)服務(wù)器資源的消耗;邊加載邊查詢,用于測(cè)試加載操作和查詢操作并行情況下的性能。本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)的性能測(cè)試方法,其中步驟S326用于測(cè)試數(shù)據(jù)庫(kù)自有的數(shù)據(jù)導(dǎo)出工具的性能。本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)的性能測(cè)試方法,其中步驟S327用于模擬業(yè)務(wù)的若干個(gè)操作流程,驗(yàn)證數(shù)據(jù)倉(cāng)庫(kù)產(chǎn)品的綜合性能表現(xiàn)。本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)的性能測(cè)試方法,其中步驟S328測(cè)試數(shù)據(jù)庫(kù)在壓力之下的處理能力,驗(yàn)證數(shù)據(jù)倉(cāng)庫(kù)產(chǎn)品在處理請(qǐng)求過載下的表現(xiàn)。本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法,其中步驟S33考察數(shù)據(jù)倉(cāng)庫(kù)產(chǎn)品在大業(yè)務(wù)量和長(zhǎng)時(shí)間高負(fù)載的情況下(超出額定工作時(shí)間或超出額定負(fù)載)持續(xù)穩(wěn)定運(yùn)行的能力。本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法,其中步驟S34包括擴(kuò)展性測(cè)試和考察計(jì)算節(jié)點(diǎn)是否可以收縮。本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法,其中步驟S35包括模擬常見故障包括網(wǎng)絡(luò)連接異常、磁盤存儲(chǔ)故障、節(jié)點(diǎn)級(jí)故障和極限故障情況下的高可用性測(cè)試。本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法,其中步驟S36包括歸檔壓縮測(cè)試、非結(jié)構(gòu)化數(shù)據(jù)測(cè)試、行列安全控制測(cè)試、人為誤操作后快速回復(fù)、網(wǎng)站購(gòu)買行為分析測(cè)試、訪問軌跡分析測(cè)試、分詞統(tǒng)計(jì)測(cè)試、基于Wiki情感分析測(cè)試、運(yùn)用Kmeans(k-means算法)實(shí)現(xiàn)客戶分群測(cè)試。實(shí)施本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法,能夠適應(yīng)當(dāng)前新架構(gòu)的數(shù)據(jù)倉(cāng)庫(kù),在進(jìn)行具體測(cè)試前,先進(jìn)行具體的數(shù)據(jù)倉(cāng)庫(kù)環(huán)境設(shè)置,針對(duì)具體的數(shù)據(jù)倉(cāng)庫(kù)結(jié)構(gòu),實(shí)施合適的測(cè)試用例,使得測(cè)試數(shù)據(jù)倉(cāng)庫(kù)的方法能夠準(zhǔn)確、快速的反應(yīng)待測(cè)試數(shù)據(jù)倉(cāng)庫(kù)的各項(xiàng)特性。以下結(jié)合附圖對(duì)本發(fā)明進(jìn)行詳細(xì)說明,其中圖I為本發(fā)明數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法的流程圖;圖2為本發(fā)明數(shù)據(jù)倉(cāng)庫(kù)測(cè)試架構(gòu)的第一實(shí)施例;圖3為本發(fā)明數(shù)據(jù)倉(cāng)庫(kù)測(cè)試架構(gòu)的第二實(shí)施例;圖4為本發(fā)明數(shù)據(jù)倉(cāng)庫(kù)測(cè)試架構(gòu)的第三實(shí)施例。具體實(shí)施例方式以下結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明進(jìn)行詳細(xì)說明。如圖I所示為本發(fā)明數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法的流程圖。對(duì)不同架構(gòu)的數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行測(cè)試,首先執(zhí)行步驟SI:確定待測(cè)試的數(shù)據(jù)倉(cāng)庫(kù)環(huán)境,即確定具體的數(shù)據(jù)倉(cāng)庫(kù)的組成架構(gòu)以及對(duì)應(yīng)的測(cè)試架構(gòu)(例如在圖2至圖4中給出三種具體的數(shù)據(jù)倉(cāng)庫(kù)架構(gòu));在確定了數(shù)據(jù)倉(cāng)庫(kù)的具體架構(gòu)后,對(duì)設(shè)備域和功能配置進(jìn)行說明,再對(duì)參測(cè)硬件配置和參測(cè)軟件產(chǎn)品需求的各項(xiàng)要求進(jìn)行設(shè)定。此后,執(zhí)行步驟S2:建立基于業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)模型;具體的,建立測(cè)試所采用的數(shù)據(jù)表及其結(jié)構(gòu)、數(shù)據(jù)表的使用及在測(cè)試過程中對(duì)數(shù)據(jù)表的各項(xiàng)相關(guān)操作。這些數(shù)據(jù)表的結(jié)構(gòu)以及后續(xù)的相關(guān)操作是對(duì)應(yīng)于步驟SI的具體數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)建立的,以確保獲得的測(cè)試結(jié)果的準(zhǔn)確和快速。執(zhí)行完步驟S2后,首先執(zhí)行一次對(duì)硬件和數(shù)據(jù)庫(kù)在測(cè)試過程中的初始化,該初始化的步驟在整個(gè)測(cè)試過程中只執(zhí)行一次,即在測(cè)試開始后不得調(diào)整硬件方式。然后再執(zhí)行步驟S3:建立測(cè)試用例,對(duì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行測(cè)試。測(cè)試用例確定了本次測(cè)試中具體的測(cè)試項(xiàng)目,每個(gè)測(cè)試項(xiàng)目都具體反映了數(shù)據(jù)倉(cāng)庫(kù)一個(gè)方面的性能。具體的S3的步驟包括以下的測(cè)試步驟S31、功能測(cè)試,該步驟具體包括S311、測(cè)試數(shù)據(jù)倉(cāng)庫(kù)對(duì)SQL標(biāo)準(zhǔn)的支持;S312、測(cè)試數(shù)據(jù)倉(cāng)庫(kù)對(duì)OLAP函數(shù)的支持;S313、測(cè)試數(shù)據(jù)倉(cāng)庫(kù)對(duì)多租戶架構(gòu)下資源負(fù)載管理功能;S314、測(cè)試數(shù)據(jù)倉(cāng)庫(kù)對(duì)日志、監(jiān)控和告警系統(tǒng)管理的支持。此后進(jìn)行步驟S32,對(duì)整個(gè)數(shù)據(jù)倉(cāng)庫(kù)的性能進(jìn)行測(cè)試,具體包括以下的步驟S321、數(shù)據(jù)加載測(cè)試;S322、基本操作測(cè)試;S323、即席查詢測(cè)試;S324、數(shù)據(jù)的Rollback操作測(cè)試;S325、并發(fā)多任務(wù)測(cè)試;S326、數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)出測(cè)試;S327、端到端測(cè)試;S328、壓力測(cè)試。其中步驟S322驗(yàn)證數(shù)據(jù)倉(cāng)庫(kù)產(chǎn)品在基本操作上的性能表現(xiàn),包括步驟全表掃描測(cè)試、多表關(guān)聯(lián)測(cè)試、Merge操作測(cè)試、Insert操作測(cè)試、Update操作測(cè)試、Delete操作測(cè)試、嵌套操作測(cè)試、Distinct去重測(cè)試等。步驟S322模擬業(yè)務(wù)的若干個(gè)操作流程,驗(yàn)證數(shù)據(jù)倉(cāng)庫(kù)產(chǎn)品的綜合性能表現(xiàn)。步驟S323驗(yàn)證數(shù)據(jù)倉(cāng)庫(kù)產(chǎn)品在處理請(qǐng)求過載下的表現(xiàn)。此后進(jìn)行步驟S34的測(cè)試擴(kuò)展性測(cè)試和考察計(jì)算節(jié)點(diǎn)是否可以收縮。此后進(jìn)行步驟S35的測(cè)試模擬常見故障包括網(wǎng)絡(luò)連接異常、磁盤存儲(chǔ)故障、節(jié)點(diǎn)級(jí)故障和極限故障情況下的高可用性測(cè)試。此后進(jìn)行步驟S36的測(cè)試歸檔壓縮測(cè)試、非結(jié)構(gòu)化數(shù)據(jù)測(cè)試、行列安全控制測(cè)試、人為誤操作后快速回復(fù)、網(wǎng)站購(gòu)買行為分析測(cè)試、訪問軌跡分析測(cè)試、分詞統(tǒng)計(jì)測(cè)試、基于Wiki情感分析測(cè)試、運(yùn)用Kmeans(k-means算法)實(shí)現(xiàn)客戶分群測(cè)試。進(jìn)行完上述所有步驟的測(cè)試后,將測(cè)試結(jié)果輸出以便進(jìn)行分析。以上的測(cè)試方法尤其適合對(duì)分布式結(jié)構(gòu)的數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行測(cè)試分析。例如圖2-圖4給出了三種不同的組網(wǎng)方式。如圖2所示為本發(fā)明數(shù)據(jù)倉(cāng)庫(kù)測(cè)試架構(gòu)的第一實(shí)施例,主測(cè)試節(jié)點(diǎn)200由多臺(tái)PC服務(wù)器201組成,具體的選用中端內(nèi)置大容量硬盤通用X86架構(gòu)服務(wù)器。擴(kuò)展性測(cè)試節(jié)點(diǎn)300由多臺(tái)PC服務(wù)器301組成,選用的PC服務(wù)器301與主測(cè)試節(jié)點(diǎn)200所使用的PC服務(wù)器構(gòu)成相同。輔助服務(wù)器100包括磁盤陣列10USAN變換器102、接口文件加載服務(wù)器104、測(cè)試管理展現(xiàn)終端103組成。其中接口文件加載服務(wù)器104為通用X86架構(gòu)服務(wù)器和高端存儲(chǔ)組成,測(cè)試管理展現(xiàn)終端103由普通配置PC終端或者PC服務(wù)器構(gòu)成,以萬兆以太交換機(jī)400為核心構(gòu)成測(cè)試環(huán)境基礎(chǔ)網(wǎng)絡(luò)環(huán)境,鏈接所有參與測(cè)試的服務(wù)器設(shè)備(接口文件加載服務(wù)器104、測(cè)試管理展現(xiàn)終端103、PC服務(wù)器201、PC服務(wù)器301),負(fù)責(zé)測(cè)試環(huán)境的設(shè)備內(nèi)聯(lián)和外聯(lián)。圖3為數(shù)據(jù)倉(cāng)庫(kù)測(cè)試架構(gòu)的第二實(shí)施例,該數(shù)據(jù)倉(cāng)庫(kù)測(cè)試架構(gòu)包括主測(cè)試節(jié)點(diǎn)200、擴(kuò)展性測(cè)試節(jié)點(diǎn)300、輔助服務(wù)器100;其中主測(cè)試節(jié)點(diǎn)200、擴(kuò)展性測(cè)試節(jié)點(diǎn)300的結(jié)構(gòu)與圖2中的第一實(shí)施例對(duì)應(yīng)組件相同,輔助服務(wù)器100包括ETL磁盤陣列105、SAN交換機(jī)106、接口文件加載服務(wù)器104、測(cè)試管理展現(xiàn)終端103,其中SAN交換機(jī)106與ETL磁盤陣列105、接口文件加載服務(wù)器104、測(cè)試管理展現(xiàn)終端103通信連接。以萬兆以太交換機(jī)400為核心構(gòu)成測(cè)試環(huán)境基礎(chǔ)網(wǎng)絡(luò)環(huán)境,鏈接所有參與測(cè)試的服務(wù)器設(shè)備(接口文件加載服務(wù)器104、測(cè)試管理展現(xiàn)終端103、PC服務(wù)器201、PC服務(wù)器301),負(fù)責(zé)測(cè)試環(huán)境的設(shè)備內(nèi)聯(lián)和外聯(lián)。主測(cè)試節(jié)點(diǎn)200和擴(kuò)展性測(cè)試節(jié)點(diǎn)300還通過多個(gè)SAN交換機(jī)106與倉(cāng)庫(kù)儲(chǔ)存陣列500相連。圖4為數(shù)據(jù)倉(cāng)庫(kù)測(cè)試架構(gòu)的第三實(shí)施例,該數(shù)據(jù)倉(cāng)庫(kù)測(cè)試架構(gòu)包括主測(cè)試節(jié)點(diǎn)200、擴(kuò)展性測(cè)試節(jié)點(diǎn)300、輔助服務(wù)器100;主測(cè)試節(jié)點(diǎn)200包括多臺(tái)一體機(jī)節(jié)點(diǎn)202,擴(kuò)展性測(cè)試節(jié)點(diǎn)300包括多臺(tái)一體機(jī)節(jié)點(diǎn)302。輔助服務(wù)器100內(nèi)包括磁盤陣列101、接口文件加載服務(wù)器104和測(cè)試管理展現(xiàn)終端103。磁盤陣列101與接口文件加載服務(wù)器104相連接,該數(shù)據(jù)倉(cāng)庫(kù)測(cè)試架構(gòu)還通過萬兆以太交換機(jī)400為核心構(gòu)成測(cè)試環(huán)境基礎(chǔ)網(wǎng)絡(luò)環(huán)境,鏈接所有參與測(cè)試的服務(wù)器設(shè)備(接口文件加載服務(wù)器104、測(cè)試管理展現(xiàn)終端103、一體機(jī)節(jié)點(diǎn)202、一體機(jī)節(jié)點(diǎn)302)。為了更好的說明本發(fā)明的測(cè)試方法的實(shí)現(xiàn)方式,現(xiàn)結(jié)合圖2的架構(gòu)詳細(xì)說明測(cè)試用例的實(shí)現(xiàn)方式,需要理解的是,在結(jié)合其他的架構(gòu)時(shí),測(cè)試用例只要做對(duì)應(yīng)變換即可。首先依據(jù)圖2搭建好連接架構(gòu),然后依據(jù)前述中的測(cè)試用例依次進(jìn)行性能測(cè)試。S311、測(cè)試數(shù)據(jù)倉(cāng)庫(kù)對(duì)SQL標(biāo)準(zhǔn)的支持I、連接測(cè)試數(shù)據(jù)庫(kù);2、自動(dòng)執(zhí)行測(cè)試語句集,測(cè)試語句集I)執(zhí)行建立INTEGER類型的表,預(yù)期成功CREATETABLETYPEOOI(COLINTEGER);2)執(zhí)行建立INT類型的表,預(yù)期成功CREATETABLETYPE002(COLINT);S312、測(cè)試數(shù)據(jù)倉(cāng)庫(kù)對(duì)OLAP函數(shù)的支持I、使用數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)客戶端連接測(cè)試數(shù)據(jù)庫(kù);2、檢查測(cè)試數(shù)據(jù)庫(kù)表DTL_BILL及測(cè)試數(shù)據(jù);3、若不存在或者無數(shù)據(jù);則執(zhí)行create_DTL_BILL腳本,數(shù)據(jù)生成,執(zhí)行insert_DTL_BILL腳本;4、執(zhí)行SQL-1測(cè)試語句avgOoverSELECTsubs_id,avg(mer_amt-disc_amt)over(partitionbysubs_idorderbyacct_prd_ytm)fromDTL_BILL;5、登記輸出結(jié)果,通過記錄數(shù)及隨機(jī)抽取記錄檢驗(yàn)的方式判定執(zhí)行結(jié)果正確性。S313、測(cè)試數(shù)據(jù)倉(cāng)庫(kù)對(duì)多租戶架構(gòu)下資源負(fù)載管理功能I、分別使用USERl和USER2連接數(shù)據(jù)庫(kù);2、通過產(chǎn)品內(nèi)置工具命令,調(diào)整USER2用戶任務(wù)為高優(yōu)先級(jí);3、用USERl用戶執(zhí)行A組SQL,同時(shí)USER2用戶執(zhí)行B組SQL;4、記錄每條SQL的執(zhí)行耗時(shí)并比較;5、執(zhí)行后清理執(zhí)行數(shù)據(jù)庫(kù)清理,刪除USERl和USER2。S314、測(cè)試數(shù)據(jù)倉(cāng)庫(kù)對(duì)日志、監(jiān)控和告警系統(tǒng)管理的支持該測(cè)試細(xì)分為三個(gè)步驟曰志I、在當(dāng)前會(huì)話中啟動(dòng)針對(duì)排序操作的跟蹤;2、執(zhí)行排序操作的SQL語句;3、記錄是否產(chǎn)生診斷日志,診斷日志的內(nèi)容需要包含當(dāng)前執(zhí)行的SQL語句、排序統(tǒng)計(jì)信息(排序區(qū)大小、比較次數(shù)、使用內(nèi)存等)。監(jiān)控I、對(duì)語音話單表做SQL語句部分要求的查詢操作;2、在“測(cè)試管理展現(xiàn)終端”中登錄圖形化監(jiān)控系統(tǒng),檢查是否具備如下的監(jiān)控信息并以截圖的方式記錄I)可以看到執(zhí)行過的SQL的歷史記錄,具體信息包括SQL語句、當(dāng)前狀態(tài)、執(zhí)行開始時(shí)間、執(zhí)行耗時(shí)等2)監(jiān)控界面同時(shí)提供T0P10執(zhí)行耗時(shí)較長(zhǎng)的SQL語句列表3、監(jiān)控完畢,終止SQL執(zhí)行。SELECTsubstr(CALL_BGN_TM,1,2),sum(CFEE),avg(LFEE),max(LFEE2),min(INF0_FEE),avg(DISC_CFEE),avg(DISC_LFEE),sum(DISC_LFEE2),sum(DISC_INF0_FEE),count(distinct(MSISDN))FROMGSM_V0IC_CDRGROUPBYsubstr(CALL_BGN_TM,I,2);告警I、創(chuàng)建一個(gè)小容量的表空間,并向里面導(dǎo)入大量數(shù)據(jù),超過表空間的容量;2、通過查看圖形化的界面或后臺(tái)告警日志查看表空間告警信息;3、記錄是否具備告警信息功能,并詳細(xì)記錄告警信息的字段信息。createtableTB_SVC_SUBS_HIST_TMP6asseIect*fromTB_SVC_SUBS_HISTwherel=0;insertintodroptableTB_SVC_SUBS_HIST_TMP6S321驗(yàn)證數(shù)據(jù)倉(cāng)庫(kù)產(chǎn)品在單一操作上的最佳表現(xiàn)數(shù)據(jù)的導(dǎo)入和導(dǎo)出測(cè)試I.調(diào)用命令裝載文件到數(shù)據(jù)庫(kù)具體的命令為scenario/6.3.3.1/load,sh2.記錄每個(gè)數(shù)據(jù)文件裝載的開始、結(jié)束時(shí)間、執(zhí)行時(shí)長(zhǎng);3.裝載期間的主機(jī)資源使用情況(CPU占用率、內(nèi)存、磁盤I0、網(wǎng)絡(luò))。Update測(cè)試具體的命令為UPDATEGSM_V0IC_CDRSETCALL_DUR=CALL_DUR+2,INF0_FEE=INF0_FEE*10WHEREMEI_NBR=’ABCDEFGHIJKLMN’andSVC_TYPin(’000’,’001’)andCALL_DUR>10Rollback測(cè)試具體的命令為deletefromDTL_BILL_TMP1;selectcount(*)fromDTL_BILL_TMP1;rollback;SQL-2:部分?jǐn)?shù)據(jù)delete后回滾deletefromDTL_BILL_TMP1wheresubs_idlike‘%139%,;Selectcount(*)fromDTL_BILL_TMPlwheresubs_idlike‘%139%’;Rollback小查詢I.SELECTcount(*)FROMTB_SVC_SUBS_HISTALEFTOUTERJOINDTL_BILLBonA.SUBS_ID=B.SUBS_IDWHEREA.MSISDN=,xxxxxxxxxx’輪詢100萬個(gè)號(hào)碼。2.記錄執(zhí)行時(shí)長(zhǎng)和主機(jī)資源使用情況(CPU占用率、內(nèi)存、磁盤IO、網(wǎng)絡(luò))S322、端到端測(cè)試I.啟動(dòng)背景作業(yè)之后加載詳單文件加載到指定的幾個(gè)表中2執(zhí)行兩個(gè)sql3.記錄加載和SQL運(yùn)行時(shí)長(zhǎng)及主機(jī)資源使用情況(CPU占用率、內(nèi)存、磁盤IO、網(wǎng)絡(luò))S323、壓力測(cè)試I.執(zhí)行清理緩存操作;2.每隔10秒啟動(dòng)10個(gè)shell腳本,直至600個(gè)腳本全部啟動(dòng);3.保持系統(tǒng)運(yùn)行2小時(shí),記錄運(yùn)行期間系統(tǒng)資源,包括CPU、內(nèi)存、網(wǎng)絡(luò)、磁盤I0)并記錄各SQL的處理時(shí)長(zhǎng)。S33、穩(wěn)定性測(cè)試:采用能力摸高的方式操作,測(cè)試數(shù)據(jù)庫(kù)在壓力之下的處理能力I.執(zhí)行清理緩存操作;2.每隔10秒啟動(dòng)10個(gè)shell腳本,直至600個(gè)腳本全部啟動(dòng);3.保持系統(tǒng)運(yùn)行2小時(shí),記錄運(yùn)行期間系統(tǒng)資源,包括CPU、內(nèi)存、網(wǎng)絡(luò)、磁盤I0)并記錄各SQL的處理時(shí)長(zhǎng)驗(yàn)證數(shù)據(jù)倉(cāng)庫(kù)產(chǎn)品在大業(yè)務(wù)量的背景上持續(xù)穩(wěn)定運(yùn)行的能力保持系統(tǒng)在該負(fù)載情況下運(yùn)行12小時(shí)。S34、擴(kuò)展性測(cè)試和考察計(jì)算節(jié)點(diǎn)是否可以收縮I.由8節(jié)點(diǎn)擴(kuò)展到10;再由10到12。每一次擴(kuò)展完成后,并行提交兩個(gè)sql,分另Ij考察它們的運(yùn)行時(shí)間,運(yùn)行期間系統(tǒng)資源,包括CPU、內(nèi)存、網(wǎng)絡(luò)、IO的消耗情況。2.由12收縮到10,收縮完成后,并行提交兩個(gè)sql,分別考察它們的運(yùn)行時(shí)間,運(yùn)行期間系統(tǒng)資源,包括CPU、內(nèi)存、網(wǎng)絡(luò)、IO的消耗情況。S35、可用性測(cè)試網(wǎng)絡(luò)連接異常測(cè)試I.執(zhí)行清理緩存操作;2.創(chuàng)建所需的表結(jié)構(gòu);3.加載并在任務(wù)終端上并行循環(huán)運(yùn)行SQL語句;4.任務(wù)開始后結(jié)束前隨機(jī)拔掉網(wǎng)線5.記錄前臺(tái)應(yīng)用是否中斷、應(yīng)用SQL是否能夠繼續(xù)完成。磁盤存儲(chǔ)故障測(cè)試I、拔掉某一raid(RedundantArraysofInexpensiveDisks,磁盤陣列)組中的一塊磁盤;2、拔掉相同raid組中任意一組中的第二塊磁盤,破壞該raid組。節(jié)點(diǎn)級(jí)故障測(cè)試I、啟動(dòng)主機(jī)及數(shù)據(jù)庫(kù)相關(guān)性能監(jiān)控腳本;2、在任務(wù)終端上并行提交運(yùn)行SQL語句;3、模擬單計(jì)算節(jié)點(diǎn)故障,隨機(jī)選一個(gè)計(jì)算節(jié)點(diǎn),同時(shí)拔出其全部網(wǎng)線連接;4、記錄前臺(tái)應(yīng)用是否中斷;5、如果應(yīng)用不中斷,記錄兩條SQL的完成時(shí)間;6、如果中斷,記錄故障處理步驟、修復(fù)腳本,計(jì)算節(jié)點(diǎn)故障恢復(fù)時(shí)間,分別記下修復(fù)后重新運(yùn)行兩條SQL所花費(fèi)時(shí)間。極限故障測(cè)試I、啟動(dòng)主機(jī)及數(shù)據(jù)庫(kù)相關(guān)性能監(jiān)控腳本;2、在任務(wù)終端上并行提交運(yùn)行SQL語句;3、廠商選擇性將最多資源退服,記錄資源退服情況;4、記錄前臺(tái)應(yīng)用是否中斷;5、如果應(yīng)用不中斷,記錄兩條SQL的完成時(shí)間;6、如果中斷,記錄故障處理步驟、修復(fù)腳本,計(jì)算節(jié)點(diǎn)故障恢復(fù)時(shí)間,分別記下修復(fù)后重新運(yùn)行兩條SQL所花費(fèi)時(shí)間。S36、個(gè)性化測(cè)試歸檔壓縮測(cè)試壓縮比是表占用的空間(包括索引)和原始文件的比例非結(jié)構(gòu)化數(shù)據(jù)測(cè)試I.編寫腳本,加載包含客戶信息的TB級(jí)別的音頻、視頻、Word、PDF等類型文檔的非結(jié)構(gòu)化數(shù)據(jù),測(cè)試數(shù)據(jù)入庫(kù)時(shí)間,檢查非結(jié)構(gòu)化數(shù)據(jù)是否真實(shí)入庫(kù);2.編寫腳本,根據(jù)客戶服務(wù)條件等檢索客戶服務(wù)時(shí)的音頻、視頻文檔,下載該文檔數(shù)據(jù)。記錄查詢性能及數(shù)據(jù)下載性能人為誤操作后快速回復(fù)I.創(chuàng)建測(cè)試用數(shù)據(jù)表TABLEl和TABLE2;2.對(duì)表TABLEl進(jìn)行DELETE操作,操作完成后提交,通過命令恢復(fù)表TABLEl刪除的數(shù)據(jù)。3.對(duì)表TABLE2進(jìn)行3次或以上UPDATE操作,操作完成后提交,通過命令查看更改的歷史記錄,并可以恢復(fù)任意以前版本的數(shù)據(jù)。4.在表TABLE2恢復(fù)后,對(duì)此表進(jìn)行DROP操作,操作完成后,通過命令恢復(fù)被刪除的表和數(shù)據(jù)。分詞統(tǒng)計(jì)測(cè)試I.編寫和運(yùn)行TokenizeSQL_MR腳本,記錄腳本執(zhí)行的時(shí)間,驗(yàn)證結(jié)果的正確性。2.DDL語句描述SELECT"T0KEN",COUNT(*)FROMPUBLIC.TOKENIZE(ONTOKENIZE_D0CUMENTS)GROUPBY"T0KEN"ORDERBY〃T0KEN"。以上給出了結(jié)合一則具體數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)進(jìn)行性能測(cè)試所使用的測(cè)試命令和具體步驟,在進(jìn)行其他架構(gòu)的測(cè)試時(shí),只要進(jìn)行適應(yīng)性調(diào)整即可。以上僅為本發(fā)明具體實(shí)施方式,不能以此來限定本發(fā)明的范圍,本
技術(shù)領(lǐng)域:
內(nèi)的一般技術(shù)人員根據(jù)本創(chuàng)作所作的均等變化,以及本領(lǐng)域內(nèi)技術(shù)人員熟知的改變,都應(yīng)仍屬本發(fā)明涵蓋的范圍。權(quán)利要求1.一種數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法,其特征在于,包括以下步驟51、確定待測(cè)試的數(shù)據(jù)倉(cāng)庫(kù)環(huán)境;52、建立基于業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)模型;53、建立測(cè)試用例,對(duì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行測(cè)試;54、記錄測(cè)試結(jié)果。2.根據(jù)權(quán)利要求I所述的數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法,其特征在于,所述步驟S2包括描述測(cè)試所采用的數(shù)據(jù)表及其結(jié)構(gòu)、數(shù)據(jù)表的使用及在測(cè)試過程中對(duì)數(shù)據(jù)表的操作。3.根據(jù)權(quán)利要求I所述的數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法,其特征在于,所述步驟S3中,測(cè)試用例包括531、功能測(cè)試;532、性能測(cè)試;533、穩(wěn)定性測(cè)試;534、可擴(kuò)展測(cè)試;535、可用性測(cè)試;536、個(gè)性化測(cè)試。4.據(jù)權(quán)利要求3所述的數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法,其特征在于,所述步驟S31包括5311、測(cè)試數(shù)據(jù)倉(cāng)庫(kù)對(duì)SQL標(biāo)準(zhǔn)的支持;5312、測(cè)試數(shù)據(jù)倉(cāng)庫(kù)對(duì)OLAP函數(shù)的支持;5313、測(cè)試數(shù)據(jù)倉(cāng)庫(kù)對(duì)多租戶架構(gòu)下資源負(fù)載管理功能;5314、測(cè)試數(shù)據(jù)倉(cāng)庫(kù)對(duì)日志、監(jiān)控和告警系統(tǒng)管理的支持。5.根據(jù)權(quán)利要求3所述的數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法,其特征在于,所述步驟S32包括5321、數(shù)據(jù)加載測(cè)試;5322、基本操作測(cè)試;5323、即席查詢測(cè)試;5324、數(shù)據(jù)的Rollback操作測(cè)試;5325、并發(fā)多任務(wù)測(cè)試;5326、數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)出測(cè)試;5327、端到端測(cè)試;5328、壓力測(cè)試。6.權(quán)利要求3所述的數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法,其特征在于,所述步驟S33考察數(shù)據(jù)庫(kù)系統(tǒng)在超出額定工作時(shí)間或超出額定負(fù)載的情況下是否能穩(wěn)定提供服務(wù)。7.權(quán)利要求3所述的數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法,其特征在于,所述步驟S34包含擴(kuò)展性測(cè)試和考察計(jì)算節(jié)點(diǎn)是否可以收縮。8.權(quán)利要求3所述的數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法,其特征在于,所述步驟S35包括模擬常見故障包括網(wǎng)絡(luò)連接異常、磁盤存儲(chǔ)故障、節(jié)點(diǎn)級(jí)故障和極限故障情況下的高可用性測(cè)試。9.權(quán)利要求3所述的數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法,其特征在于,所述步驟S36包括歸檔壓縮測(cè)試、非結(jié)構(gòu)化數(shù)據(jù)測(cè)試、行列安全控制測(cè)試、人為誤操作后快速回復(fù)、網(wǎng)站購(gòu)買行為分析測(cè)試、訪問軌跡分析測(cè)試、分詞統(tǒng)計(jì)測(cè)試、基于Wiki情感分析測(cè)試和客戶分群測(cè)試。全文摘要本發(fā)明涉及一種數(shù)據(jù)倉(cāng)庫(kù)的測(cè)試方法,包括以下的步驟S1、確定待測(cè)試的數(shù)據(jù)倉(cāng)庫(kù)環(huán)境;S2、建立基于業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)模型;S3、建立測(cè)試用例,對(duì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行測(cè)試;S4、記錄測(cè)試結(jié)果。實(shí)施本發(fā)明的一種數(shù)據(jù)倉(cāng)庫(kù)測(cè)試方法,能夠適應(yīng)當(dāng)前新架構(gòu)的數(shù)據(jù)倉(cāng)庫(kù)的特點(diǎn),準(zhǔn)確、快速的反應(yīng)待測(cè)試數(shù)據(jù)倉(cāng)庫(kù)的各項(xiàng)特性。文檔編號(hào)G06F11/36GK102968374SQ20121049901公開日2013年3月13日申請(qǐng)日期2012年11月29日優(yōu)先權(quán)日2012年11月29日發(fā)明者付峰,敖錦蓉,洪松,趙越,舒琴申請(qǐng)人:中國(guó)移動(dòng)(深圳)有限公司