大數(shù)據(jù)背景下軟件測試若干問題研究_第1頁
大數(shù)據(jù)背景下軟件測試若干問題研究_第2頁
大數(shù)據(jù)背景下軟件測試若干問題研究_第3頁
大數(shù)據(jù)背景下軟件測試若干問題研究_第4頁
大數(shù)據(jù)背景下軟件測試若干問題研究_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

大數(shù)據(jù)背景下軟件測試若干問題研究摘要:隨著移動互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、云計(jì)算的迅猛發(fā)展,大數(shù)據(jù)引發(fā)了新一輪技術(shù)發(fā)展的浪潮,同時(shí)也給軟件測試帶來了挑戰(zhàn)。本文從以下幾個(gè)方面重點(diǎn)分析了大數(shù)據(jù)給軟件測試帶來的挑戰(zhàn):1)大數(shù)據(jù)處理框架帶來的測試挑戰(zhàn);2)傳統(tǒng)測試平臺無法滿足大數(shù)據(jù)處理的需求;3)數(shù)據(jù)的多樣性帶來的正確定判斷問題4)大數(shù)據(jù)的預(yù)測本質(zhì)導(dǎo)致測試的定位困難。關(guān)鍵詞:大數(shù)據(jù),軟件測試,挑戰(zhàn)1引言隨著移動互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、云計(jì)算的迅猛發(fā)展,全球數(shù)據(jù)出現(xiàn)爆炸式增長。IDC2013年發(fā)布的DigitalUniverseStudy指出,全球信息總量每過兩年,就會增長一倍。僅在2013年一年,全球被創(chuàng)建和被復(fù)制的數(shù)據(jù)總量就達(dá)到4.4ZB,較2011年同期上漲2.6ZB,到2020年這一數(shù)值將增長到44ZB。維基百科對大數(shù)據(jù)的定義是,指所涉及的數(shù)據(jù)量規(guī)模巨大到無法通過人工,在合理時(shí)間內(nèi)達(dá)到截取、管理、處理、整理成為人類所能解讀的信息。隨著軟件形態(tài)的不斷變化,軟件測試的重點(diǎn)和方式也在不斷發(fā)展。在單機(jī)軟件時(shí)代,很少測試并發(fā)性能,而在C/S以及B/S時(shí)代,性能測試其重要性在某種意義上比單項(xiàng)功能測試更加重要。但由于大數(shù)據(jù)的4V特征使得大數(shù)據(jù)處理技術(shù)和傳統(tǒng)方式有很大不同,從而給軟件測試帶來新的挑戰(zhàn)。本文重點(diǎn)分析大數(shù)據(jù)給軟件測試帶來的挑戰(zhàn)。2大數(shù)據(jù)時(shí)代軟件形態(tài)的變化大數(shù)據(jù)具備四個(gè)層面的特點(diǎn):第一,數(shù)據(jù)量巨大(Volume),從PB級別,躍升到EB級別,甚至ZB級別。第二,數(shù)據(jù)類型繁多(Variety),比如網(wǎng)絡(luò)日志、視頻、圖片、地理位置信息等。第三,價(jià)值密度低(Veracity),不相關(guān)信息數(shù)量龐大,需要深度挖掘分析。第四,處理速度快(Velocity),一秒定律,即實(shí)時(shí)分析而非批量試分析,立竿見影而非事后見效,這與傳統(tǒng)的數(shù)據(jù)挖掘技術(shù)有著本質(zhì)的不同。大數(shù)據(jù)的4V特征帶來了軟件形態(tài)和特征的變化。大數(shù)據(jù)處理在當(dāng)前軟件技術(shù)能力下是及其困難的。維基百科中定義的大數(shù)據(jù),或稱巨量資料、海量資料,指的是所涉及的資料量規(guī)模巨大到無法通過目前主流軟件工具,在合理時(shí)間內(nèi)達(dá)到采集、管理、處理并整理成為幫助企業(yè)經(jīng)營決策的有價(jià)值的信息。在這個(gè)定義中,其核心的思維是“無法通過目前主流的軟件工具、在合理時(shí)間內(nèi)達(dá)到……”,其背后的含義是數(shù)據(jù)量已經(jīng)超過當(dāng)前的軟件的處理能力。美國MIT的SamMadden對此作了進(jìn)一步的闡述,大數(shù)據(jù)之所以稱為大,是因?yàn)槠涑隽水?dāng)前的處理能力。大數(shù)據(jù)軟件所需要產(chǎn)生的結(jié)果是未知的。李國杰院士在《大數(shù)據(jù)的科學(xué)問題研究》中指出大數(shù)據(jù)軟件特征等多是像“大海捕魚”而不是“大海撈針”?!按蠛漆槨钡那疤崾窍戎烙幸幻丁搬槨痹诤@?,而海量數(shù)據(jù)的挖掘往往不知道海里有沒有“針”。大數(shù)據(jù)分析的目的是發(fā)現(xiàn)隱藏在數(shù)據(jù)之中的關(guān)系,是否存在數(shù)據(jù)之間的關(guān)系,這些關(guān)系是什么,這些在運(yùn)行之前和是未知的。就像“大海捕魚”,捕到什么魚算什么魚。如果沒有捕到什么魚,是因?yàn)楹@餂]有魚,還是由于網(wǎng)眼太大,把魚給漏掉了。如果捕到了一些魚,是否該捕的魚都捕到了。大數(shù)據(jù)軟件的思維模式和傳統(tǒng)軟件具有巨大的差異。在傳統(tǒng)軟件中,是先建立數(shù)學(xué)模型,軟件中一般采用軟件規(guī)格說明書來表示。數(shù)據(jù)和數(shù)據(jù)之間的關(guān)系,特別是軟件的輸入和輸出之間關(guān)系事先是確定的,然后利用程序來實(shí)現(xiàn)相關(guān)的數(shù)學(xué)模型。而大數(shù)據(jù)的研究,目的是找出數(shù)據(jù)和數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系。數(shù)據(jù)的關(guān)系和特征隱藏在數(shù)據(jù)網(wǎng)絡(luò)中,大數(shù)據(jù)往往以復(fù)雜關(guān)聯(lián)的數(shù)據(jù)網(wǎng)絡(luò)這樣一種獨(dú)特的形式存在,軟件并不知道數(shù)據(jù)存在的具體形式,也不知道它是否真的存在,所以大數(shù)據(jù)軟件在思維方式和傳統(tǒng)軟件將會產(chǎn)生巨大的差異。3大數(shù)據(jù)背景下軟件測試若干問題3.1大數(shù)據(jù)處理框架帶來的測試挑戰(zhàn)大數(shù)據(jù)處理框架MapReduce是Google于2004年提出的。該框架把數(shù)據(jù)密集型應(yīng)用的數(shù)據(jù)處理過程簡化抽象成map和reduce兩個(gè)階段,用戶在設(shè)計(jì)分布式程序時(shí),只要實(shí)現(xiàn)map()和reduce()兩個(gè)函數(shù),其它細(xì)節(jié),如數(shù)據(jù)分片、任務(wù)調(diào)度、機(jī)器容錯(cuò)、機(jī)器間通信等,都交由MapReduce框架處理,如圖1所示。在這種背景下,用戶承擔(dān)的功能不如框架自身的功能豐富,給測試帶來了很大的困難。圖1MapReduce框架由于MapReduce自身分布式的特點(diǎn),其測試具有在傳統(tǒng)應(yīng)用不存在的困難:1)無法知道任務(wù)由JobTracker動態(tài)調(diào)度分配到集群中的哪一個(gè)TaskTracker節(jié)點(diǎn)中執(zhí)行;2)無法提前預(yù)知某個(gè)map或reduce任務(wù)在哪個(gè)節(jié)點(diǎn)執(zhí)行;3)無法在錯(cuò)誤發(fā)生前設(shè)定斷點(diǎn);4)有些功能依賴分布式集群的情況,例如分區(qū)partitioner功能在,但節(jié)點(diǎn)無法預(yù)測。3.2傳統(tǒng)測試平臺無法滿足大數(shù)據(jù)處理的需求傳統(tǒng)的C/S和B/S時(shí)代的性能測試,通過控制器協(xié)調(diào)本地向服務(wù)器發(fā)出服務(wù)請求從而實(shí)現(xiàn)服務(wù)器的壓力測試,測試負(fù)載產(chǎn)生器都是基于局部的物理主機(jī)。例如IBM的PerformanceTester、HP的LoadRunner、Mircofocus的SilkPerformance等廠家的傳統(tǒng)工具均是采用類似的方式實(shí)現(xiàn)。對由少量服務(wù)器構(gòu)成的應(yīng)用系統(tǒng)而言,并發(fā)用戶數(shù)在百、千量級的應(yīng)用服務(wù),這種方式能夠滿足應(yīng)用的需求。在大數(shù)據(jù)背景下,為了應(yīng)對數(shù)據(jù)爆炸性增長,數(shù)據(jù)處理平臺均架構(gòu)于可動態(tài)擴(kuò)展的PaaS平臺。Apache基金支持的Hadoop平臺就是目前最著名的大數(shù)據(jù)處理系列,數(shù)據(jù)處理的軟件可以架構(gòu)于千萬級服務(wù)器的資源上,而測試時(shí)要架構(gòu)如此規(guī)模的客戶端,將會遇到極大的困難。測試客戶端的能力可能無法達(dá)到服務(wù)器端的測試需求。3.3數(shù)據(jù)的多樣性帶來的正確定判斷問題大數(shù)據(jù)的基本特征之一就是數(shù)據(jù)的多樣化,除了結(jié)構(gòu)化數(shù)據(jù),非結(jié)構(gòu)化的文本數(shù)據(jù),半結(jié)構(gòu)化的社會媒體數(shù)據(jù),基于位置的數(shù)據(jù)等都在快速的增長中。結(jié)構(gòu)化的數(shù)據(jù)往往存儲在關(guān)系型數(shù)據(jù)庫RDBMS表或者結(jié)構(gòu)化的文件中(例如XML),對于具有事務(wù)本質(zhì)的結(jié)構(gòu)化數(shù)據(jù)可以簡單地存在文件和RDMBS表,以用于軟件測試時(shí)驗(yàn)證軟件正確性。半結(jié)構(gòu)的數(shù)據(jù)沒有預(yù)定義的格式,但是可以根據(jù)數(shù)據(jù)的模式推導(dǎo)出其基本結(jié)構(gòu)。非結(jié)構(gòu)的數(shù)據(jù)沒有任何的格式,存儲在一個(gè)文檔或者Web頁面中。采用非結(jié)構(gòu)化的數(shù)據(jù)作為軟件,將是一件極其復(fù)雜而耗時(shí)的工作。盡管對于非結(jié)構(gòu)化數(shù)據(jù)可以采用部分的自動化工具抽取其中內(nèi)容變成結(jié)構(gòu)化數(shù)據(jù),但是由于數(shù)據(jù)本身可能存在的異常和數(shù)據(jù)格式在測試過程中將會發(fā)生變化。數(shù)據(jù)的多樣化無論在輸入端還是輸出端都存在類似的問題。在輸出端,假若輸出的是海量的非結(jié)構(gòu)化數(shù)據(jù),并且由于輸出數(shù)據(jù)的分布性,使得正確性判定將會更加困難。3.4大數(shù)據(jù)的預(yù)測本質(zhì)導(dǎo)致測試的定位困難只找數(shù)據(jù)相關(guān)性而不是找到準(zhǔn)確的因果性。找因果關(guān)系的成本和難度遠(yuǎn)大于找相關(guān)性。什么是相關(guān)性?就是當(dāng)出現(xiàn)A現(xiàn)象時(shí)必然會出現(xiàn)B現(xiàn)象。但是是由于C原因?qū)е翧現(xiàn)象和B現(xiàn)象先后出現(xiàn),還是由于A現(xiàn)象出現(xiàn)導(dǎo)致了B現(xiàn)象的出現(xiàn)呢?引用了李國杰院士的一個(gè)例子[4]:下雨之前常見到燕子低飛,從時(shí)間先后看兩者的關(guān)系可能得出燕子低飛是下雨的原因,而事實(shí)上,將要下雨才是燕子低飛的原因。大數(shù)據(jù)是對所有數(shù)據(jù)進(jìn)行分析處理而不是隨機(jī)樣本,最有價(jià)值的數(shù)據(jù)是異常數(shù)據(jù),對全部數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析發(fā)現(xiàn)這些小概率的異常數(shù)據(jù)對其分析是大數(shù)據(jù)分析的最大價(jià)值,異常數(shù)據(jù)說明認(rèn)知和建模還有漏洞,從而可發(fā)現(xiàn)過去未知的新事物,完善我們的認(rèn)知模型。測試設(shè)計(jì)的測試系統(tǒng)或測試評價(jià)模型對挖掘出的bug數(shù)據(jù)集的質(zhì)量非常重要,否則在尋找bug集與質(zhì)量相關(guān)性時(shí),就會很難或不靠譜。如果原來程序就采用全部數(shù)據(jù),能否構(gòu)造另一個(gè)和原來數(shù)據(jù)集等價(jià)的數(shù)據(jù)集?全部輸入數(shù)據(jù)是否等于所有的輸入可能性?測試是否還有存在的必要?4總結(jié)本文著重分析了大數(shù)據(jù)時(shí)代軟件測試面臨的挑戰(zhàn),基于以上分析,建議可以在以下幾個(gè)方面作進(jìn)一步的改善。1)測試技術(shù)由單一測試技術(shù)向多元測試技術(shù)綜合應(yīng)用發(fā)展。2)探索面向智能數(shù)據(jù)處理帶來的問題。測試用例的設(shè)計(jì),不僅限于輸入數(shù)據(jù)的邊界要求、屬性要求等,更多需要考慮輸入數(shù)據(jù)的樣本及的大小,樣本集的分布特征。3)構(gòu)建面向云環(huán)境的自動化環(huán)境。要滿足大數(shù)據(jù)處理的云環(huán)境的測試需求,測試環(huán)境,特別是客戶端環(huán)境的能力必須和服務(wù)端的需求匹配。5參考文獻(xiàn)[1]蔡立志,閻婷.大數(shù)據(jù)背景下軟件測試的挑戰(zhàn)與展望[J].計(jì)算機(jī)應(yīng)用與軟件,2014,02:5-8.[2]蔡立志.大數(shù)據(jù)來臨,軟件測試準(zhǔn)備好了嗎[J].軟件產(chǎn)業(yè)與工程,2013,05:15-17.[3]張波.基于測試覆蓋的安全關(guān)鍵軟件測試策略研究[D].中國科學(xué)院研究生院(長春光學(xué)精密機(jī)械與物理研究所),2012.[4]孟祥超.云計(jì)算環(huán)境下的軟件測試服務(wù)研究[D].大連海事大學(xué),2013.[5]趙濤.基于云計(jì)算的軟件測試技術(shù)探索與研究[D].西安電子科技大學(xué),2014.[6]ZhitaoHe;HaihuaYan;ChaoLiu;HuacanHe,AFormalDefinitionofSoftwareTestingBasedonFuzzyMeasure,Software

