軟件測試管理的基本要素

軟件測試管理的基本要素<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

作者:Alan

關鍵詞:軟件測試、軟件測試管理、軟件測試計劃

摘要:

       高效的軟件測試管理是一個項目成功必不可少的人文因素。測試是以技術爲導向的專業工作,但是因爲其在軟件開發過程中的特殊位置,所以工作過程中需要有效的溝通,協調來作爲保障。我們通常把這些溝通,協調和計劃工作統一稱爲軟件測試管理。本文將就軟件測試管理中的基本要素做逐一介紹。

1. 符合軟件開發計劃時間框架的軟件測試計劃

       軟件測試計劃是一個老生常談的問題了,不同的人對計劃的理解往往是大相徑庭的。這裏讓我們回顧一下何爲計劃,一般來說計劃的目的是用來識別任務,分析風險,規劃資源和確定進度。從計劃的定義上來看,計劃並不是一張時間進度表,而是一個動態的過程,最終以系列文檔的形式確定下來。擬定軟件測試計劃需要測試項目管理人員的積極參與,這是因爲主項目計劃已經確定了整體項目的一個時間框架,軟件測試作爲階段工作必須服從時間和資源上的約定。

2. 一個完整的測試計劃應該包含以下幾個方面:

     1 對測試範圍的界定,簡單的說就是測試活動需要覆蓋的範圍。在有時間約束,工作產品質量約束的情況下,唯一能夠調整就是範圍。在實際的工作中,我們總是不自覺的在調整軟件測試的範圍,比如在時間緊張的情況下,通常優先完成重要功能的測試。這就是一種測試範圍上調整。所以作爲測試管理者在接收到一項任務的時候,需要根據主項目計劃的時間來確定測試範圍。如果在確定範圍上出現偏差,會給測試執行工作帶來消極的影響,例如加班。確定範圍前需要管理人員來進行任務的劃分,簡單的說就是分解測試任務。分解任務有兩個方面的目的,一個是識別子任務,二是方便估算資源的需求。完成了上述的任務之後,管理者便需要根據項目的歷史數據估算出完成這些子任務一共需要消耗的時間和資源。通常意義上說,執行一次完整的全面測試幾乎是不可能的事情,我們總是要在測試的範圍上面做出有策略的妥協。

     2 風險的確定,項目中總是有不確定的因素。這些因素一旦發生之後記錄對項目的順利執行產生相當大的消極影響。所以在項目中,首先需要識別出存在的風險。風險識別的原則可以有很多,常見的一種就是如果一件事情發生後,會對項目的進度產生較大影響,那麼就可以把該事件做爲一個風險。風險識別出之後,管理者需要按照這些風險制定出規避風險的方法。在小的項目中,識別風險和制定規避方法可以省略。

     3 資源的規劃,確定完成任務需要消耗的人力資源,物資資源。這些是保證項目執行的物資要素。物資資源是管理者容易忽略的問題,實際上物資資源是人得以開展工作的工具,細緻的規劃可以讓人更有效的去執行項目。常見的物資資源有計算機硬件,軟件,測試環境的搭建等等。

     4 時間表的制定,在識別出子任務和資源之後,我們便可以將任務,資源和時間關聯起來形成時間進度表。本質上說,時間表是對前3項任務的一個概括。沒有前三步的工作,時間進度表是沒有意義的。

3. 溝通

       溝通的測試管理人員的必須的技能。雖然我們制定出詳細的項目計劃,當這不意味着有了這個契約之後,項目中的各種角色就不需要溝通了。做爲測試的管理者,需要將測試發現的問題及時的反饋給開發人員,同時也要積極的去了解外界產生的變更。項目中存在變化是普遍現象,而作爲管理者就是要去管理這裏變化,及時的修訂計劃。嚴格的說,如果沒有這些變化,做爲測試管理者的你就沒有多少存在的價值。有些人認爲一旦有了計劃這個契約之後,只要按照要求去執行就可以,但是項目本身是一個動態的過程,計劃是項目在某一個時刻、段的靜態體現,所以要按照發展的眼光來對待計劃。溝通是瞭解外界變化的積極手段,所以就測試管理者而言。其計劃溝通能力的要求要高於測試技能的要求。

4. 執行

       去年國內流行一本書,名稱爲執行力。書中的作者認爲大多數項目沒有成功的原因在於執行。軟件測試也存在一個執行的能力問題,有人會說我把要求的事情按照要求做完了不就可以了嗎? 的確,按照期望去執行任務是正解,但是這裏有一個問題就是如何保證執行者對期望的理解同要求者的期望是完全一致的呢?所以執行的背後還是一個溝通的問題,這裏的溝通是測試管理者和執行者之間的溝通。所以作爲一名測試管理人員一定要在測試工程師開始工作之前明確任務的意圖,前提和結果。

5. 版本控制

       前面說道的幾點都是過程,個人技能方面的要求。這裏我們要討論的是純粹的工程活動——版本控制。對於版本控制這個概念大家都不陌生,它是軟件配置管理的初期表現形式,來於於測試對穩定環境的要求。測試版本控制簡單的說就是測試版本有明確的標識,說明。並且測試版本的交付是在項目管理人員的控制之下的。

       測試版本的標識用來識別所用的版本。版本號碼的用處很多,例如在填寫錯誤報告的時候往往需要提供發現錯誤的那個版本。在做缺陷分析時,我們可以利用版本號來區別缺陷和判斷缺陷的發展趨勢。

       測試版本的說明,它是開發人員和測試人員之間交流的有效形式。測試人員可以通過這份文檔瞭解到當前的測試版本中就上一版本而言有那些顯著的變化,明確了這些之後,測試人員可以更加高效,有針對性的執行測試。

       測試版本交付,測試版本的控制必須納於測試管理人員的控制之下。常見的形式就是測試管理者控制測試版本的更新和發佈。開發人員在看到錯誤報告之後,總是傾向於馬上修正這些錯誤並且發佈給測試工程師做驗證。考慮到大多數的開發人員是典型的完美主義者,這樣的做法無可厚非,但是過於頻繁的版本更新會較低測試的效率。試想,如果你是一名測試工程師,當測試用例剛剛執行到一半的時候突然發佈出一個新的測試版本,在這樣的情況下,已經執行完畢的測試用例是否還需要再次執行一遍呢? 爲了規避修改代碼帶來的副作用,我們有必要執行迴歸測試。質量是有保證了,但是效率較低了。測試在進度上被迫延遲了。所以測試版本的控制有助於保證進度和測試的效率。

 

以上是測試管理中需要注意的幾個要點,構成一個成功的軟件測試項目還有其他很多重要的因素,例如測試人員的個人能力,管理者的綜合素質,公司的開發過程等等,在這裏筆者就不一一贅述了。

 

  -----------------------------------------------------------------------------------------------------------------

 

[作者簡介]

網名Alan liang

工作時間6

專業特長單元測試、迴歸測試自動化

愛好自行車 攝影 網球

Mail: [email protected]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章