軟件測試過程管理實踐介紹[3] 軟件測試
3 測試過程管理實踐
本節以一個實際項目系統測試過程(不對單元測試和集成測試過程進行分析)的幾個關鍵過程管理行為為例,來闡述上節中提出的測試理念。在一個構件化ERP項目中,由于前期需求不明確,開發周期相對較長,為了對項目進行更好的跟蹤和管理,項目采用增量和迭代模型進行開發。整個項目開發共分三個階段完成:第一階段實現進銷存的簡單的功能和工作流;第二階段:實現固定資產管理、財務管理,并完善第一階段的進銷存功能;第三階段:增加辦公自動化的管理(OA)。該項目每一階段工作是對上一階段成果的一次迭代完善,同時將新功能進行了一次疊加。
3.1 策劃測試過程
依據傳統的方法,將系統測試作為軟件開發的一個階段,系統測試執行工作將在三個階段完成后開展,很明顯,這樣做不利于BUG的及時暴露。有些缺陷可能會埋藏至后期發現,這時的修復成本將大大提高。我們依據“獨立和迭代”的測試理念,在本系統中,對測試過程進行獨立的策劃,找出測試準備就緒點,在就緒點及時開展測試。該系統的三個階段具有相對的獨立性,在每一階段完成所提交的階段產品具有相對的獨立性,可以作為系統測試準備的就緒點。故而,在該系統開發過程中,系統測試組計劃開展三階段的系統測試,每個階段系統測試具有不同的側重點,目的在于更好的配合開發工作盡早發現軟件BUG,降低軟件成本。軟件開發與系統測試過程的關系如圖3-1所示。

實踐證明,這種做法起到了預期的效果,與開發過程緊密結合而又相對獨立的測試過程,有效的于早期發現了許多系統缺陷,降低了開發成本,同時也使基于復雜開發模型的測試管理工作更加清晰明了。
3.2 把握需求
在本系統開發過程中,需求的獲取和完善貫穿每個階段。對需求的把握很大程度上決定了軟件測試是否能夠成功。系統測試不僅僅確認軟件是否正確實現功能,同時還要確認軟件是否滿足用戶的需要。依據“盡早測試”和“全面測試”原則,在需求的獲取階段,測試人員參與到了對需求的討論之中。測試人員與開發人員及用戶一起討論需求的完善性與正確性,同時從可測試性角度為需求文檔提出建議。這些建議對開發人員來說,是從一個全新的思維角度提出的約束。同時,測試組結合前期對項目的把握,很容易制定出了完善的測試計劃和方案,將各階段產品的測試方法及進度、人員安排進行了策劃,使整個項目的進展有條不紊。
實踐證明,測試人員早期參與需求的獲取和分析中,有助于加深測試人員對需求的把握和理解,同時也大大促進需求文檔的質量。在需求人員把握需求的同時,于早期制定項目計劃和方案,及早準備測試活動,大大提高了測試效率。
3.3 變更控制
變更控制體現的是“全過程測試”理念。在軟件開發過程中,變更往往是不可避免的,變更也是造成軟件風險的重要因素。在本系統測試中,僅第一階段就發生了7次需求變更,調整了兩次進度計劃。依據“全過程測試”理念,測試組密切關注開發過程,跟隨進度計劃的變更調整測試策略,依據需求的變更及時補充和完善測試用例。由于充分的測試準備工作,在測試執行過程中,沒有廢棄一個測試用例,測試的進度并沒有因為變更而受到過多影響。
3.4 度量與分析
對測試過程的度量與分析同樣體現的“全過程測試”理念。對測試過程的度量有利于及時把握項目情況,對過程數據進行分析,很容易發現優勢劣勢,找出需要改進的地方,及時調整測試策略。
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/