。3)第三類情況純屬個人行為:迫于進(jìn)度壓力,開發(fā)人員來不及修改問題,會故意把一些問題標(biāo)記為修改,這樣可以在下次測試后進(jìn)行修改。解決這種問題方法是統(tǒng)計(jì)缺陷的修改次數(shù),分析出那些反復(fù)修改的缺陷歸屬于那些開發(fā)人員,然后和績效考核結(jié)合起來。(測試人員也可以這樣做,把一些未驗(yàn)證的缺陷標(biāo)記為“重新打開”,讓開發(fā)人員來幫忙“驗(yàn)證”,我們?nèi)匀豢梢越y(tǒng)計(jì)這種問題的次數(shù),后根據(jù)時間進(jìn)行分析。)

  而解決這種問題的根本方法是加強(qiáng)項(xiàng)目管理,提高項(xiàng)目執(zhí)行能力,一旦資源較充裕時,測試人員和開發(fā)人員會更加投入的一起解決缺陷,共同來提高軟件質(zhì)量。

  10、產(chǎn)品測試完成后產(chǎn)品誰來發(fā)布?

  很多時候產(chǎn)品經(jīng)過后一次測試后由開發(fā)人員來發(fā)布,或者由質(zhì)量管理部來發(fā)布,這樣做都是不合適的。

  開發(fā)人員發(fā)布產(chǎn)品常常會導(dǎo)致缺陷解決不徹底。一種較常見的現(xiàn)象是后一次回歸測試后,開發(fā)人員修改完成后幾個缺陷直接從開發(fā)環(huán)境發(fā)布產(chǎn)品,13.1.3節(jié)中的案例是這樣的一種情況,這種條件下實(shí)際是缺陷一次測試,因?yàn)樾薷娜毕萃ǔ胄碌娜毕,甚至是?yán)重的缺陷。

  測試人員發(fā)布缺陷也是不和流程的,測試人員的職責(zé)是報告軟件質(zhì)量情況。而且測試人員發(fā)布缺陷容易帶來版本管理混亂。

  正確的做法是產(chǎn)品經(jīng)過后一次測試后,把產(chǎn)品和缺陷修改情況存入產(chǎn)品基線庫,形成一個可以發(fā)布的版本。這樣發(fā)布產(chǎn)品的一個前提是每次產(chǎn)品提交測試前都要有一個預(yù)備發(fā)布版本,測試或者回歸測試后如果有問題需要修改解決,開發(fā)人員對該預(yù)備版本進(jìn)行修改。如此反復(fù)多次后,直到后一次測試,所有缺陷都得到修改或者審核,同時開發(fā)人員此次測試后沒有對產(chǎn)品經(jīng)過任何修改,我們可以把這個后一個預(yù)備發(fā)布版本存入基線庫。

  進(jìn)行了上面正確的版本控制后,我們可以通過配置管理庫進(jìn)行產(chǎn)品發(fā)布管理。對外部發(fā)布產(chǎn)品時,直接從配置管理庫中提取可以了。詳細(xì)的內(nèi)容,讀者可以參考配置管理方面的書籍。

  11、性能測試什么時候開展為合適?

  大多數(shù)情況下,性能測試在系統(tǒng)測試的后階段進(jìn)行階段進(jìn)行。這主要是由于性能測試是一種綜合性的測試,只有在功能測試通過后,談系統(tǒng)測試才會有較大意義。但下列兩類情況比較特殊,性能測試一般進(jìn)行的較早,幾乎伴隨著單元測試同步進(jìn)行:

  第一類是系統(tǒng)軟件,例如開發(fā)操作系統(tǒng)或者數(shù)據(jù)庫,等系統(tǒng)開發(fā)完成后再進(jìn)行性能的作用是進(jìn)行一個綜合評估。如果在后發(fā)現(xiàn)性能問題,很有可能推翻整個系統(tǒng)。

  第二類是對性能要求較高的應(yīng)用軟件。例如銀行、電信的系統(tǒng),對系統(tǒng)的性能要遠(yuǎn)遠(yuǎn)高于一般的辦公自動化系統(tǒng)。這類系統(tǒng)軟件后測試時發(fā)現(xiàn)性能問題,往往是系統(tǒng)架構(gòu)或者一些關(guān)鍵算法、重要功能模塊的原因,這個時候會帶來較大的改動,甚至可能報廢整個系統(tǒng)。

  對于上面兩類軟件,性能測試應(yīng)該貫穿著整個軟件開發(fā)過程,大致要經(jīng)過下面幾個測試過程:

  (1)單元性能測試階段。上面這兩類軟件的性能測試后從單元測試階段應(yīng)該介入,具體做法是安排性能測試工程師對一些重要算法進(jìn)行測試,保證這些算法能夠滿足性能要求。這樣做的好處是把問題盡早解決,可以大大提高整體性能。

 。2)組成/集成性能測試階段。這個階段的性能測試是前面的深入,相當(dāng)于把系統(tǒng)測試階段的組合業(yè)務(wù)性能測試提前進(jìn)行,可以把一些性能問題在集成測試階段發(fā)現(xiàn)并解決。

  (3)系統(tǒng)測試階段的性能測試。這個階段的性能測試是一個全面的性能測試,有了前面的基礎(chǔ),這個時候發(fā)現(xiàn)的問題很更加容易解決。

  總之,性能測試是十分重要而且投入較高的測試,開展性能要根據(jù)具體的軟件屬性以及其它實(shí)際情況來制定測試策略。