自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

大數(shù)據(jù)測試的簡要指南:概念、策略、挑戰(zhàn)、工具和好處

譯文
大數(shù)據(jù)
本文將通過簡要指南的形式,引導(dǎo)您全面了解大數(shù)據(jù)測試的相關(guān)概念、策略、挑戰(zhàn)、好處以及相關(guān)測試工具。

【51CTO.com快譯】不知您是否還記得,在互聯(lián)網(wǎng)的初期,數(shù)據(jù)往往是通過使用簡單的數(shù)據(jù)文件來保存的。后來,隨著數(shù)據(jù)復(fù)雜性的增加,數(shù)據(jù)庫管理系統(tǒng)應(yīng)運(yùn)而生。近年來,結(jié)構(gòu)化和非結(jié)構(gòu)化類型的數(shù)據(jù)都得到了巨大的發(fā)展,我們將它們統(tǒng)稱為“大數(shù)據(jù)”。如今,隨著大數(shù)據(jù)應(yīng)用的蓬勃發(fā)展,針對(duì)數(shù)據(jù)的處理技術(shù)也得到了不斷迭代。

[[355053]]

為了保證大數(shù)據(jù)的質(zhì)量,我們顯然需要對(duì)大體量的數(shù)據(jù)進(jìn)行測試。本文將通過簡要指南的形式,引導(dǎo)您全面了解大數(shù)據(jù)測試的相關(guān)概念、策略、挑戰(zhàn)、好處以及相關(guān)測試工具。

什么是大數(shù)據(jù)軟件測試?

總的說來,大數(shù)據(jù)測試是對(duì)大數(shù)據(jù)應(yīng)用程序的數(shù)據(jù)質(zhì)量進(jìn)行檢測的過程。由于我們難以使用傳統(tǒng)計(jì)算技術(shù)來處理大型數(shù)據(jù)集合,因此傳統(tǒng)的數(shù)據(jù)測試方法不適合被實(shí)施到大數(shù)據(jù)上。為此,我們需要考慮的大數(shù)據(jù)測試策略應(yīng)包括:大數(shù)據(jù)測試的基本技術(shù)(例如Apache的Hadoop)、方法、以及自動(dòng)化工具。

大數(shù)據(jù)測試的策略

首先,我們來看針對(duì)大數(shù)據(jù)質(zhì)量檢測的策略,其中有著與傳統(tǒng)測試相似的地方:

  • 功能測試(Functional Testing):前端應(yīng)用測試能夠?yàn)閿?shù)據(jù)的驗(yàn)證提供便利。例如,我們可以將前端應(yīng)用程序所產(chǎn)生的實(shí)際結(jié)果,與預(yù)期的結(jié)果進(jìn)行比較,以深入了解目標(biāo)應(yīng)用框架、及其各個(gè)組件。
  • 性能測試(Performance Testing):大數(shù)據(jù)的自動(dòng)化,能夠方便我們在不同的條件下測試目標(biāo)應(yīng)用的性能。例如,我們通過使用不同種類和數(shù)量的數(shù)據(jù),測試應(yīng)用程序,進(jìn)而確保所涉及到的組件的確能夠?yàn)榇髷?shù)據(jù)集合,提供有效的存儲(chǔ)、處理、以及檢索功能。
  • 數(shù)據(jù)提取測試(Data Ingestion Testing):通過測試性地提取數(shù)據(jù),我們可以驗(yàn)證并確保所有的數(shù)據(jù),均能在大數(shù)據(jù)應(yīng)用中被正確地提取和加載。
  • 數(shù)據(jù)處理測試(Data Processing Testing):在針對(duì)大數(shù)據(jù)的處理策略上,我們需要運(yùn)用數(shù)據(jù)自動(dòng)化工具,重點(diǎn)關(guān)注數(shù)據(jù)的獲取與處理過程,通過比較輸出文件和輸入文件,來驗(yàn)證業(yè)務(wù)邏輯是否能夠被正確地實(shí)現(xiàn)。
  • 數(shù)據(jù)存儲(chǔ)測試(Data Storage Testing):借助大數(shù)據(jù)自動(dòng)化測試工具,QA測試人員可以通過將輸出數(shù)據(jù)與數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行比較,來驗(yàn)證輸出數(shù)據(jù)是否已正確地被加載到了數(shù)據(jù)庫中。
  • 數(shù)據(jù)遷移測試(Data Migration Testing):每當(dāng)應(yīng)用程序被遷移到其他服務(wù)器,或發(fā)生任何技術(shù)變更時(shí),我們都需要通過軟件測試,來驗(yàn)證數(shù)據(jù)從舊的傳統(tǒng)系統(tǒng),被遷移到新系統(tǒng)的過程中,所經(jīng)歷的停機(jī)時(shí)間最少,而且不會(huì)造成任何數(shù)據(jù)丟失。

