通過軟件測試可以發(fā)現(xiàn)軟件中的某些問題,軟件中存在的某些潛在問題由于受測試工具、測試方法和測試時間的限制而無法發(fā)現(xiàn),測試中發(fā)現(xiàn)的問題最終需要通過軟件開發(fā)人員進行糾正,從某種角度來看,軟件測試并不能從根本上提高軟件質(zhì)量,軟件質(zhì)量的高低直接取決于軟件開發(fā)人員的設(shè)計與編程水平,好的軟件開發(fā)人員編寫完成的軟件具有問題少、易維護等特點,但有時會出現(xiàn)修改完成了一個軟件缺陷,同時又引人多個軟件缺陷的情況,需經(jīng)過多輪回歸測試才能夠完成問題歸零。所以,雖然軟件測試是提高軟件質(zhì)量的有效途徑,但提高軟件開發(fā)人員的水平,提高反映軟件設(shè)計質(zhì)量和開發(fā)質(zhì)量的軟件的可測試性是提高軟件質(zhì)量的根本途徑。
軟件測試人員對項目需求的理解程度,對測試理論、測試工具和測試方法的掌握程度,以及對被測軟件模塊在項目中的重要程度和成熟程度的認識,對軟件測試效率同樣有很大的影響,所以在工程中需合理組織軟件測試,提高軟件測試效率。
提高軟件可測試性的途徑
在實際工作中,可通過以下幾個途徑提高軟件的可測試性:減少并控制需求的變更;加強軟件可測試性的設(shè)計;重視并規(guī)范技術(shù)文檔的編寫。
用戶需求可分為如下三個層次:
基本需求、預(yù)期需求和擴展需求三類。其中預(yù)期需求是明示的,而基本需求和擴展需求是非明示的。所謂擴展需求是指這些特征在用戶的期望范圍之外,并且當其存在時將是非常令人滿意的。由于種種原因,軟件的需求不確定性是客觀存在的,是不可避免的,軟件規(guī)模越大,研制周期越長,需求的不確定性就越大。軟件需求不確定性原因主要包括:用戶在表述需求時常常帶有不確定性與模糊性;隨著開發(fā)進程的推進,用戶對所建應(yīng)用系統(tǒng)理解的不斷深入,對原來模糊的或非明示的需求有了新的認識,隨時會提出需求的變更;由于開發(fā)人員的領(lǐng)域知識的局限性,導(dǎo)致引發(fā)對需求的誤解;用戶需求的獲取過程與描述形式往往采用非形式化的自然語言,以及自然概念中存在的本質(zhì)矛盾,使需求的規(guī)范描述發(fā)生困難。
(1)識別項目需求
識別項目需求是項目成功的關(guān)鍵,為了減少需求的不確定性,首先應(yīng)充分認識確定需求的重要性,通過與用戶的溝通,使用戶能充分認識到軟件需求的變更對軟件質(zhì)量、進度和成本的影響,積極參與到確定軟件需求的活動中,達到在進行軟件設(shè)計前盡量確定軟件需求的目的。同時在識別項目需求時,除了用戶明示的需求外,還需關(guān)注用戶基本需求,用戶基本需求常常體現(xiàn)在項目的領(lǐng)域知識、項目所在行業(yè)的相關(guān)標準等方面。實踐證明,開發(fā)人員對領(lǐng)域知識掌握的程度直接影響到項目需求的確定,開發(fā)人員通過對領(lǐng)域知識的積累有助于項目需求的確定。
(2)需求文檔化及需求評審
按照軟件工程化要求,用戶應(yīng)該向研制方正式提交需求文檔,研制方根據(jù)用戶需求進行需求分析形成產(chǎn)品需求,用戶需求及產(chǎn)品需求均需文檔化并經(jīng)過評審,以盡早發(fā)現(xiàn)不合理的需求。
(3)需求管理、需求變更的控制
在系統(tǒng)研制過程中應(yīng)對需求進行管理,首先建立需求庫及需求跟蹤矩陣,在需求跟蹤矩陣中反映研制各階段工作產(chǎn)品與需求的對應(yīng)關(guān)系,并對需求進行需求的雙向跟蹤。
(4)采用軟件需求管理工具
采用需求管理工具,可以提高需求管理工作流程的自動化程度,使需求管理可以在項目實施過程中得到有效地推行。需求管理工具可以在整個項目生命周期內(nèi),幫助團隊有效地協(xié)作,將需求的變更信息及時傳送到團隊的每個成員,可以使跨項目團隊的所有成員都能掌握必要的需求詳細信息,并對軟件項目規(guī)劃、項目跟蹤與監(jiān)督實施管理。
加強軟件可測試性設(shè)計
在項目設(shè)計階段應(yīng)注重對軟件可測試性的設(shè)計。項目負責人可根據(jù)項目具體情況對軟件可測試性提出具體要求,對軟件注釋率、軟件模塊規(guī)模、模塊圈復(fù)雜度、基本圈復(fù)雜度、操作數(shù)的個數(shù)以及過程出口個數(shù)等進行規(guī)定,在軟件設(shè)計及編程階段嚴格按照規(guī)范執(zhí)行,可有效地提高軟件測試效率。實踐證明,如果在項目設(shè)計階段不進行軟件可測試性的設(shè)計,待軟件完成后再根據(jù)可測試性要求對軟件進行修改完善常常需要花費巨大的人力和物力,同時大量修改對軟件質(zhì)量也會帶來不利影響。
重視并規(guī)范技術(shù)文檔的編寫
技術(shù)文檔不僅是開發(fā)人員進行信息交流的手段,也是測試人員進行測試的依據(jù)。所以軟件相關(guān)文檔應(yīng)描述明確詳細,組織合理,并根據(jù)需求和設(shè)計的變更及時更新。同時為了給獨立測試人員提供更多的信息,在技術(shù)文檔中可增加各軟件模塊的重要程度、重用性及測試歷史等信息,使得獨立測試人員可以合理分配精力,對重要軟件進行重點測試,減少不必要的重復(fù)勞動,提高測試效率。