不同的項(xiàng)目組對(duì)質(zhì)量保障問題的解決方法肯定不盡相同,下面我將我們安全小組的一些項(xiàng)目質(zhì)量管理經(jīng)驗(yàn)整理出來,其中一定有片面和不足之處,還請(qǐng)大家批評(píng)指正。
第一點(diǎn):重視項(xiàng)目啟動(dòng)前的規(guī)模估計(jì)
為了按時(shí)提交軟件產(chǎn)品,必然需要有一個(gè)切實(shí)可行的項(xiàng)目進(jìn)度計(jì)劃,在這個(gè)計(jì)劃里還要能考慮到保障軟件質(zhì)量的工作量。而產(chǎn)生這個(gè)計(jì)劃的基礎(chǔ)就是對(duì)整個(gè)項(xiàng)目工作的規(guī)模估計(jì)。在我們組的軟件規(guī)模估計(jì)中,是小組成員共同參加的。每個(gè)人都對(duì)即將開始的工作做出工作量估計(jì),然后對(duì)大家的估計(jì)結(jié)果進(jìn)行加權(quán)和平均,形成項(xiàng)目組的共同規(guī)模估計(jì)結(jié)果。這有助于小組對(duì)項(xiàng)目工作量和工作難度有共同的認(rèn)識(shí),并對(duì)維護(hù)軟件質(zhì)量的工作量也有相應(yīng)的準(zhǔn)備。一定程度上避免了由于項(xiàng)目進(jìn)度計(jì)劃不合理而可能造成的對(duì)軟件產(chǎn)品質(zhì)量上的影響。
第二點(diǎn):項(xiàng)目確定共同的編碼基本要求
軟件的質(zhì)量也就是代碼的質(zhì)量,對(duì)于提高代碼的整體質(zhì)量而言,開發(fā)人員遵循共同的基本編碼規(guī)范是很有好處和必要的。我們安全組在平時(shí)的編碼經(jīng)驗(yàn)積累和參考了網(wǎng)上的技術(shù)文檔基礎(chǔ)上,提出了《安全組編程基本要求》。這個(gè)要求并不是面面俱到,但一定要對(duì)提高編碼質(zhì)量有實(shí)際的推動(dòng)。為了增加靈活性,《要求》中還區(qū)別出了“必須遵守”和“推薦遵守”兩種級(jí)別,供小組成員選擇。
這里列舉幾條編程要求如下:
1.盡可能在定義變量的同時(shí)初始化該變量,指針必須在定義時(shí)初始化;
2.使用顯式數(shù)據(jù)類型轉(zhuǎn)換,避免讓編譯器進(jìn)行隱式數(shù)據(jù)類型轉(zhuǎn)換;
3.在函數(shù)體的“入口”處,必須對(duì)參數(shù)的有效性進(jìn)行檢查;
4.指針定義時(shí)初始化為NULL;在使用內(nèi)存之前檢查指針是否為NULL;在釋放內(nèi)存前檢查指針是否為NULL;釋放完內(nèi)存后,將指針賦值為NULL;
5.使用“匈牙利“命名規(guī)則,模仿IBM代碼的編程風(fēng)格和注釋風(fēng)格;
第三點(diǎn):嚴(yán)格遵循公司的CMM過程管理
這一點(diǎn)不用多說,引入CMM的過程管理經(jīng)驗(yàn)是公司為各個(gè)項(xiàng)目組提供的極大幫助,為項(xiàng)目組及時(shí)預(yù)見和規(guī)避風(fēng)險(xiǎn)提供了有效的途徑。通過CMM的各個(gè)里程碑檢查,SQA人員的參與和監(jiān)督,SCM人員的配置項(xiàng)統(tǒng)一管理,小組每周的周例會(huì)等等方法,為項(xiàng)目的順利進(jìn)行奠定了基礎(chǔ)。而且在CMM嚴(yán)格的過程控制之下,通過對(duì)需求的明確定義,相應(yīng)設(shè)計(jì)、測(cè)試階段對(duì)需求的對(duì)應(yīng)跟蹤,對(duì)軟件BUG的統(tǒng)一受控管理和跟蹤等等,這些都為項(xiàng)目組軟件產(chǎn)品的質(zhì)量提供了有力的保障。
第四點(diǎn):重視測(cè)試活動(dòng)并引入工具以提高測(cè)試能力
大家都知道,測(cè)試活動(dòng)是軟件產(chǎn)品質(zhì)量保障的最直接和最有效環(huán)節(jié),按照測(cè)試所處研發(fā)層次的不同,又可以細(xì)分為:?jiǎn)卧獪y(cè)試、集成測(cè)試和系統(tǒng)(總體)測(cè)試。另外在這種分法之外,還可根據(jù)測(cè)試的偏重點(diǎn)分為異常測(cè)試、壓力測(cè)試、性能測(cè)試等。單從這么細(xì)致的測(cè)試劃分就可以看出測(cè)試工作在軟件生產(chǎn)過程中的無比重要性了。可以說測(cè)試能力的高低直接決定了最終軟件產(chǎn)品質(zhì)量的高低。
在提高測(cè)試能力方面,我們組首先是做到讓測(cè)試都處于方案和計(jì)劃的控制之中,包括集成測(cè)試方案/計(jì)劃、系統(tǒng)測(cè)試方案/計(jì)劃等。測(cè)試過程的BUG也都納入了CMM的BUG管理過程,進(jìn)行了跟蹤和監(jiān)督,確保發(fā)現(xiàn)的BUG都得到有效的改進(jìn)和管理。
其次我們還引入了專門的測(cè)試工具來提高測(cè)試環(huán)節(jié)的能力和效率,比如:我們采用ParaSoft公司的C++ Test工具來進(jìn)行嚴(yán)格的單元測(cè)試,自動(dòng)對(duì)參數(shù)和指針進(jìn)行有效性檢查,并對(duì)設(shè)定的編碼風(fēng)格進(jìn)行靜態(tài)檢查;采用Bounds Checker來進(jìn)行內(nèi)存泄漏檢查;采用Iris來對(duì)網(wǎng)絡(luò)上傳遞的數(shù)據(jù)包進(jìn)行截獲和分析,以檢驗(yàn)程序數(shù)據(jù)傳遞的正確性等等。通過對(duì)這些測(cè)試工具的使用,很大程度上提高了我們組整體的測(cè)試能力,使測(cè)試中的深度和廣度都有了定量的保障。
以上所列的四點(diǎn)經(jīng)驗(yàn)被廣泛應(yīng)用于我們安全組的項(xiàng)目管理過程中。通過對(duì)一些中小規(guī)模項(xiàng)目應(yīng)用的實(shí)踐表明,這些經(jīng)驗(yàn)用于軟件項(xiàng)目質(zhì)量保障是比較切實(shí)可行的,能夠提高項(xiàng)目質(zhì)量的可控性。
當(dāng)然以上這些經(jīng)驗(yàn)也只是我們組在平時(shí)工作中的一些總結(jié),并不完全適合公司其它項(xiàng)目組的實(shí)際情況。在此整理出來,也只是希望能起到拋磚引玉的作用,希望在公司中形成對(duì)軟件項(xiàng)目質(zhì)量保障方法的一些討論,以達(dá)到共同提高項(xiàng)目管理經(jīng)驗(yàn),推動(dòng)公司健康發(fā)展的目的。