大數(shù)據(jù)測試的挑戰(zhàn)

大數(shù)據(jù)的多樣性主要體現(xiàn)在那些非結(jié)構(gòu)化的數(shù)據(jù)上。鑒于目前在大數(shù)據(jù)應(yīng)用場景中被采用和實(shí)施工具尚不成熟,我們在測試過程中,可能會(huì)遇到各種挑戰(zhàn)。下面我們來深入討論大數(shù)據(jù)測試的各項(xiàng)潛在問題和對(duì)應(yīng)的解決方案。

數(shù)據(jù)的多樣性和不完整性

問題:如今許多企業(yè)根據(jù)日常的業(yè)務(wù)所需,存儲(chǔ)了數(shù)十億字節(jié)的數(shù)據(jù)。測試人員必須審核這些海量數(shù)據(jù),以確認(rèn)它們的準(zhǔn)確性和與業(yè)務(wù)的相關(guān)性。顯然,即使企業(yè)擁有數(shù)百名QA測試人員,也無法通過手動(dòng)測試的方式,來處理這種量級(jí)的數(shù)據(jù)。

解決方案:我們很自然地會(huì)想到采用大數(shù)據(jù)自動(dòng)化工具,去檢測該體量數(shù)據(jù)的有效性。通過自動(dòng)化工具,QA工程師只需為大數(shù)據(jù)應(yīng)用程序創(chuàng)建和執(zhí)行自動(dòng)化測試用例,便可實(shí)現(xiàn)對(duì)數(shù)據(jù)的反復(fù)與深度測試。

高度擴(kuò)展性

問題:隨著業(yè)務(wù)訪問量的顯著增加,大數(shù)據(jù)應(yīng)用程序的后端數(shù)據(jù)庫,可能會(huì)在可訪問性、處理能力、甚至是網(wǎng)絡(luò)連接上,受到嚴(yán)重的影響。即使是那些針對(duì)處理海量數(shù)據(jù)而開發(fā)的分布式應(yīng)用,也可能會(huì)因?yàn)槭艿骄芙^服務(wù)(DoS)攻擊或CC(Challenge Collapsar)攻擊,而無法處理正常的業(yè)務(wù)請(qǐng)求。

解決方案:我們通??梢圆扇∪缦聝煞N方式,來設(shè)計(jì)數(shù)據(jù)測試的方法:

  • 集群技術(shù):可以在集群的所有節(jié)點(diǎn)之間均勻地分配大量的數(shù)據(jù)。也就是說,大數(shù)據(jù)文件可以被輕松地拆分為不同的數(shù)據(jù)塊,并且存儲(chǔ)在集群中的不同節(jié)點(diǎn)上。這種復(fù)制文件塊、并將其存儲(chǔ)在不同的節(jié)點(diǎn)處的方式,大幅減少了應(yīng)用對(duì)于主機(jī)的依賴。
  • 數(shù)據(jù)分區(qū):這種大數(shù)據(jù)自動(dòng)化的方法不但簡單易行,而且可以讓QA測試人員執(zhí)行CPU級(jí)別的并行處理。

測試數(shù)據(jù)管理

問題:自動(dòng)化工具往往只能從通用的層面上,針對(duì)大數(shù)據(jù)應(yīng)用場景,實(shí)現(xiàn)數(shù)據(jù)的遷移、處理和存儲(chǔ)測試。如果QA測試人員并不理解待測的業(yè)務(wù)、組件和數(shù)據(jù),那么他們將很難得到有價(jià)值的測試結(jié)果和洞見。

解決方案:首先,QA團(tuán)隊(duì)?wèi)?yīng)當(dāng)與市場營銷和開發(fā)團(tuán)隊(duì)進(jìn)行協(xié)調(diào),以了解從不同源頭提取、過濾數(shù)據(jù),以及預(yù)處理和后期處理算法的過程。在此基礎(chǔ)上,他們可以通過熟悉大數(shù)據(jù)自動(dòng)化工具、和指定待運(yùn)行的測試用例,以便合理地管理好各種測試數(shù)據(jù)。

優(yōu)秀大數(shù)據(jù)測試工具

常言道:工欲善其事,必先利其器。只有用到了強(qiáng)大的測試工具,QA測試人員才能提高大數(shù)據(jù)檢測的效率。下面我們將給出幾款目前公認(rèn)比較實(shí)用的大數(shù)據(jù)測試工具:

Hadoop

