隨著時鐘的腳步,2010年過去了,新的一年已經(jīng)開始。在這新的一年里,我們也需要對我們所從事的軟件測試這個事業(yè)進(jìn)行些許總結(jié),一點憧憬。

  軟件工程的概念源于建筑工程,我們?nèi)绻衍浖こ瘫茸骺蚣,那么軟件測試可以視為填充物,在過往的幾年伴隨軟件過程的新發(fā)展軟件測試也取得了一些新的進(jìn)步。比如極限編程的思想和實踐引出“極限測試”的探索;比如敏捷工程的提出導(dǎo)致“敏捷測試”的熱烈討論;比如SOA技術(shù)的大量應(yīng)用使得對基于SOA架構(gòu)的應(yīng)用測試技術(shù)持續(xù)升溫;而2010年隨著云計算從理論向?qū)嵺`的過度和發(fā)展,人們開始對“云測試”、TaaS(測試即服務(wù))等進(jìn)行無限憧憬,保持了較高熱度。

  這一切都一再印證著軟件工程領(lǐng)域是個極為活躍的領(lǐng)域,是我們所呼喚的“知識經(jīng)濟(jì)”的主導(dǎo)者和標(biāo)志性行業(yè),是地球智慧集中的產(chǎn)業(yè)。近些年,軟件應(yīng)用需求朝著更大規(guī)模、更大集成度的方向快速發(fā)展,這種展現(xiàn)出來的新的需求對軟件工程帶來前所未有的壓力,對軟件工程的新一輪思索正在展開,CMMI被重新認(rèn)識,在理想與現(xiàn)實的糾葛中,人們終于肯坦然面對CMMI并非是解救一切軟件問題的良方。在對待一些具體的軟件領(lǐng)域問題時,必須尋找新的戰(zhàn)略、戰(zhàn)術(shù)武器,正是在這樣的背景下涌現(xiàn)出一些新的思想和實踐,也是前面所述的極限編程、敏捷工程等。但是對于這些新的思想研究我們可以認(rèn)識到,所有這些并非是軟件開發(fā)技術(shù)的革命性進(jìn)步,甚至很難說其有普適價值,而更多的是對原有軟件工程思想的改良性實踐。同樣的問題在軟件測試領(lǐng)域更為明顯。

  軟件測試本質(zhì)上是一種“比對”技術(shù),軟件測試是試圖制定一種可判定是非的規(guī)則和技術(shù),從而用以確認(rèn)軟件是否滿足其預(yù)定設(shè)計規(guī)格。目前,軟件測試核心的技術(shù)是用例技術(shù),用例是當(dāng)前承載這種規(guī)則和技術(shù)的手段。無論是手工測試還是自動化測試都脫離不了這種用例測試思想,所謂區(qū)別無非是自動化測試能夠一定程度上減輕測試和回歸測試的工作量,效率比人工測試更高一些。這是我們所熟知的測試設(shè)計的核心工作,而測試計劃無非是為了更合理的實施測試而進(jìn)行的統(tǒng)籌安排,測試報告則是為了清晰的表述終“比對”結(jié)果。這是軟件測試,測試計劃、測試設(shè)計、測試執(zhí)行和測試報告,幾十年來軟件測試從業(yè)者一直走過的路。在這條道路上,仍然存在一些我們想跨越卻始終難以跨越的一些障礙,也是軟件測試的一些局限,比如:

  ◆ 我們無法做到窮盡測試,所以我們無法告訴軟件應(yīng)用者們軟件沒有問題;

  ◆ 測試用例的設(shè)計依賴設(shè)計人員的自身素質(zhì),這里沒有“編譯器”,沒有“調(diào)試”;

  ◆ 測試用例編制技術(shù)沒有取得太大突破,高成本、低產(chǎn)出的狀況沒有改變;

  ◆ ......

  當(dāng)然,軟件測試領(lǐng)域也一直不乏研究者,他們孜孜不倦,試圖通過自己的研究促進(jìn)軟件測試的發(fā)展,也做著一些改良實踐。比如測試用例的自動生成、自動化測試等,這些技術(shù)的應(yīng)用和探索覆蓋代碼層、系統(tǒng)層。這其中既包含了國際IT公司IBM、HP等,也包擴(kuò)了很多研究機(jī)構(gòu)(比如Bell實驗室、中國科學(xué)技術(shù)院)和知名高校(比如國內(nèi)的北京大學(xué)、中國科學(xué)技術(shù)大學(xué))等。所以展望未來,軟件測試依然值得期待,主要包括以下方面:

  軟件測試產(chǎn)業(yè)化特征已經(jīng)出現(xiàn),相信在未來幾年仍將持續(xù)發(fā)展。軟件測試的產(chǎn)業(yè)化發(fā)展必將推動軟件測試技術(shù)的成熟和進(jìn)步,同時對于軟件測試教育也有很大的促進(jìn)作用,將影響軟件測試人才培訓(xùn)機(jī)構(gòu)的發(fā)展。第三方測試將有機(jī)會發(fā)展壯大,社會認(rèn)可度將繼續(xù)獲得提高。短期內(nèi)第三方測試仍將維持官方測評機(jī)構(gòu)和專業(yè)領(lǐng)域測試機(jī)構(gòu)各自發(fā)展的格局,但是3-5年后,將會出現(xiàn)一定的分化,迫于發(fā)展壓力,少數(shù)測評機(jī)構(gòu)會著眼于跨地域競爭,從而出現(xiàn)新的發(fā)展空間。

  測試標(biāo)準(zhǔn)將更加完善和適用。原有測試標(biāo)準(zhǔn)經(jīng)過十幾年應(yīng)用,有了新的認(rèn)知,同時也已不能滿足當(dāng)前軟件技術(shù)的發(fā)展,因此測試標(biāo)準(zhǔn)的變革勢在必行,國內(nèi)新的測試標(biāo)準(zhǔn)將統(tǒng)一整合為25000系列,其中GB/T 25000.1將于本年度2月份正式生效。

  自動化測試技術(shù)仍將是領(lǐng)域熱點。鑒于對手工測試的不滿,人們始終對自動化測試抱以極大的研究熱情,相信未來針對自動化測試技術(shù)的研究只會有增無減。在這個領(lǐng)域,伴隨云計算技術(shù)的發(fā)展,云測試、遠(yuǎn)程測試將會是一個熱點。

  軟件測試縱深化發(fā)展。未來幾年,各軟件測試機(jī)構(gòu)為了拓展本身的競爭能力和服務(wù)水平,將會將監(jiān)理納入視野,同時將軟件測試向縱深化服務(wù),比如需求設(shè)計類的技術(shù)評審、單元和集成測試等,單純的軟件測試向全程質(zhì)量保障過度。在這一領(lǐng)域,目前山東省軟件評測中心已走在前列。

  軟件測試沒有普適理論,仍然追求領(lǐng)域化發(fā)展。無論怎樣發(fā)展,短期(5~10年)內(nèi)軟件測試的核心技術(shù)不會有大的改變,基礎(chǔ)理論研究很難有大的突破,但是針對特定的領(lǐng)域,軟件測試會展現(xiàn)出自己的靈活性,在理論應(yīng)用層面發(fā)展出適用于這一領(lǐng)域的特定測評技術(shù),比如分布式自動化測試技術(shù)、遠(yuǎn)程自動化測試技術(shù)等。