摘要:隨著大數(shù)據(jù)技術(shù)的發(fā)展、大數(shù)據(jù)系統(tǒng)不斷出現(xiàn),用戶對(duì)系統(tǒng)質(zhì)量的期望,大數(shù)據(jù)測(cè)試技術(shù)也將不斷完善。該文把大數(shù)據(jù)測(cè)試和傳統(tǒng)軟件測(cè)試進(jìn)行對(duì)比,詳細(xì)闡述了大數(shù)據(jù)功能測(cè)試的步驟,簡(jiǎn)單介紹了幾種大數(shù)據(jù)非功能測(cè)試類型以及大數(shù)據(jù)測(cè)試面臨的挑戰(zhàn)。
關(guān)鍵詞:大數(shù)據(jù);軟件測(cè)試;步驟
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)05-0072-02
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
大數(shù)據(jù)是指無(wú)法在一定時(shí)間范圍內(nèi)用常規(guī)軟件工具進(jìn)行捕捉、管理和處理的數(shù)據(jù)集合,是需要新處理模式才能具有更強(qiáng)的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化力的海量信息,在運(yùn)行方面具有數(shù)據(jù)流龐大、數(shù)據(jù)種類繁多、數(shù)據(jù)價(jià)值量密度較低以及數(shù)據(jù)運(yùn)行和處理的速度極快等基礎(chǔ)特征。[1]當(dāng)前,我國(guó)大數(shù)據(jù)的應(yīng)用領(lǐng)域已經(jīng)從政府、金融延伸到醫(yī)療、生物、電商、安防等各行各業(yè)。隨著云計(jì)算技術(shù)與應(yīng)用、物聯(lián)網(wǎng)、大數(shù)據(jù)等技術(shù)的不斷發(fā)展,應(yīng)用于各個(gè)領(lǐng)域的大數(shù)據(jù)系統(tǒng)也不斷形成。這種大數(shù)據(jù)系統(tǒng)的系統(tǒng)結(jié)構(gòu)復(fù)雜,數(shù)據(jù)類型更加豐富,更有TB級(jí)別的海量數(shù)據(jù)量,要使系統(tǒng)平穩(wěn)運(yùn)行,比起傳統(tǒng)軟件更是需要軟件測(cè)試技術(shù)作為支撐。隨著大數(shù)據(jù)技術(shù)的發(fā)展也逐步形成具有獨(dú)特特征的大數(shù)據(jù)測(cè)試技術(shù)。
1 大數(shù)據(jù)測(cè)試與傳統(tǒng)測(cè)試的比較
傳統(tǒng)軟件測(cè)試是在系統(tǒng)已知的前提下對(duì)從用戶需求提取到的測(cè)試任務(wù)進(jìn)行的測(cè)試,用戶的行為直接影響系統(tǒng)的最終執(zhí)行結(jié)果。傳統(tǒng)軟件測(cè)試最主要的兩種測(cè)試類型為功能測(cè)試和性能測(cè)試,都是簡(jiǎn)單的從用戶界面人手,比如12306中注冊(cè)、登錄、下訂單、支付等,可直接使用黑盒測(cè)試方法即可。傳統(tǒng)軟件測(cè)試技術(shù)已經(jīng)比較成熟,也形成了各種配套的自動(dòng)化測(cè)試工具。
軟件測(cè)試類型很多,包括功能測(cè)試、性能測(cè)試、安裝與卸載測(cè)試、兼容性測(cè)試、健壯性測(cè)試、文檔測(cè)試、回歸測(cè)試等等。大數(shù)據(jù)測(cè)試和傳統(tǒng)軟件測(cè)試相比,主要測(cè)試類型都是功能測(cè)試和性能測(cè)試,但在測(cè)試目的和測(cè)試流程存在一定差異,主要表現(xiàn)在大數(shù)據(jù)測(cè)試更多的是去驗(yàn)證其數(shù)據(jù)處理而不是驗(yàn)證單一的功能。
大數(shù)據(jù)測(cè)試與傳統(tǒng)測(cè)試的區(qū)別如表1所示。
2 大數(shù)據(jù)功能測(cè)試步驟
整體而言,大數(shù)據(jù)功能測(cè)試可以分為下面四個(gè)步驟:
2.1 數(shù)據(jù)預(yù)處理驗(yàn)證
大數(shù)據(jù)測(cè)試的第一步,也稱作pre-hadoop階段。本階段主要驗(yàn)證:
1)來(lái)自關(guān)系數(shù)據(jù)庫(kù)、日志系統(tǒng)、社交網(wǎng)絡(luò)、互聯(lián)網(wǎng)文本和文件等各種數(shù)據(jù)資源應(yīng)該要被驗(yàn)證,確保是正確的資源被加載進(jìn)系統(tǒng)州;
2)數(shù)據(jù)加載后還要驗(yàn)證推送到hadoop系統(tǒng)中的數(shù)據(jù)和源數(shù)據(jù)是一致的[4];
3)驗(yàn)證正確的數(shù)據(jù)被提取并被加載到HDFS(Hadoop Dis-tributed File System)正確的數(shù)據(jù)節(jié)點(diǎn)中。
2.2“MapReduce”驗(yàn)證
經(jīng)過(guò)數(shù)據(jù)預(yù)處理驗(yàn)證、數(shù)據(jù)成功加載到HDFS后,MapRe-duce開(kāi)始對(duì)數(shù)據(jù)進(jìn)行并行處理。由Google公司最早提出的Ma-pReduce是一種面向大規(guī)模數(shù)據(jù)處理的并行技術(shù)模型,也是當(dāng)前公認(rèn)的最易于使用的大數(shù)據(jù)并行處理技術(shù)。大數(shù)據(jù)測(cè)試工程師根據(jù)業(yè)務(wù)需求,在每個(gè)節(jié)點(diǎn)上進(jìn)行業(yè)務(wù)邏輯驗(yàn)證,確保如下操作的正確性:
1) MapReduce并行處理正常運(yùn)行,得到想要的文件;
2)在數(shù)據(jù)上實(shí)施數(shù)據(jù)聚合或隔離規(guī)則[6];
3)數(shù)據(jù)key-value關(guān)系已正確生成;
4)驗(yàn)證經(jīng)過(guò)map reduce后數(shù)據(jù)的準(zhǔn)確性;
5)按照大數(shù)據(jù)業(yè)務(wù)需求,驗(yàn)證輸出數(shù)據(jù)文件格式的規(guī)范性。
2.3 數(shù)據(jù)倉(cāng)庫(kù)驗(yàn)證
根據(jù)業(yè)務(wù)邏輯要求進(jìn)行處理后的數(shù)據(jù)最終將按用戶需求導(dǎo)入到數(shù)據(jù)倉(cāng)庫(kù)。在這個(gè)階段需要驗(yàn)證數(shù)據(jù)轉(zhuǎn)換規(guī)則是否正確應(yīng)用,倉(cāng)庫(kù)中的數(shù)據(jù)是否有損壞、數(shù)據(jù)完整性約束使用是否正確等。
2.4 分析報(bào)表驗(yàn)證
數(shù)據(jù)處理完成導(dǎo)入到相應(yīng)的數(shù)據(jù)倉(cāng)庫(kù)后,可使用工具自帶的報(bào)表工具得到分析報(bào)告,該階段要驗(yàn)證自動(dòng)得到的分析報(bào)告是否滿足用戶、業(yè)務(wù)需求。
3 大數(shù)據(jù)主要非功能測(cè)試類型
在系統(tǒng)功能正常使用的基礎(chǔ)上,用戶對(duì)系統(tǒng)的非功能特性要求也越來(lái)越高。大數(shù)據(jù)功能測(cè)試是所有其他測(cè)試的基礎(chǔ),此外還需要行多項(xiàng)非功能測(cè)試,這主要包括下面幾種:
3.1 性能測(cè)試
網(wǎng)頁(yè)瀏覽速度慢、文件下載速度慢、雙11沒(méi)有辦法支付、春運(yùn)期間搶不到回家的車票等等,其實(shí)都是屬于系統(tǒng)性能問(wèn)題。對(duì)一個(gè)大數(shù)據(jù)系統(tǒng)來(lái)說(shuō),所需監(jiān)控的性能指標(biāo)包括吞吐量、響應(yīng)時(shí)間、服務(wù)器資源利用率等。性能測(cè)試和功能測(cè)試?yán)碚撋鲜强梢酝瑫r(shí)進(jìn)行的,但一般都是在軟件公司完成功能測(cè)試后再把系統(tǒng)部署到真實(shí)環(huán)境中進(jìn)行性能測(cè)試。因?yàn)橄到y(tǒng)的性能影響因素很多,除了系統(tǒng)代碼外,還跟硬件、網(wǎng)絡(luò)、部署方式有關(guān)。大數(shù)據(jù)系統(tǒng)性能測(cè)試執(zhí)行過(guò)程一般是:
1)根據(jù)業(yè)務(wù)需求設(shè)計(jì)性能測(cè)試場(chǎng)景;
2)初始化大數(shù)據(jù)集群環(huán)境;
3)準(zhǔn)備性能測(cè)試腳本;
4)執(zhí)行并分析測(cè)試結(jié)果,如果指標(biāo)不達(dá)標(biāo),需要分析性能瓶頸、調(diào)整參數(shù)并重新測(cè)試;
5)提交性能測(cè)試分析報(bào)告。
3.2 可用性測(cè)試
ISO/IEC 9126-1將可用性定義為“在特定使用情景下,軟件產(chǎn)品能夠被用戶理解、學(xué)習(xí)、使用、能夠吸引用戶的能力”。大數(shù)據(jù)系統(tǒng)的可用性測(cè)試是檢驗(yàn)系統(tǒng)是否達(dá)到用戶要求的可用性標(biāo)準(zhǔn),一般可通過(guò)招募代表性用戶用手動(dòng)測(cè)試完成??捎眯詼y(cè)試通過(guò)觀察有代表性的用戶完成產(chǎn)品的典型任務(wù),從而界定出可用性問(wèn)題并加以解決的過(guò)程??捎眯詼y(cè)試可發(fā)現(xiàn)用戶體驗(yàn)上的問(wèn)題;可檢驗(yàn)期望的設(shè)計(jì)目的是否實(shí)驗(yàn)、是否滿足用戶期望;可了解用戶的使用習(xí)慣、了解用戶的認(rèn)知;可對(duì)產(chǎn)品進(jìn)行評(píng)估。大數(shù)據(jù)系統(tǒng)可用性測(cè)試執(zhí)行過(guò)程一般是:
1)確定測(cè)試任務(wù);
2)招募典型、有代表性的用戶;
3)測(cè)試前準(zhǔn)備;
4)實(shí)施測(cè)試;
5)測(cè)試分析和測(cè)試報(bào)告。
3.3 穩(wěn)定性測(cè)試
大數(shù)據(jù)系統(tǒng)通常是部署在服務(wù)器上、長(zhǎng)時(shí)間不間斷運(yùn)行,系統(tǒng)的穩(wěn)定性尤為重要。測(cè)試人員不可能長(zhǎng)時(shí)間不休息、一直守在電腦前觀察系統(tǒng)運(yùn)行情況。和傳統(tǒng)軟件測(cè)試類似,大數(shù)據(jù)系統(tǒng)的穩(wěn)定性測(cè)試也是驗(yàn)證系統(tǒng)在長(zhǎng)時(shí)間運(yùn)行下是否出錯(cuò),一般借助于自動(dòng)化測(cè)試工具完成。
4 大數(shù)據(jù)測(cè)試面臨的挑戰(zhàn)
與傳統(tǒng)軟件測(cè)試相比,大數(shù)據(jù)的多樣性給從事大數(shù)據(jù)測(cè)試的軟件測(cè)試工程師帶來(lái)了新的挑戰(zhàn),可能面臨下面幾個(gè)挑戰(zhàn)。
4.1 自動(dòng)化
當(dāng)前傳統(tǒng)的軟件測(cè)試功能測(cè)試還是手動(dòng)測(cè)試居多,在高回歸的情況下才會(huì)借助selenium、UFT等工具實(shí)現(xiàn)自動(dòng)化。因大數(shù)據(jù)系統(tǒng)的數(shù)據(jù)量巨大、速度快、數(shù)據(jù)類型多、數(shù)據(jù)價(jià)值低等特點(diǎn),借助測(cè)試工具實(shí)現(xiàn)自動(dòng)化是從事大數(shù)據(jù)測(cè)試必備的技術(shù),但當(dāng)前市場(chǎng)上的自動(dòng)化測(cè)試工具并不具備處理異常的能力,意味著現(xiàn)有測(cè)試工具可能并不完全適用,這就要求測(cè)試工程師需要自己編寫合適的測(cè)試工具,編碼能力將是大數(shù)據(jù)測(cè)試工程師的必備技能。
4.2 虛擬化
當(dāng)前業(yè)內(nèi)大規(guī)模使用虛擬化技術(shù),但虛擬機(jī)的延遲有可能造成大數(shù)據(jù)實(shí)時(shí)測(cè)試處理的異常。
4.3 海量數(shù)據(jù)集
大數(shù)據(jù)系統(tǒng)需要驗(yàn)證的數(shù)據(jù)量往往是TB級(jí)別的,并且要求處理的速度更快,對(duì)這類系統(tǒng)進(jìn)行測(cè)試需要有效的自動(dòng)化測(cè)試手段。
5 結(jié)束語(yǔ)
大數(shù)據(jù)分析已經(jīng)毫無(wú)爭(zhēng)議地成為信息技術(shù)發(fā)展趨勢(shì)和熱點(diǎn),廣泛被工業(yè)界和學(xué)術(shù)界熱推[5]。目前針對(duì)大數(shù)據(jù)測(cè)試的研究同其設(shè)計(jì)開(kāi)發(fā)的研究相比相對(duì)薄弱。但隨著大數(shù)據(jù)工程和數(shù)據(jù)分析逐步進(jìn)入新的階段,大數(shù)據(jù)測(cè)試將成為必然,也必定成為未來(lái)的一個(gè)熱門的職業(yè)方向。本項(xiàng)目對(duì)大數(shù)據(jù)測(cè)試的相關(guān)理論、常用測(cè)試方法進(jìn)行研究,后續(xù)將給出大數(shù)據(jù)技術(shù)與應(yīng)用專業(yè)《軟件測(cè)試基礎(chǔ)》課程標(biāo)準(zhǔn),為大數(shù)據(jù)測(cè)試人才培養(yǎng)做好準(zhǔn)備。
參考文獻(xiàn):
[1]秦怡,大數(shù)據(jù)背景下軟件測(cè)試技術(shù)面臨的挑戰(zhàn)與發(fā)展方向[Jl.電子技術(shù)與軟件工程,2019(9):46-47.
[2]張丹.大數(shù)據(jù)背景下的測(cè)試技術(shù)教學(xué)改革探索[J].黑龍江科學(xué),2019(8):20-21.
[3]岑柏滋,劉麗琳,基于大數(shù)據(jù)的軟件測(cè)試分析[Jl.智庫(kù)時(shí)代,2019(7):231,233.
[4]大數(shù)據(jù)測(cè)試方法[EB/OL].http://blog. csdn. net/test_soy/article/ details/49617143.
[5]代亮,陳婷,許宏科,等.大數(shù)據(jù)測(cè)試技術(shù)研究[J].計(jì)算機(jī)應(yīng)用研究,2014(4):1606-1611.
[6]大數(shù)據(jù)測(cè)試類型&大數(shù)據(jù)測(cè)試步驟[EB/OL]. http://blog.csdn.net/henni_71 9/article/details/5 491 1090.
【通聯(lián)編輯:謝媛媛】
收稿日期:2019-12-15
基金項(xiàng)目:四川信息職業(yè)技術(shù)學(xué)院四川移動(dòng)應(yīng)用開(kāi)發(fā)協(xié)同創(chuàng)新中心(項(xiàng)目編號(hào):2019KC003)
作者簡(jiǎn)介:林勤花(1980-),女,四川信息職業(yè)技術(shù)學(xué)院,副教授,碩士,研究方向?yàn)檐浖夹g(shù)、軟件測(cè)試。