高加瓊
(四川職業(yè)技術(shù)學(xué)院計(jì)算機(jī)科學(xué)系,四川 遂寧 629000)
大數(shù)據(jù)功能性測(cè)試與非功能性測(cè)試分析
高加瓊
(四川職業(yè)技術(shù)學(xué)院計(jì)算機(jī)科學(xué)系,四川 遂寧 629000)
大數(shù)據(jù)測(cè)試技術(shù)中不是測(cè)試軟件產(chǎn)品的個(gè)別功能,而是驗(yàn)證其數(shù)據(jù)處理的性能與功能測(cè)試.同時(shí)大數(shù)據(jù)測(cè)試的數(shù)據(jù)質(zhì)量也是一個(gè)重要方面,在測(cè)試之前就需要做好對(duì)數(shù)據(jù)的質(zhì)量檢查,本文將對(duì)大數(shù)據(jù)測(cè)試包括功能性測(cè)試與非功能性測(cè)試分析探討.
大數(shù)據(jù)測(cè)試;功能性測(cè)試;非功能性測(cè)試
隨著物聯(lián)網(wǎng)、云計(jì)算和移動(dòng)互聯(lián)網(wǎng)等技術(shù)的快速發(fā)展,數(shù)據(jù)發(fā)生了“大爆炸”,規(guī)模呈現(xiàn)出幾何級(jí)的上升,其計(jì)算的基本單位已經(jīng)用Z B為單位.大數(shù)據(jù)表現(xiàn)出的特性具有 Volume(海量)、(Value)(價(jià)值密度低)、Velocity(高速)與 Variety(多樣)這幾個(gè)方面特征.大數(shù)據(jù)作為一個(gè)大的數(shù)據(jù)集合,利用傳統(tǒng)的計(jì)算技術(shù)是不能提取、存儲(chǔ)、搜索、共享、分析以及處理的大量的、多樣的、復(fù)雜的數(shù)據(jù)集合.對(duì)于這些大的數(shù)據(jù)集測(cè)試就需要使用一些工具、技術(shù)與框架來(lái)做處理.大數(shù)據(jù)測(cè)試技術(shù)中不是測(cè)試軟件產(chǎn)品的個(gè)別功能,而是驗(yàn)證其數(shù)據(jù)處理的性能與功能測(cè)試.同時(shí)大數(shù)據(jù)測(cè)試的數(shù)據(jù)質(zhì)量也是一個(gè)重要方面,在測(cè)試之前就需要做好對(duì)數(shù)據(jù)的質(zhì)量檢查,檢查不同字段的重復(fù)性,準(zhǔn)確性,一致性,有效性和數(shù)據(jù)完整性等方面的檢查.
大數(shù)據(jù)測(cè)試包括功能性測(cè)試與非功能性測(cè)試,大數(shù)據(jù)功能測(cè)試最終目的就是實(shí)現(xiàn)識(shí)別由編碼錯(cuò)誤或節(jié)點(diǎn)配置錯(cuò)誤造成的數(shù)據(jù)問(wèn)題.非功能性測(cè)試就是針對(duì)在具體行業(yè)的應(yīng)用所進(jìn)行的非功能性測(cè)試.在對(duì)這兩種功能測(cè)試前,我們需要對(duì)大數(shù)據(jù)測(cè)試流程進(jìn)行介紹.
大數(shù)據(jù)測(cè)試流程首先是采集,大數(shù)據(jù)的采集是最基本的任務(wù).用多個(gè)數(shù)據(jù)庫(kù)來(lái)接收來(lái)自客戶端的數(shù)據(jù),包括Web客戶端、App客戶端、傳感器等客戶端的數(shù)據(jù),而且用戶可以通過(guò)大數(shù)據(jù)里的這些數(shù)據(jù)庫(kù)對(duì)各類數(shù)據(jù)信息做簡(jiǎn)單的查詢、處理等工作.
大數(shù)據(jù)處理過(guò)程在采集端時(shí)雖然擁有了非常多數(shù)據(jù)庫(kù),但是面對(duì)海量的數(shù)據(jù)進(jìn)行科學(xué)有效的分析是不夠的,還需要把這些數(shù)據(jù)導(dǎo)入到一個(gè)大型的分布式數(shù)據(jù)庫(kù),并在對(duì)數(shù)據(jù)導(dǎo)入之后做一些簡(jiǎn)單的清洗、預(yù)處理工作.S q o o p與F l u m e等軟件可優(yōu)化這些數(shù)據(jù)的互操作性,Sqoop軟件的功能就是從關(guān)系數(shù)據(jù)庫(kù)導(dǎo)入數(shù)據(jù)到Hadoop,而且還能直接導(dǎo)入到HFDS或者Hive軟件里.Flume設(shè)計(jì)的目的是直接將日志數(shù)據(jù)或流數(shù)據(jù)導(dǎo)入到HDFS里.在導(dǎo)入與預(yù)處理的過(guò)程中其最大的特點(diǎn)就是導(dǎo)入的數(shù)據(jù)量非常大,每秒會(huì)達(dá)到百兆甚至千兆級(jí)別.
大數(shù)據(jù)的統(tǒng)計(jì)分析就是對(duì)導(dǎo)入到一個(gè)大型的分布式數(shù)據(jù)庫(kù)里的數(shù)據(jù)用分布式技術(shù)來(lái)對(duì)這些的數(shù)據(jù)分析、匯總等工作.
與前面的統(tǒng)計(jì)和分析不同的是大數(shù)據(jù)挖掘一般不會(huì)預(yù)先設(shè)定好主題,數(shù)據(jù)的挖掘就是對(duì)現(xiàn)有數(shù)據(jù)進(jìn)行計(jì)算分析,通常采用的工具是K-means(聚類)、SVM(統(tǒng)計(jì)學(xué)習(xí))和naive Bayes(分類)等這些工具.
當(dāng)Map Reduce過(guò)程結(jié)束后,就會(huì)把產(chǎn)生的數(shù)據(jù)輸出文件按需移到數(shù)據(jù)倉(cāng)庫(kù)或其他的事務(wù)型系統(tǒng).對(duì)獲得的大數(shù)據(jù)分析,或者采用B I工具產(chǎn)生報(bào)表,最終實(shí)現(xiàn)讓使用者通過(guò)大數(shù)據(jù)的反映情況作出正確有利的決策.
大數(shù)據(jù)功能性測(cè)試其關(guān)鍵是針對(duì)大數(shù)據(jù)研究大數(shù)據(jù)分析應(yīng)用的POSI XAPI,其功能主要是文件讀取、訪問(wèn)控制、元數(shù)據(jù)操作和鎖操作等方面.大數(shù)據(jù)功能性測(cè)試分成以下幾個(gè)步驟:
a)數(shù)據(jù)導(dǎo)入/預(yù)處理階段驗(yàn)證.來(lái)自不同方面的數(shù)據(jù)資源應(yīng)該被驗(yàn)證,包括網(wǎng)絡(luò)日志、物聯(lián)網(wǎng)、社會(huì)網(wǎng)絡(luò)、互聯(lián)網(wǎng)文本和文件等數(shù)據(jù)資源,確保正確的數(shù)據(jù)被加載進(jìn)系統(tǒng),保證獲取數(shù)據(jù)的準(zhǔn)確性,也就是說(shuō)被按需加載到HDFS中待處理,并且被分割,復(fù)制到各種的數(shù)據(jù)節(jié)點(diǎn)里.在這個(gè)階段可以使用Talend或Datameer工具進(jìn)行數(shù)據(jù)階段驗(yàn)證.
b)Map Reduce數(shù)據(jù)輸出驗(yàn)證.該階段是對(duì)加載進(jìn)HDFS后的各類數(shù)據(jù),使用一種編程模型(Map Reduce)對(duì)來(lái)自不同數(shù)據(jù)源的數(shù)據(jù)做處理工作,測(cè)試者在每個(gè)節(jié)點(diǎn)上進(jìn)行業(yè)務(wù)邏輯驗(yàn)證,驗(yàn)證中會(huì)出現(xiàn)在單一節(jié)點(diǎn)上運(yùn)行是正確,但是在多個(gè)節(jié)點(diǎn)上運(yùn)行又是錯(cuò)誤的,出現(xiàn)不正確的聚合,節(jié)點(diǎn)配置,輸出格式等問(wèn)題現(xiàn)象.針對(duì)這個(gè)問(wèn)題,要驗(yàn)證運(yùn)行多個(gè)節(jié)點(diǎn)后的操作的正確性,可以采取在單個(gè)節(jié)點(diǎn)上對(duì)大數(shù)據(jù)的業(yè)務(wù)邏輯進(jìn)行驗(yàn)證,然后在多節(jié)點(diǎn)上做相同驗(yàn)證,也可以在執(zhí)行Map與Reduce進(jìn)程后驗(yàn)證數(shù)據(jù),還可以使用源文件驗(yàn)證輸出數(shù)據(jù)情況,以確保數(shù)據(jù)處理無(wú)誤.
c)三是大數(shù)據(jù)E T L到數(shù)據(jù)倉(cāng)庫(kù)驗(yàn)證.對(duì)生成輸出數(shù)據(jù)文件被按需移到數(shù)據(jù)倉(cāng)庫(kù)或者是其它的事務(wù)型系統(tǒng)里可能會(huì)形成一個(gè)錯(cuò)誤的應(yīng)用轉(zhuǎn)換規(guī)則,從而使得提取的數(shù)據(jù)不完全. 采取的解決辦法:可以.驗(yàn)證轉(zhuǎn)換(Transformation)規(guī)則有沒(méi)有被正確應(yīng)用,也可以比較把目標(biāo)數(shù)據(jù)與HDFS文件系統(tǒng)數(shù)據(jù)來(lái)驗(yàn)證數(shù)據(jù)有沒(méi)有壞掉.
由于不同的行業(yè)對(duì)大數(shù)據(jù)的應(yīng)用不同,除了功能性測(cè)試外,還需要進(jìn)行非功能性測(cè)試,比如性能測(cè)試,穩(wěn)定性測(cè)試等.
a)性能測(cè)試.大數(shù)據(jù)測(cè)試中性能主要包括吞吐量,任務(wù)完成時(shí)間,內(nèi)存利用率等各種指標(biāo),這些指標(biāo)可以對(duì)大數(shù)據(jù)分析平臺(tái)的處理能力、數(shù)據(jù)資源使用能力的全面反映.在計(jì)算機(jī)軟件的發(fā)展過(guò)程中,人們通常采用hadoop性能監(jiān)控器來(lái)監(jiān)測(cè)運(yùn)行狀態(tài)性能指標(biāo)與瓶頸問(wèn)題,性能測(cè)試作為一個(gè)自動(dòng)化化方式進(jìn)行,測(cè)試系統(tǒng)是在不同負(fù)載狀況下的性能.
b)穩(wěn)定性測(cè)試.穩(wěn)定性測(cè)試是大數(shù)據(jù)分析系統(tǒng)要長(zhǎng)時(shí)間運(yùn)轉(zhuǎn)所必須硬性的要求,要保證系統(tǒng)有沒(méi)有正常運(yùn)行,功能還保持正常與否.而在穩(wěn)定性測(cè)試中所使用的軟件工具是LTP,10ZONE,POSTMARK,FIO等類型軟件.
c)擴(kuò)展性測(cè)試.大數(shù)據(jù)時(shí)代的文件系統(tǒng)對(duì)彈性擴(kuò)展能力的要求也很重要,包括測(cè)試系統(tǒng)的彈性擴(kuò)展能力和擴(kuò)展系統(tǒng)帶來(lái)的性能影響,從而驗(yàn)證是不是具有線性擴(kuò)展能力.
d)可用性測(cè)試.大數(shù)據(jù)分析的主要特性之一就是高可用性,這樣才可以保證數(shù)據(jù)應(yīng)用業(yè)務(wù)的連續(xù)性.所以需要嚴(yán)格進(jìn)行測(cè)試和驗(yàn)證.
除了上述測(cè)試以外,非功能性測(cè)試還包括容錯(cuò)性測(cè)試、壓力測(cè)試、數(shù)據(jù)一致性測(cè)試、部署方式測(cè)試等.
由于大數(shù)據(jù)分析系統(tǒng)具有高效能、高擴(kuò)展、高性能、高可用、易管理和易使用的特點(diǎn),它的架構(gòu)測(cè)試的復(fù)雜性使得其系統(tǒng)測(cè)試也變得非常復(fù)雜.在研究過(guò)程中,究竟采用功能性測(cè)試還是非功能性測(cè)試,要根據(jù)其不同的行業(yè)、應(yīng)用場(chǎng)景以及采集的數(shù)據(jù)來(lái)選用.因?yàn)榇髷?shù)據(jù)功能測(cè)試最終目的就是實(shí)現(xiàn)識(shí)別由編碼錯(cuò)誤或節(jié)點(diǎn)配置錯(cuò)誤造成的數(shù)據(jù)問(wèn)題.非功能性測(cè)試就是針對(duì)在具體行業(yè)的應(yīng)用所進(jìn)行的非功能性測(cè)試.
[1]李鵬飛,盧瑾,辛一.基于專利的大數(shù)據(jù)技術(shù)發(fā)展情報(bào)分析及戰(zhàn)略研究[J].情報(bào)雜志,2014,(09).
[2]代亮,陳婷,許宏科,等.大數(shù)據(jù)測(cè)試技術(shù)研究[J].計(jì)算機(jī)應(yīng)用研究,2014,(06).
[3]詹劍鋒,高婉鈴,王磊,等.Big Data Bench:開(kāi)源的大數(shù)據(jù)系統(tǒng)評(píng)測(cè)基準(zhǔn)[J].計(jì)算機(jī)學(xué)報(bào),2016,(01).
責(zé)任編輯:張隆輝
T P 311.1
A
1672-2094(2017)04-0160-02
2017-03-28
四川省教育廳自然科學(xué)重點(diǎn)項(xiàng)目“網(wǎng)絡(luò)大數(shù)據(jù)測(cè)試基準(zhǔn)研究”(編號(hào)15 Z A 0349)
高加瓊,(1974-),女,四川天全人,四川職業(yè)技術(shù)學(xué)院副教授,碩士.研究方向:計(jì)算機(jī)應(yīng)用.