大資料測試
測試大資料應用程式更多的是驗證其資料處理,而不是測試軟體產品的個別功能。當涉及到大資料測試時,效能和功能測試是關鍵。在大資料測試中,qa工程師使用集群和其他元件來驗證對tb級資料的成功處理。因為處理非常快,所以它需要高水平的測試技能。大資料應用程式的測試更多的是去驗證其資料處理而不是驗證其單一的功能特色。當然在大資料測試時,功能測試和效能測試是同樣很關鍵的。對於大資料測試工程師而言,如何高效正確的驗證經過大資料工具/框架成功處理過的至少百萬兆位元組的資料將會是乙個巨大的挑戰。因為大資料高效的處理測試速度,它要求測軟體工程師具備高水平的測試技術才能應對大資料測試。大資料處理的三個特性:1)大批量 2)實時性 3)可互動。另外,資料質量也同樣是大資料測試的乙個重要維度。因此在進行應用程式測試之前,必須確保資料質量,並且考慮把資料質量作為資料庫測試的一部分。涉及資料的各種特性的檢驗,例如一致性、準確性、重複性、連貫性、有效性及完整性等等。大資料應用測試大體可以分為三步驟:
步驟一:資料階段驗證
大資料測試的第一步,也稱作pre-hadoop階段該過程包括如下驗證:
1)來自各方面的資料資源應該被驗證,來確保正確的資料被載入進系統。
2)將源資料與推送到hadoop系統中的資料進行比較,以確保它們匹配。
3)驗證正確的資料被提取並被載入到hdfs正確的位置。
該階段可以使用工具talend或datameer,進行資料階段驗證。
步驟二:"mapreduce"驗證
大資料測試的第二步是mapreduce的驗證。在這個階段,測試者在每個節點上進行業務邏輯驗證,然後在執行多個節點後驗證它們,確保如下操作的正確性:
1)map與reduce程序正常工作。
2)在資料上實施資料聚合或隔離規則。
3)生成鍵值對。
4)在執行map和reduce程序後驗證資料。
步驟三:輸出階段驗證
大資料測試的最後或第三階段是輸出驗證過程。生成輸出資料檔案,同時把檔案移到乙個edw(enterprise data warehouse:企業資料倉儲)中或著把檔案移動到任何其他基於需求的系統中。在第三階段的活動包括:
1)檢查轉換(transformation)規則被正確應用。
2)檢查資料完整性和成功的資料載入到目標系統中。
3)通過將目標資料與hdfs檔案系統資料進行比較來檢查沒有資料損壞
總結:1)大資料測試不同於傳統的測試,不僅僅是型別、策略的不同,工具等具體技術都會有區別。
2)大資料因其複雜性,其測試所面臨的挑戰也會不同於傳統的測試。
3)大資料效能測試將會是軟體測試工程師進一步艱難攻克的目標之一。
摘自知乎 mysql
允許晚輩叫一聲前輩。從前輩的描述中可以看出前輩對mysql已經有很好的理解,但我還是想從我這個半知半解的晚輩角度提出幾點。1.系統學習資料庫,最要緊的是把基本功打牢,所以 資料庫系統概念 原書第六版 是一本不可多得的好書,任何資料庫背後的原理基本上都是想通的,其他的都是不同廠商或組織做的改進和優化 ...
摘自知乎 mysql
允許晚輩叫一聲前輩。從前輩的描述中可以看出前輩對mysql已經有很好的理解,但我還是想從我這個半知半解的晚輩角度提出幾點。1.系統學習資料庫,最要緊的是把基本功打牢,所以 資料庫系統概念 原書第六版 是一本不可多得的好書,任何資料庫背後的原理基本上都是想通的,其他的都是不同廠商或組織做的改進和優化 ...
大資料應用測試經驗總結
大資料應用測試過程與傳統的web系統有較大的不同,大資料應用測試通常會分為web側和etl側測試,web側基本就是功能測試,而etl extracting transfroming loading 測試主要指從任何外部系統提取 轉換 載入資料到目標地。從底層資料採集 資料處理 到上層應用展現。一 從...