四、項(xiàng)目實(shí)施經(jīng)驗(yàn)教訓(xùn)
測試作為項(xiàng)目開發(fā)的后一環(huán),錯(cuò)誤、延時(shí)、疏忽等都可能在測試階段表現(xiàn)出來,如何有序管理和分析各種問題對質(zhì)量控制和過程改進(jìn)非常重要,使用web based系統(tǒng)是一個(gè)好的實(shí)踐。
在項(xiàng)目組內(nèi),對Bug采用數(shù)據(jù)庫系統(tǒng)進(jìn)行跟蹤并不困難,因?yàn)橹饕菧y試人員提交Bug報(bào)告,測試人員使用多,相信測試人員對使用中心數(shù)據(jù)庫的好處是很了解的了,只要項(xiàng)目經(jīng)理支持很好辦了。如果要對其他缺陷,如需求變更,也這樣管理不是那么容易了,在技術(shù)上當(dāng)然沒有問題,難在工作方式的改變,雖然用Email和文檔管理無法實(shí)現(xiàn)工作流的自動(dòng)化,也不如數(shù)據(jù)庫系統(tǒng)提供那么多的分析和報(bào)告選項(xiàng),但在小規(guī)模的項(xiàng)目中依靠人工管理也可以做得井井有條。我們在多個(gè)項(xiàng)目的實(shí)施中遇到這樣的情況,有的項(xiàng)目隨時(shí)都有需求變更,而且變更的數(shù)量不少,項(xiàng)目組主動(dòng)提出想用數(shù)據(jù)庫系統(tǒng)來管理;有的項(xiàng)目剛起步,第一個(gè)階段的開發(fā)業(yè)務(wù)功能不多,推行的時(shí)候阻力很大。我的初級目標(biāo)是有序地管理錯(cuò)誤和變更,在實(shí)施手段上有沖突時(shí),不要操之過急,融洽的關(guān)系對項(xiàng)目的成功是很重要的。往往是有了成功的案例后,回頭推廣又變得容易了。實(shí)施新過程時(shí)好先局部試點(diǎn),采用PDCA循環(huán),不斷總結(jié)經(jīng)驗(yàn),再推廣。
使用缺陷數(shù)據(jù)庫,可以制作得到各種缺陷分析圖表,從而預(yù)測項(xiàng)目風(fēng)險(xiǎn)或解釋測試結(jié)果。下面兩張圖都是Mantis生成的缺陷圖,從累積錯(cuò)誤打開圖,分析錯(cuò)誤生成趨勢,在發(fā)現(xiàn)錯(cuò)誤報(bào)告未收斂時(shí)發(fā)布軟件,顯然風(fēng)險(xiǎn)很大,當(dāng)然使用圖表時(shí)還應(yīng)結(jié)合實(shí)際,在曲線平坦時(shí),是否開展了測試工作,曲線上升時(shí),錯(cuò)誤的嚴(yán)重性等級如何等。從嚴(yán)重性等級的柱狀圖可分析被測系統(tǒng)的總體狀況。在發(fā)布管理不規(guī)范的組織中,當(dāng)產(chǎn)品質(zhì)量問題突出時(shí),測試組可以通過解釋這些圖來闡述測試結(jié)果,從而規(guī)范發(fā)布過程。
第一部分提到的根本原因(Root Cause)域,他有助于使開發(fā)人員的注意力集中到引起嚴(yán)重、頻繁問題的領(lǐng)域,從而消耗少的資源改進(jìn)過程取得顯著的成果,這是我在過程改進(jìn)時(shí)常用到的80/20法則。在項(xiàng)目實(shí)施時(shí),實(shí)際情況并不理想,因?yàn)殚_發(fā)人員忙于改Bug,少有主動(dòng)寫錯(cuò)誤發(fā)生的根本原因的,這需要開發(fā)人員的配合和管理者的支持。
缺陷數(shù)據(jù)的使用應(yīng)謹(jǐn)慎,不要將錯(cuò)誤個(gè)人化,應(yīng)保證數(shù)據(jù)的真實(shí)性,否則數(shù)據(jù)對過程改進(jìn)沒有意義。
實(shí)施過程中,大家會(huì)對工具提出很多需求,應(yīng)評估哪些是共同需求、核心需求,系統(tǒng)修改復(fù)雜程度,對當(dāng)前系統(tǒng)和系統(tǒng)升級的影響。測試組在實(shí)施過程中,對不同角色人員的工作流程有了深入而準(zhǔn)確的了解,同時(shí)可以進(jìn)行工作流程的改進(jìn)。
使用開源系統(tǒng)的利弊
由于開源系統(tǒng)的代碼是公開的,用戶可自行維護(hù)和定制,大家也可以提交新特性和功能擴(kuò)展要求,而不必受制于商業(yè)系統(tǒng)的制造商。開源系統(tǒng)的用戶遍布世界各地,Bug反而容易發(fā)現(xiàn),同時(shí)公開源代碼中低效率的程序也容易被發(fā)現(xiàn)和修改。當(dāng)然越是流行的軟件,生命力越強(qiáng),Bug清除和新特性增加越快。
開源系統(tǒng)與其他工具的集成比較差,不如商業(yè)系統(tǒng)提供整個(gè)軟件開發(fā)生命周期的工具的集成,如項(xiàng)目管理、需求管理、建模、自動(dòng)化測試、缺陷跟蹤、配置管理等有機(jī)集成,實(shí)現(xiàn)整個(gè)開發(fā)流程的自動(dòng)化。但一般的中小企業(yè),大多沒有實(shí)力配置全所有系統(tǒng),另外,不同廠商優(yōu)勢不同,主導(dǎo)系統(tǒng)也不同,有的企業(yè)需要根據(jù)自身的特點(diǎn)選擇不同廠商的工具,所以即使購買商業(yè)工具也未必能將所有系統(tǒng)很好地集成。
開源系統(tǒng)是免費(fèi)的,但有人提供收費(fèi)的系統(tǒng)維護(hù)和定制服務(wù)。
五、小結(jié)
本文主要探討缺陷跟蹤管理的流程、工具和實(shí)施問題,缺陷跟蹤在技術(shù)上并不難,而是難在管理上,好的工具有利于管理和交流,的項(xiàng)目組應(yīng)意識(shí)到有效的交流方式是多種多樣的,不應(yīng)該單依賴系統(tǒng),這樣才有利于提高團(tuán)隊(duì)的戰(zhàn)斗力,而不是把重點(diǎn)放在追求系統(tǒng)功能的十全十美。有些缺陷跟蹤系統(tǒng)有Knowledge Base 功能,這對公司知識(shí)庫的累積也很有效;有的系統(tǒng)對不同用戶生成相關(guān)的To-Do-List,方便日常工作;有的對每個(gè)發(fā)布版本都有詳細(xì)的缺陷報(bào)告。總之,花費(fèi)時(shí)間和精力完善錯(cuò)誤管理系統(tǒng)是值得的,這是質(zhì)量管理和提高的基礎(chǔ)。
參考書目
《測試流程管理》 北京大學(xué)出版社 作者Rex Black 2001年3月第一版
《CVS開源軟件開發(fā)技術(shù)》 機(jī)械工業(yè)出版社 作者Karl Fogel 2001年6月第一版
關(guān)于作者
蔡琰,外企QA主管,有三年電子商務(wù)領(lǐng)域QA、測試主管經(jīng)驗(yàn)及多年的開發(fā)經(jīng)歷。目前關(guān)注基于J2EE構(gòu)架的web系統(tǒng)的功能測試和性能測試、自動(dòng)化測試、過程改進(jìn),F(xiàn)在上海,您可以通過電子郵件cindy_cai@sina.com 和她聯(lián)系。