張振華
摘 要時代的發(fā)展,科技的進步,移動互聯(lián)網、物聯(lián)網以及云計算等都獲得了前所未有的發(fā)展機遇。大數(shù)據(jù)浪潮引發(fā)了最新一輪的技術發(fā)展革新,因此人們對于技術創(chuàng)新的需求不斷上漲,直接給軟件測試的發(fā)展帶來全新的挑戰(zhàn)。文章深入分析了當前大數(shù)據(jù)發(fā)展背景下軟件測試工作開展時所面臨的挑戰(zhàn)和困難,這其中就具體包含了數(shù)據(jù)處理框架、ORACLE問題以及測試平臺所具備的性能等等。針對軟件殺蟲劑效應進行初步的探討,由此推出軟件測試的發(fā)展及其展望。
【關鍵詞】大數(shù)據(jù) 軟件測試 挑戰(zhàn) 展望
大數(shù)據(jù)時代的意義并不是表現(xiàn)為對龐大數(shù)據(jù)信息的掌握,而是表現(xiàn)在其能夠對相關數(shù)據(jù)實施專業(yè)化的處理。大數(shù)據(jù)本身具有多個層面的特點,一是其數(shù)據(jù)體量非常巨大,二是其數(shù)據(jù)的類型較為繁多,三是其價值密度明顯偏低,存在過多不相干的信息,需要實施深度挖掘。四是信息的處理速度非常快,具有立竿見影的效果和以往所采用的傳統(tǒng)數(shù)據(jù)挖掘技術存在本質的區(qū)別。在這種背景下,多數(shù)軟件的形態(tài)也隨之發(fā)生改變,實施軟件測試的重點及方式等也處于不斷發(fā)展的狀態(tài)當中。
1 大數(shù)據(jù)背景下ORACLE問題不斷突出
軟件測試地目的是為了能夠發(fā)現(xiàn)和找出軟件錯誤運行的情況,專門判斷測試過程是否通過的可驗證即被稱為ORACLE,在如今的大數(shù)據(jù)背景下,不管是趨勢分析還是相應的圖論計算等,都開始變得越來越困難。大數(shù)據(jù)的處理模式,主要包括了物理作用下的數(shù)據(jù)處理和化學作用下的數(shù)據(jù)處理兩種類型模式[1]。其中,物理作用下的數(shù)據(jù)處理,主要是在保證其價值的情況下,不斷的縮小其數(shù)據(jù)的規(guī)模,然后由此清洗不變的數(shù)據(jù)基本屬性。這其中就包含了針對數(shù)據(jù)處理的多種方式,能夠有效的實現(xiàn)將大數(shù)據(jù)花銷,的物理式變化。因此,物理作用下的數(shù)據(jù)處理測試ORACLE本身并沒有問題。
而基于化學作用下的數(shù)據(jù)處理,則具備最主要的預測和快速算法的問題,這兩個問題都非常經典,直接促使ORACLE的確定變得異常的困難。比如在計算個性化推薦統(tǒng)計學信息當中,經過個性化推薦的商品,更容易獲得用戶們的喜愛,當然也存在一半不喜歡的概率。而經過計算的結果也只是表明此類商品被喜歡的概率相對較高。概率性問題直接導致結果的正確性和確定性產生本質的區(qū)別,直接致使ORACLE確定的難度。
2 傳統(tǒng)測試平臺難以符合大數(shù)據(jù)處理的要求
以往所采用的軟件性能測試,主要是借助控制器協(xié)調本地直接向服務器端發(fā)出服務的請求,由此實現(xiàn)對服務器壓力的測試,其測試負載產生器都屬于局部的物理主機。相對少量的服務器構成應用系統(tǒng)來說,用戶數(shù)在數(shù)百上千量級的應用服務,才能有效滿足應用的需求。
如今,云計算的發(fā)展,用戶的需求也在不斷的增長,其多個系統(tǒng)所需支持的并發(fā)用戶也在不斷的增加,相應的訪問量也在由此攀升。這就需要針對服務端系統(tǒng)是否能夠真正承受如此巨大的用戶訪問量進行有效的測試,可直接在系統(tǒng)上線之前就展開較為充分的測試內容。以往局域網主機測試方法所產生壓力,很難真正滿足服務器對其所產生的壓力測試需求。由此軟件測試工作中開始出現(xiàn)一系列的問題。一是負載產生器的物理機數(shù)量很難獲得動態(tài)的擴展;二是大數(shù)據(jù)所驅動的云計算系統(tǒng),直接采用了廣泛的分布客戶端。三是在網絡海量數(shù)據(jù)的推動下,控制器所監(jiān)控的負載產生器狀態(tài)直接成為性能測試的瓶頸,很容易由此引發(fā)測試失敗。四是控制器對負載產生器的同步問題變得越來越復雜,直接影響到負載測試的效果。
3 軟件服務化所引發(fā)的測試挑戰(zhàn)
具體從開發(fā)的模式而言,軟件開發(fā)的過程,主要包含了完全編碼、構件化、服務以及云計算等多個階段。
3.1 完全編碼階段
主要是相應開發(fā)人員直接從零基礎開始對每行代碼的編寫過程,除了系統(tǒng)本身所提供的類庫之外,通常所有的代碼都是直接由相應開發(fā)人員所掌握。在此階段當中,用戶們普遍具有良好的可測性,幾乎所有的測試和調試方式都可以實現(xiàn)。
3.2 構件化階段
該階段直接是為了提升軟件開發(fā)的效率,要求相應開發(fā)組織必須在系統(tǒng)類庫的基礎上,結合業(yè)務自身的特點來構建出可復用的業(yè)務組件。而通常該組件都是在本地運行,因此其業(yè)務系統(tǒng)的耦合度明顯偏高,用戶們對于組件的掌控也明顯較大。
3.3 服務階段
在此階段當中,多數(shù)本地組件所提供的調用可轉變成為遠程服務形式。用戶們可對外部的服務控制處于逐漸減少的狀態(tài),只能透過服務的輸入和輸出來實現(xiàn)對服務情況的良好把握。
3.4 云計算階段
這一階段主要是特別架構和PASS之上的應用程序,在處理輸入和輸出的同時,多數(shù)用戶并不具備了解PASS服務運行情況的能力,因而導致用戶測試的難度再次增加。
4 殺蟲劑效應
在軟件測試領域當中,殺蟲劑效應是指相應的測試軟件越來越多,其免疫能力變得越來越強的現(xiàn)象。這種現(xiàn)象就如同采用農藥殺蟲是一樣的效果,如果持續(xù)采用一種單純的農藥,則害蟲將最終在體內產生一定的抗體,在此情形下,農藥將無法發(fā)揮出應有的殺蟲效力。而在多種構件化開發(fā)當中也是如此,通常在中前期發(fā)現(xiàn)多種缺陷的模式,其都可直接通過校驗和驗證的方式集成在構件當中,乃至直接成為構件的必然屬性。此類構件并不需要開發(fā)人員進行單獨的代碼編寫,其直接對測試的方式產生了天然性的免疫能力。
殺蟲劑效應將有效的促使軟件的測試技術獲得飛躍式的更新升級,可迅速的找出存在軟件當中的缺陷問題。一般在進行測試的初期階段,只需通過較少的測試即可直接發(fā)現(xiàn)其中所存在的更多缺陷,而在后期的測試當中,則很容易發(fā)現(xiàn)其所存在的缺陷數(shù)量,將漸漸趨于平緩,甚至最終在某個周期停止增長。
5 結語
綜上所述,針對大數(shù)據(jù)背景下的軟件測試挑戰(zhàn)及問題,需要盡可能的避免出現(xiàn)殺蟲效應,具體要求測試技術應當由單一的技術類型直接向著多元化測試技術的方向轉變。然后需要解決智能數(shù)據(jù)處理所帶來的ORACLE的問題。最后,需要構建出面向云環(huán)境的自動化環(huán)境,尤其是客戶端環(huán)境必須咬合服務端的需求進行良好的匹配。
參考文獻
[1]蔡立志.大數(shù)據(jù)來臨,軟件測試準備好了嗎[J].軟件產業(yè)與工程,2013,05:15-17.
[2]姜春宇,孟苗苗.大數(shù)據(jù)基準測試流程與測試工具[J].信息通信技術,2014,06:43-46+51.
作者單位
同濟大學 上海市 200092