1. 程式人生 > >帶你玩轉軟體專案測試管理——專案研發管理模式(一)

帶你玩轉軟體專案測試管理——專案研發管理模式(一)

帶你玩轉軟體專案測試管理——專案研發管理模式

    眾所周知,軟體生命週期包括需求、設計、編碼、測試、執行維護、退役6個階段。而軟體研發過程包含了需求、設計、編碼、測試、交付、驗收、維護7個過程。同樣的,測試作為軟體研發過程中的一個環節,也有自己獨有的一套軟體測試過程,主要包括測試需求分析、測試方案設計、測試用例設計、測試執行、測試釋出5個過程,每個過程之間存在順序性和依賴性。例如完成測試需求分析後,才開始進行測試方案設計,且測試需求分析的產物作為測試方案設計的輸入。同時,5個過程與軟體研發過程也存在交替性和依賴性。例如當軟體研發過程完成了需求階段工作後,測試過程的測試需求分析工作開始進行,且軟體研發構成的需求階段工作的產物作為測試過程的測試需求分析的輸入。

具體如下:


    考慮每個軟體研發過程比較複雜的,涉及了多人、多團隊的協作,因此,如何有效地管理軟體專案開發過程,增強團隊成員、團隊之間的協作,成為提高軟體研發效率、保障最終交付的產品滿足預期的目標的關鍵因素。所以,在軟體專案啟動前,軟體專案經理或者開發經理,都會選擇一種最適合當前專案的軟體研發模式。其中,典型的的開發模型有11個,而常見的主要是瀑布模型、迭代模型、螺旋模型、敏捷開發模式。具體模型如下:

瀑布模型如下:

迭代模型如下:

    

螺旋模型如下:

敏捷開發模型如下:

四種場景模型的特點、優缺點及適應場景如下:


        針對四種不同的軟體研發模型,對於測試過程的要求是一樣的,但是在每個過程的具體要求存在一些差異性。傳統瀑布和螺旋模型

,由於每個階段之間存在順序性和依賴性,且每個階段都必須交付合格的文件產物,及整個研發週期相對較長,因此,測試介入的時間點相對更有彈性,允許測試人員在專案啟動時部分到位,在進入測試階段之前全部到位,對測試執行效率的容忍性也更高一些。而迭代模式和敏捷開發,因每個迭代週期短(敏捷1-2周;迭代3-4周),及過程中更強調軟體產品、對文件的要求更簡潔,且要求每個迭代生產出的軟體產品是可執行交付的最小單位,因此要求軟體測試人員全程參與,實時瞭解專案的迭代釋出計劃,及時設計合適的測試方案並根據情況研發所需的測試工具;同時,這兩種模式,也對編譯、部署、測試、交付的效率提出了較高的要求,需要配套的全自動化即持續整合、持續交付做支撐。