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

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

  10、產(chǎn)品測(cè)試完成后產(chǎn)品誰(shuí)來(lái)發(fā)布?

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

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

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

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

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

  11、性能測(cè)試什么時(shí)候開展為合適?

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

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

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

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

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

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

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

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