測試執行通常都是處于軟件測試生命周期的關鍵路徑上,它不僅在測試過程中占有重要的地位,并且也會花費大量的測試時間。針對測試執行而進行的計劃,即測試執行進度計劃,是進行測試執行進度控制的基礎。在進行測試執行進度計劃制訂的時候,需要考慮哪些因素會影響測試執行活動,以及如何針對不同類型的測試人員,進行測試執行進度計劃的調整。
在實際的軟件測試過程中,測試資源、測試質量、測試時間之間是相互制約的。測試執行進度計劃的制訂,需要在這三者之間進行平衡。例如:假如項目產品發布的時間是確定的,或者根據市場或客戶的需求是受到限制的,那么在有限的時間內,需要在有限的測試人力資源和其他的測試資源與測試質量之間進行來平衡,即測試執行進度計劃的制訂,需要我們在有限的測試時間內,利用現有的測試資源,達到既定的測試質量。
根據筆者在軟件測試行業中多年的測試經驗和測試管理方面的一些理解,在制訂測試執行進度計劃的時候,至少需要考慮下面的這些因素:過程的成熟度、測試的時間范圍、測試的資源、產品的質量、測試的文檔等。
1 過程成熟度
首先,影響測試執行進度計劃制訂的因素是組織的過程成熟度,包括開發過程的成熟度和測試過程的成熟度。軟件產品的質量需要通過整個軟件開發過程來保證,而不是某個人或者某部分人的職責。因此,組織的過程成熟度,直接會影響測試執行進度計劃的制訂,具體表現在:
開發過程成熟度,直接決定了開發得到的工作產品的質量,比如軟件的需求文檔、設計文檔、代碼等質量。任何軟件工作產品,都可能是我們的測試對象,同時也是我們測試的基礎。這些工作產品的質量,會直接影響我們的測試工作量和測試執行進度計劃的制訂;
測試過程成熟度,決定了主要的測試活動和測試階段,簡單的說,測試執行過程中我們應該做什么。對于測試執行階段,不同的測試過程 成熟度,需要采用的測試活動是不一樣的。例如:有的測試執行明確定義了正式測試執行之前的預測試;而有的測試執行可能更強調回歸測試。而這些因素,也會影響測試執行進度計劃的制訂;
測試過程的成熟度,也會影響測試執行過程中的輸出工作產品,例如:缺陷報告、測試總結報告等。對這些文檔的要求,也需要在測試執行進度計劃中進行考慮。
過程成熟度定義的測試執行相關的度量,例如:測試用例執行的速率(測試用例數目/星期)、測試的有效性(缺陷數目/測試用例)等,它們是進行測試工作量估算的基礎,因此在測試執行進度計劃制訂中需要謹慎考慮。
2 測試的時間
其次,測試時間是制訂測試執行進度計劃的基礎。這里的測試時間,指的是測試執行需要在什么測試時間范圍之內完成。在有的項目測試執行過程中,軟件測試執行的截至時間是確定的,例如:軟件產品必須在2007-12-31之前交付給客戶,所有的測試活動都必須在這個時間之前完成。在這種情況下,測試的時間范圍已經無法進行選擇,我們必須在測試資源、測試質量和測試范圍等方面進行平衡。
3 測試的規模
第三,在制訂測試執行進度計劃的時候,需要詳細考慮測試對象的規模。測試對象的規模是我們進行測試工作量估算的基礎,這同樣適合測試執行的測試任務。針對測試執行的測試規模,可以從下面幾個方面進行考慮:
測試執行過程中需要執行的新設計的測試用例的數目;
測試執行過程中需要執行的回歸測試用例數目;
測試對象中可能存在的缺陷數目,以及針對這些缺陷可能需要進行的回歸測試;
測試用例的執行是針對多種不同的測試平臺,還是只針對一種測試平臺;
4 測試的資源
第四,在確定了測試時間和測試規模以后,接下來需要考慮測試執行涉及的測試資源問題。測試資源的范圍很廣,包括測試人力資源、測試儀表、測試平臺等。
測試執行活動需要有合適的測試人員來完成。根據組織內已經定義的相關度量或者項目組成員以前的經驗值,和估算的測試規模大小,來確定需要的測試人員數目;
測試執行過程中需要的測試平臺數目和已有測試平臺數目。假如測試平臺數目無法滿足測試執行的要求,需要在測試執行進度計劃中體現,因為這很可能需要測試時間來解決這個問題;
原文轉自:http://www.uml.org.cn/Test/20113222.asp