隨著大數據、物聯網、移動互聯以及云計算等高新技術產業快速崛起,軟件測試領域遭受到了巨大的沖擊,如何在當前大數據背景下實現軟件測試又好又快的發展已經變得非常重要。該文將分析軟件測試在大數據環境下的困難和挑戰,并依據分析的結果對軟件測試提出未來發展的期望。
《計算機應用》創刊于1981年,是中國計算機學會會刊。以介紹計算機應用技術為重點,以推動經濟發展和科技進步為宗旨,以促進計算機開發應用創新為目標。由包括張景中、潘云鶴、何積豐、周巢塵、陳國良院士在內的數十名計算機學科專家組成編委會,承擔組稿、審稿、撰稿工作,另有數百名本學科其他專家參與審稿工作。
1背景研究
隨著科學技術的發展,計算機硬件的更新換代,全球慢慢地走人了大數據時代。大數據時代的特征并不局限于掌握規模龐大的數據,更多的是能夠擁有對相關行業的大規模數據專業化處理的能力。同時,大數據背景下,由于大數據擁有巨大的數據量、復雜的數據類型、高速信息處理以及較低的價值密度的四大特性,當前的數據處理方式相較于傳統的處理方式有了很大的不同,導致軟件測試形式、重點以及方法手段也在不斷地更新變化。
2大數據環境下軟件測試的挑戰
2.1用戶功能制約了軟件測試的有效發展
基于大數據框架的應用和研究,在大數據的基礎上成功地降低了密集數據處理程序的復雜性,以MapReduce編輯框架作為大并發運算以及海量數據讀寫應用設計的利器,其主要分為兩個功能(map和reduce),用戶只需要掌握和運用這兩個功能就可以完成在分布式程序中的任務和工作。但是,相對而言,用戶在大數據系統中的功能較少,這樣會嚴重制約軟件測試的又好又快發展。
2.2傳統的軟件測試平臺達不到處理大規模數據的要求
傳統的軟件平臺的性能測試是以借助協調控制器直接向服務器端發送響應請求作為壓力源,對測試服務器進行壓力測試。服務器數量隨著用戶量級需求的變化而變化,對于較小的應用系統來說(即擁有相對少量的服務器),只能滿足數百上千量級的用戶數的應用服務需求。
在大數據時代的背景下,用戶主動生成的行為數據在不斷地增長,其所代表的用戶需求也在的增加,系統服務器的訪問量和訪問頻次也會逐步上升,大規模的游客用戶訪問量將會給服務系統造成巨大的壓力,這很有可能造成測試服務系統的崩潰,造成功能服務的喪失。
2.3軟件服務化引起的測試難題
在當前的主流軟件開發模式中,編碼、結構、服務等幾個部分大體構建了整個軟件的開發過程。1)在軟件程序編碼部分,一般由軟件開發人員從頭到尾的用代碼實現軟件的功能,所有的代碼基本上都是由直接的開放人員掌控,幾乎可以實現關于測試和調試的所有方式。2)結構化部分的主要作用是提升軟件開發的效率,基于系統類庫的基礎上,開發人員必須結合業務構建可以重復使用的組件和業務元素,但是由于本地運行導致耦合度偏高,同時,用戶對業務組建的掌握較好,雖無法深入了解,但是用戶的可跟蹤性較強。3)服務部分主要作用是將調用本地組件的方法轉變成遠程提供服務的方式。從實際情況中可以看出,用戶對控制外部服務的次數呈現不斷減少的趨勢,服務情況只能通過服務的輸入和輸出來了解和掌握。
2.4測試階段數據信息的準確性無法確定
在計算機技術快速發展的時代中,數據庫軟件測試服務因為大數據環境下云計算技術的成熟而變得越來越便捷。但是在對于架構和PAAS的理解中,尤其是PAAS程序,一部分用戶對于PAAS程序的理解依舊存在較大的難度,一部分用戶容易對服務器請求發出大量重復無用的請求,所以在數據實際存儲模糊的基礎上很有可能導致不精確甚至錯誤的信息出現,使對軟件的測試階段數據信息準確性的確認變得尤為困難。
3大數據環境下軟件測試的展望
3.1提高測試數據的準確性
因為對于數據的存儲的模糊認識和發送重復無用的請求使錯誤的信息出現,進而造成因數據信息的準確性降低而造成軟件測試效果較差。在數據庫應用之前,我們需要對數據庫應用軟件進行多次反復的測試,使得錯誤數據的影響降到最低,提高數據信息的準確性。
3.2實現測試技術的改進
傳統的測試人員主要使用單一的測試方式對軟件實行性能測試,單一的測試方法很有可能具有局限性,軟件產品是面向行業內全部生產生活人員,單一的測試方法很容易產生片面的結果。我們需要實施多元化的測試方法,將方法和技術相結合,同時汲取傳統方法中的較好的部分,改進測試方法,消除對軟件測試片面的認識,很好地規避了殺蟲劑現象。
3.3應用智能化技術
在軟件測試中運用智能化技術主要完成以下兩個部分的功能:1)界定輸入數據的同時規范數據的屬性要求;2)實現充分考慮輸入數據的大小,樣本集以及輸出的評判樣式。在大規模數據的前提下,基于智能化技術可以消除輸入與輸出之間的數據流的差異,同時也能夠規范輸入和輸出數據,使軟件測試的效果更加令人滿意。
3.4實現自動化環境的構建
針對于大數據處理的云計算環境是非常重要的,其對于客戶端的環境要求必須得和服務端的輸出需求相匹配,只有這樣才能夠在擔當負載產生器的角色的同時能夠研究并發環境下的監控以及軟件測試的新手段。
4總結
綜上所述,本文通過分析大數據環境下軟件測試的四個挑戰:1)用戶功能制約了軟件測試的有效發展;2)傳統的軟件測試平臺達不到處理大規模數據的要求;3)軟件服務化引起的測試難題;4)測試階段數據信息的準確性無法確定以及對應的成因,同時提出四點解決問題的展望:1)提高測試數據的準確性;2)實現測試技術的改進;3)應用智能化技術;4)實現自動化環境的構建。希望本文的研究可以為以后的軟件測試研究中提供一些理論基礎和實踐幫助。
論文指導 >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >