測試
測試組的工作被分成若干階段,不同階段的劃分是以保證軟件質(zhì)量的不同指標(biāo)為目標(biāo)的。
測試的軟件指標(biāo)分別包括: 軟件的正確性:正確性測試主要是測試軟件的功能是否被正確的實現(xiàn)。 測試的方式主要是按照功能的要求按照給定的輸入,看是否有給定的輸出。在非標(biāo)稱輸入時,輸出是否異常等。一方面測試軟件的功能是否實現(xiàn),同時是否實現(xiàn)的完整。
性能指標(biāo):該項目對性能的要求非同一般的軟件項目。性能測試往往包含了壓力測試、攻擊性測試等測試,軟件所能承受的極限是多少,一般來將軟件的極限應(yīng)當(dāng)高出用戶要求的性能,各種指標(biāo)也應(yīng)當(dāng)為用戶所了解。
易用性:軟件的使用界面在設(shè)計實現(xiàn)的時候應(yīng)當(dāng)設(shè)法使之與功能的實現(xiàn)相脫離。脫離的原因在于易用性是通過友好的界面實現(xiàn)的。然而讓開發(fā)人員以使用者的角度來確定軟件是否易用是件非常困難的事情,在確定使用界面時往往需要多次的反復(fù)修改,甚至只能在軟件的后交付之前或用戶使用一段時間之后才被提出來。鑒于這種特點,軟件在開發(fā)的不同階段都作了相應(yīng)的保證措施,比如在軟件需求界定的時候請領(lǐng)域?qū)<覅⑴c,在軟件設(shè)計階段,讓功能的實現(xiàn)盡可能地包含在軟件的組件之中,也是沒有界面要求的底層實現(xiàn)。界面的實現(xiàn)僅僅依賴于一個數(shù)據(jù)接口,界面僅僅負(fù)責(zé)將用戶輸入的數(shù)據(jù)送到指定的數(shù)據(jù)塊中,用于顯示的數(shù)據(jù)也在指定的數(shù)據(jù)塊中提取,只要保證數(shù)據(jù)塊被互斥的訪問可以了。有了這樣的設(shè)計結(jié)構(gòu),軟件的易用性也相當(dāng)容易保證了。當(dāng)測試中發(fā)現(xiàn)易用性的問題時,軟件不會傷到筋骨,皮毛的修改總是非常容易的。
測試人員的角色也是逐步的由開發(fā)向用戶方向轉(zhuǎn)移。
測試存在兩個非常重要的問題,一是保證測試的結(jié)果真正是反映了軟件的質(zhì)量。一般來講,如果測試測出的錯誤數(shù)是收斂的情況,基本認(rèn)為測試本身應(yīng)當(dāng)是比較全面的和足夠深入的。二是測試結(jié)果的反饋。測試報告是測試結(jié)果的正式書面反饋形式。測試報需要經(jīng)過質(zhì)量監(jiān)督組的復(fù)審,并進行統(tǒng)計,再形成質(zhì)量監(jiān)督報告的一部分,提交到項目經(jīng)理和項目開發(fā)組組長處。同時,測試組產(chǎn)生的測試報告和測試統(tǒng)計報告也要進行歸檔,以便跟蹤軟件的質(zhì)量進展。這也是軟件進行版本編號的一個重要依據(jù)。
文檔維護
文檔維護主要是文檔組的工作。文檔從用途上分主要分為內(nèi)部文檔和外部文檔。
內(nèi)部文檔包括: 項目開發(fā)計劃; 需求分析; 體系結(jié)構(gòu)設(shè)計說明; 詳細(xì)設(shè)計說明; 構(gòu)件索引; 構(gòu)件成分說明; 構(gòu)件接口及調(diào)用說明; 組件索引; 組件接口及調(diào)用說明; 類索引; 類屬性及方法說明; 測試報告; 測試統(tǒng)計報告; 質(zhì)量監(jiān)督報告; 源代碼; 文檔分類版本索引; 軟件安裝打包文件。
外部文檔主要包括: 軟件安裝手冊; 軟件操作手冊; 在線幫助; 系統(tǒng)性能指標(biāo)報告; 系統(tǒng)操作索引。
文檔的重要性在前面的章節(jié)中已經(jīng)多次提到。如何保證文檔的全面性,使其真正為項目的進度提供保證,又不因為文檔的寫作而耽誤項目的進度,這仍然是一個比較難解決的問題。解決此問題,其核心仍然是個"度"的問題。在本項目的開發(fā)中,文檔組的一個非常重要的任務(wù)還是書寫文檔規(guī)范和文檔模板。當(dāng)有文檔模板后需要書寫文檔的人員只剩下"填空"的工作,從某種意義上講,書寫文檔的速度會加快。如果書寫文檔的人員認(rèn)為文檔的更細(xì)致的部分可以由他人幫助完成,則該文檔即交由他人完成,但此時文檔并不算被正式提交,當(dāng)他人書寫完畢之后,必須由文檔的初寫者進行復(fù)審,復(fù)審?fù)ㄟ^后方可以正式提交,進入軟件配置管理的循環(huán)中。
文檔組真正核心的工作是對文檔的組織管理。根據(jù)文檔的不同,文檔的來源也不同,有些是通過質(zhì)量監(jiān)督組經(jīng)過復(fù)審之后轉(zhuǎn)交給文檔組,有些則會直接從文檔的出處到達文檔組。文檔的管理是一個非常煩瑣的工作,但是長遠(yuǎn)來看它不僅使項目的開發(fā)對單個主要人員的依賴減少,從而減少人員流動給項目的帶來的風(fēng)險,更重要的是在項目進行到后百分之十的時候起到拉動項目的作用。從以往做大項目的經(jīng)驗來看,寫作文檔在項目開發(fā)的早期可能會使項目的進度比起不寫文檔要稍慢,但隨著項目的進展,各個部門需要配合越來越多,開發(fā)者越來越需要知道其他人員的開發(fā)思路和開發(fā)過程,才能使自己的開發(fā)向前推進。一個明顯的例子是系統(tǒng)整合,或者某些環(huán)節(jié)是建立在其他環(huán)節(jié)完成的基礎(chǔ)之上時,更顯現(xiàn)出文檔交流的準(zhǔn)確性和高效性。
系統(tǒng)維護保證
對于該項目,軟件維護主要由公司的技術(shù)支持部來完成。技術(shù)支持在本公司的角色在第一章中已經(jīng)有所描述。在這里需要重申的是,在本公司,技術(shù)支持的任務(wù)一方面是保證對項目客戶的跟蹤服務(wù),另一方面是把該項目的開發(fā)人員從項目中盡快的解脫出來以便投入到下一個項目的開發(fā)中,因此要求技術(shù)支持人員在項目開始的時候介入其中,并在開發(fā)的過程中不斷跟蹤項目,特別是開發(fā)中同客戶的交流,他們必須參加。不僅如此,軟件的代碼編寫,他們也需要有所了解,并對非核心代碼能夠進行一定的修改,起碼能夠準(zhǔn)確定位錯誤,以便提請公司以快的速度修正錯誤。對于一般性的錯誤,如操作不當(dāng)?shù)纫鸬膯栴},全部由技術(shù)支持部來解決。
技術(shù)支持部的人員基本上是按項目跟進的。當(dāng)一個項目剛剛交付用戶時,在技術(shù)支持部會有較多的人員進行跟進,隨軟件的穩(wěn)定,跟進的人逐步減少,并轉(zhuǎn)移到其它項目中去。