從這一過程可以看出,開發人員依賴測試來保證開發工作的質量,使開發整體地協調地向前推進。 當開發進入后期階段,盡管項目已總體成型,開發人員也會不時遇到一些技術上的挑戰。比如一些Bug的解決涉及對項目深層次結構的調整;再比如由于客戶反饋的意見造成設計的修改。每一次這樣的修改和調整事實上都是對一個穩定系統的破壞,如果處理不當往往一個Bug的修改會生成很多新的Bug,就像一系列聯鎖的惡性循環。很多項目工期的延誤都是這樣造成的。要避免或至少將這種破壞減少到最低限度,開發人員首先需要知道這種破壞的影響面。在這里單靠開發人員自身的邏輯思維、技能和經驗是遠遠不夠的,自動測試再一次成為一種有效的工具。往往開發人員會制定不止一個方案,對每個方案上都運行一遍同樣一套自動測試用例,然后比較結果,選出最佳方案。自動測試在這方面所起的作用不僅在產品的開發過程中,它還延續到產品發布后。產品支持部門在為客戶提供應急解決方案時也要依賴自動測試。 管理對測試的依賴 在微軟,軟件項目管理的主要線索就是Bug的管理,其中最直接具體的管理活動就是“Bug三方討論會(Bug Triage)”。會議一般由項目管理Program Manager(簡稱PM)來主持,有開發人員和測試人員參加(所以叫三方會議)。會上對每個新生成的Bug進行討論,并決定(1)是否接受這個Bug;(2)Bug的嚴重級別和優先級別;(3)Bug由誰來負責,是由測試提供進一步詳細信息,還是交由開發人員解決,以及大致的解決方案等等。會議還要對老的Bug檢查解決進度。這種討論會常常會發生爭論,要求測試人員具有足夠的技術基礎和用戶經驗,來捍衛產品的質量?梢哉f項目開發到了某一階段后就是由這種Bug的管理所驅動的。這其中的原動力來自測試。 項目管理中一項非常重要但也十分困難的工作是衡量項目的進度,包括判斷項目的狀態,確定項目是否能預期完成。這方面,測試提供了兩個非常重要的參數,一個是Bug數量的趨勢,另一個是測試結果的趨勢。 Bug趨勢就是將每天新生成的Bug數和每天被解決的Bug數標成一個趨勢圖表。一般在項目的開始階段新生Bug數曲線會呈上升趨勢,到項目中后期被解決Bug數曲線會趨于上升,而新生Bug數曲線應下降,到項目最后,兩條曲線都趨向于零。PM會持續觀察這張圖表,確保項目健康發展,同時通過分析預測項目Bug趨于零的時間。在一定的歷史經驗的基礎上分析使用這一圖表會得到很多有價值的信息,比如說,可分析開發和測試在人力資源的配比上是否恰當,可以分析出某個嚴重的Bug所造成的項目質量的波動。 每天的自動測試結果同樣可以形成類似的圖表。它同樣非常有助于了解當前項目的質量狀況,開發測試進度。 由測試產生的這些數據不僅在項目開發過程中為項目管理提供有效的依據,而且也是產品通過發布的必要條件。在微軟,每個產品都要經過評審才能通過發布。前面介紹的幾個圖表是發布評審的重要內容,如果從圖表中發現臨評審前還出現過較大的質量波動,評審人員一定會對此提出質疑。 因此軟件項目管理依賴軟件測試提供其基本的管理素材。 可以說,現代大型軟件開發過程中開發和管理對測試的依賴性是測試與開發流程融合的一個根本因素。從另一個角度看,測試與開發流程融合決不僅僅是簡單的時間上的同步,更不是雙方空間上的接近,而是這種內在的依存關系的外在表現。開發對測試的這種依賴性對測試和測是人員提出了更高的要求。在理念上,軟件測試已遠不僅僅只是軟件功能的驗證和Bug的搜尋;在具體方法上,自動測試和測試工具的使用已成為基本的要求。在微軟,測試不僅使用一些通用的工具,每一個產品還有專門開發的專用工具庫,測試的代碼量常常超過項目本身的代碼量。 一個軟件企業要提高其軟件開發的能力,特別是針對大型軟件的大規模的快速開發能力,在測試方面對傳統理念和方法進行突破是必要的。微軟的實踐就是一個很好的印證。
文章來源于領測軟件測試網 http://www.kjueaiud.com/