大多數(shù)據(jù)科學(xué)家都認(rèn)為:沒有開源框架的技術(shù)棧是不完整的。那么作為開源框架的Hadoop,不但可以存儲(chǔ)大量各種類型的數(shù)據(jù),而且具有分布式處理海量任務(wù)的能力。當(dāng)然,QA工程師在采用Hadoop進(jìn)行大數(shù)據(jù)性能測試時(shí),應(yīng)事先具備一定的Java知識(shí),具體方面請(qǐng)參見--https://blog.qasource.com/big-data-and-hadoop-performance-testing-perfcast-spring-2019。

HPCC

高性能計(jì)算集群(High-Performance Computing Cluster,HPCC)是免費(fèi)且完整的大數(shù)據(jù)應(yīng)用解決方案。通過提供具有高度可擴(kuò)展性的超級(jí)計(jì)算平臺(tái),HPCC不但能夠提供高性能的架構(gòu),而且支持測試中的數(shù)據(jù)、管道、以及系統(tǒng)的并發(fā)性。當(dāng)然,QA工程師在使用HPCC之前,應(yīng)具備一定的C ++和ECL編程基礎(chǔ)。

Cloudera

Cloudera通常被稱為CDH(Cloudera Distribution for Hadoop)。它是企業(yè)級(jí)技術(shù)部署的理想測試工具。作為一個(gè)開源的工具,它提供了免費(fèi)的平臺(tái)發(fā)行版,其中包括:Apache Hadoop、Apache Impala和Apache Spark。易于實(shí)施的Cloudera,不但具有較高的安全性和管理能力,而且能夠方便測試團(tuán)隊(duì)收集,處理,管理和分發(fā)海量的數(shù)據(jù)。

Cassandra

Cassandra是一款免費(fèi)的開源工具。憑借著高性能的分布式數(shù)據(jù)庫,它可以處理商用服務(wù)器上的海量數(shù)據(jù),因此常被業(yè)界許多大型公司用來進(jìn)行大數(shù)據(jù)的測試。而作為最可靠的大數(shù)據(jù)測試工具之一,Cassandra提供了自動(dòng)化復(fù)制、線性可擴(kuò)展性、無單點(diǎn)故障等服務(wù)。

Storm

作為免費(fèi)的開源測試工具,Storm支持對(duì)于非結(jié)構(gòu)化數(shù)據(jù)集的實(shí)時(shí)處理,并且能夠與任何編程語言相兼容。Storm通過可靠的擴(kuò)展性和防錯(cuò)能力,來準(zhǔn)確地處理任何級(jí)別的數(shù)據(jù)。目前,這款跨平臺(tái)工具提供了包括日志處理、實(shí)時(shí)分析、機(jī)器學(xué)習(xí)、以及持續(xù)計(jì)算等方面的多種用例。

大數(shù)據(jù)測試的好處

