(1)識別項目需求
識別項目需求是項目成功的關鍵,為了減少需求的不確定性,首先應充分認識確定需求的重要性,通過與用戶的溝通,使用戶能充分認識到軟件需求的變更對軟件質量、進度和成本的影響,積極參與到確定軟件需求的活動中,達到在進行軟件設計前盡量確定軟件需求的目的。同時在識別項目需求時,除了用戶明示的需求外,還需關注用戶基本需求,用戶基本需求常常體現在項目的領域知識、項目所在行業的相關標準等方面。實踐證明,開發人員對領域知識掌握的程度直接影響到項目需求的確定,開發人員通過對領域知識的積累有助于項目需求的確定。
(2)需求文檔化及需求評審
按照軟件工程化要求,用戶應該向研制方正式提交需求文檔,研制方根據用戶需求進行需求分析形成產品需求,用戶需求及產品需求均需文檔化并經過評審,以盡早發現不合理的需求。
(3)需求管理、需求變更的控制
在系統研制過程中應對需求進行管理,首先建立需求庫及需求跟蹤矩陣,在需求跟蹤矩陣中反映研制各階段工作產品與需求的對應關系,并對需求進行需求的雙向跟蹤。
(4)采用軟件需求管理工具
采用需求管理工具,可以提高需求管理工作流程的自動化程度,使需求管理可以在項目實施過程中得到有效地推行。需求管理工具可以在整個項目生命周期內,幫助團隊有效地協作,將需求的變更信息及時傳送到團隊的每個成員,可以使跨項目團隊的所有成員都能掌握必要的需求詳細信息,并對軟件項目規劃、項目跟蹤與監督實施管理。
2.2.2 加強軟件可測試性設計
在項目設計階段應注重對軟件可測試性的設計。項目負責人可根據項目具體情況對軟件可測試性提出具體要求,對軟件注釋率、軟件模塊規模、模塊圈復雜度、基本圈復雜度、操作數的個數以及過程出口個數等進行規定,在軟件設計及編程階段嚴格按照規范執行,可有效地提高軟件測試效率。實踐證明,如果在項目設計階段不進行軟件可測試性的設計,待軟件完成后再根據可測試性要求對軟件進行修改完善常常需要花費巨大的人力和物力,同時大量修改對軟件質量也會帶來不利影響。
2.2.3 重視并規范技術文檔的編寫
技術文檔不僅是開發人員進行信息交流的手段,也是測試人員進行測試的依據。所以軟件相關文檔應描述明確詳細,組織合理,并根據需求和設計的變更及時更新。同時為了給獨立測試人員提供更多的信息,在技術文檔中可增加各軟件模塊的重要程度、重用性及測試歷史等信息,使得獨立測試人員可以合理分配精力,對重要軟件進行重點測試,減少不必要的重復勞動,提高測試效率。
3、軟件測試方法與組織
3.1 軟件測試方法
軟件模塊級測試分為白盒測試和黑盒測試。黑盒測試注重于測試軟件的功能性需求,試圖發現功能缺陷或遺漏、界面錯誤、數據結構或外部數據庫訪問錯誤、性能錯誤及初始化和中止等類型的錯誤。白盒測試依賴對程序細節的嚴密檢驗,對軟件的邏輯路徑進行測試,在不同的程序點檢驗“程序的狀態”以判定預期狀態或待驗證狀態與真實狀態是否相符。在軟件測試中,常常結合黑盒和白盒兩種測試方法,相互補充。
3.2 軟件測試人員
軟件測試可由軟件開發人員、獨立測試人員或用戶進行。在組織軟件測試時,可根據不同人員的特點進行組織,使得各類測試相互補充。
軟件開發人員熟悉軟件需求及被測軟件,清楚各軟件模塊的重要程度和相互關系,了解各軟件模塊以前的測試及修改等歷史情況,可以有針對性地進行測試;軟件開發人員和用戶交流較為方便,在測試中能夠發現與需求不一致的軟件錯誤。但是開發人員急于證明他們的程序是毫無錯誤的,是按照用戶的需求開發的,而且完全能夠按照預定的進度和預算完成,這將影響開發人員完成相關測試任務。
獨立測試人員應具備較強的測試理論水平和測試經驗,熟練掌握軟件測試工具,并知悉被測軟件的功能需求才能夠對軟件進行系統全面的測試。但獨立測試人員有時會缺乏相應領域的專業知識,主要測試依據是用戶的技術要求及開發人員在軟件研制過程中形成的文檔,一方面這些文檔中缺乏對用戶基本需求的描述;另一方面,獨立測試人員常常需通過開發人員來進行需求的理解,因此在軟件測試中有時無法發現軟件不滿足需求方面的錯誤。但這種錯誤往往從用戶角度來看是最嚴重的。同時,獨立測試人員由于對各軟件模塊的重要性及相互關系了解不深。有時會影響測試效率。
原文轉自:http://www.uml.org.cn/Test/201303044.asp