Engineering(WCSE),2013FourthWorldCongresson

DOI:10.1109/WCSE.2013.13PublicationYear:2013

,Page(s):59–63.[7]MohamedSuffian,M.D.

;

Ibrahim,S.

;

Abdullah,M.R.,Aproposalofpostgraduateprogramfor

softwaretesting

specialization,Software

EngineeringConference(MySEC),20148thMalaysianDOI:

10.1109/MySec.2014.6986041

PublicationYear:2014

,Page(s):342–347[8]Kapur,P.K.;Singh,G.;Sachdeva,N.;Tickoo,A.,Measuring

software

testing

efficiencyusingtwo-wayassessmenttechnique,Reliability,InfocomTechnologiesandOptimization(ICRITO)(TrendsandFutureDirections),20143rdInternationalConferenceon

DOI:

10.1109/ICRITO.2014.7014679

PublicationYear:2014

,Page(s):1-6[9]\o""Lodha,G.M.;\o""Gaikwad,R.S.,Searchbased

software

testing

withgeneticusingfitnessfunction,ComputationalIntelligenceonPower,EnergyandControlswiththeirimpactonHumanity(CIPECH),2014InnovativeApplicationsof

DOI:

10.1109/CIPECH.2014.7019065

PublicationYear:2014

,Page(s):159-163[10]

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論