說到底,對(duì)于大數(shù)據(jù)的測試,就是要讓QA人員通過發(fā)現(xiàn)、定位從不同來源和渠道收集來的數(shù)據(jù),以確定應(yīng)用程序的設(shè)定功能可以按照預(yù)期運(yùn)行,驗(yàn)證數(shù)據(jù)的完整性與準(zhǔn)確性,并在此基礎(chǔ)上著手對(duì)應(yīng)用程序進(jìn)行必要的迭代和改進(jìn)。具體而言,大數(shù)據(jù)測試能夠?yàn)殚_發(fā)團(tuán)隊(duì)帶來如下好處:

  • 數(shù)據(jù)的準(zhǔn)確性:對(duì)于企業(yè)而言,無論是業(yè)務(wù)計(jì)劃,還是預(yù)測和決策,都需要基于準(zhǔn)確的數(shù)據(jù)。而在大數(shù)據(jù)應(yīng)用中,驗(yàn)證數(shù)據(jù)的正確性就顯得尤為重要。我們需要在驗(yàn)證的過程中注意如下四個(gè)方面:
  1. 在數(shù)據(jù)注入過程中不會(huì)出現(xiàn)錯(cuò)誤
  2. 將完整且正確的數(shù)據(jù)加載到大數(shù)據(jù)框架中
  3.  基于業(yè)務(wù)設(shè)計(jì)的邏輯,能夠讓數(shù)據(jù)的基本驗(yàn)證功能正常運(yùn)行
  4. 根據(jù)業(yè)務(wù)需求,各種數(shù)據(jù)訪問工具能夠獲取正確的輸出數(shù)據(jù)
  • 具有成本效益的存儲(chǔ):在每個(gè)大數(shù)據(jù)應(yīng)用的背后,都有著多臺(tái)計(jì)算主機(jī)。它們可以從不同服務(wù)器處,將數(shù)據(jù)注入并存儲(chǔ)到大數(shù)據(jù)的應(yīng)用框架中。顯然,將逐個(gè)應(yīng)用類型的數(shù)據(jù)進(jìn)行單獨(dú)驗(yàn)證和存儲(chǔ),是非常不經(jīng)濟(jì)實(shí)惠的。因此,我們可以將其配置為根據(jù)諸如:數(shù)據(jù)復(fù)制因子和數(shù)據(jù)塊大小等條件,全面驗(yàn)證已注入的數(shù)據(jù),是否能夠按照規(guī)則被正確地存儲(chǔ)到不同節(jié)點(diǎn)上。
  • 如您所知,那些結(jié)構(gòu)或格式不正確的數(shù)據(jù),往往會(huì)消耗更多的存儲(chǔ)空間。因此,我們一旦完成了數(shù)據(jù)的測試和構(gòu)造,其存儲(chǔ)空間的占有率便會(huì)大幅減少,進(jìn)而最終為企業(yè)產(chǎn)生成本效益。
  • 有效的決策和業(yè)務(wù)策略:準(zhǔn)確的數(shù)據(jù)往往是關(guān)鍵業(yè)務(wù)的決策基礎(chǔ)。它們不但有助于分析各類潛在的風(fēng)險(xiǎn),而且能夠確保只注入那些有助于決策分析、并產(chǎn)生明智的業(yè)務(wù)決策的數(shù)據(jù)。
  • 在正確的時(shí)間提供正確的數(shù)據(jù):大數(shù)據(jù)框架必然包含多個(gè)組件。任何組件的配置不當(dāng),都可能導(dǎo)致數(shù)據(jù)在加載或處理中引起應(yīng)用性能的下降。與此同時(shí),即使數(shù)據(jù)的準(zhǔn)確性得到了保障,如果無法在正確的時(shí)間提供可用的數(shù)據(jù),這對(duì)于應(yīng)用服務(wù)來說同樣是惘然??梢?,大數(shù)據(jù)測試就是要測試應(yīng)用在不同的數(shù)據(jù)類型和負(fù)載體量下,能夠快速地處理并交付出準(zhǔn)確信息的能力。
  • ·提高利潤與滿意度:那些難以確定的錯(cuò)誤原因和位置,往往會(huì)成為企業(yè)大數(shù)據(jù)應(yīng)用的主要漏洞和缺陷。而通過深入的測試,我們能夠有效地將有用的數(shù)據(jù)與結(jié)構(gòu)不良的無用數(shù)據(jù)相互分離,在增強(qiáng)客戶使用體驗(yàn)的同時(shí),提高業(yè)務(wù)的營收,以及優(yōu)化整個(gè)業(yè)務(wù)的決策流程。

原文標(biāo)題:A Complete Guide to Big Data Testing,作者:Vakul gotra

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2018-01-05 13:50:17

大數(shù)據(jù)數(shù)據(jù)集合測試

2019-08-04 20:09:14

物聯(lián)網(wǎng)數(shù)據(jù)物聯(lián)網(wǎng)IOT

2009-06-25 16:47:30

EJB技術(shù)

2021-01-10 15:20:32

云滲透云計(jì)算滲透測試

2023-07-18 14:59:00

數(shù)據(jù)中心DCO

2022-04-18 10:20:31

數(shù)據(jù)映射工具

2020-09-15 06:15:23

滲透測試風(fēng)險(xiǎn)評(píng)估網(wǎng)絡(luò)安全

2020-09-11 11:29:34

滲透測試風(fēng)險(xiǎn)評(píng)估網(wǎng)絡(luò)安全

2015-09-08 09:24:26

大數(shù)據(jù)分析采購

2019-10-31 14:15:54

物聯(lián)網(wǎng)區(qū)塊鏈技術(shù)

2018-04-27 13:21:29

大數(shù)據(jù)IT企業(yè)數(shù)據(jù)分析

2013-07-30 09:14:25

2023-07-04 15:54:39

數(shù)據(jù)測試數(shù)據(jù)質(zhì)量開發(fā)

2019-05-30 06:51:29

2020-02-13 11:29:46

服務(wù)器架構(gòu)技術(shù)

2015-06-25 13:06:48

大數(shù)據(jù)從選擇到應(yīng)用

2022-11-10 15:29:19

物聯(lián)網(wǎng)

2022-01-19 12:23:36

云遷移云端

2017-08-02 14:31:58

大數(shù)據(jù)集群數(shù)據(jù)存儲(chǔ)

2023-01-31 13:55:33

Java循環(huán)語句
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)