培養(yǎng)整個團(tuán)隊的測試能力,成為專業(yè)的測試團(tuán)隊。
由于測試團(tuán)隊獨立于開發(fā)團(tuán)隊,測試團(tuán)隊成員的開發(fā)技能相對較弱,對于系統(tǒng)的需求、設(shè)計和代碼的理解需要投入更多的工作量,而且測試人員和開發(fā)人員需要建立正式的溝通渠道,例如:需要建立更加完善的配置管理和缺陷管理系統(tǒng)。
5)外部測試專家基于特定的測試目標(biāo)執(zhí)行測試
聘請來自于組織外部的專家對特定的測試目標(biāo)執(zhí)行測試。外部專家并不對整個系統(tǒng)進(jìn)行全面的測試,而只關(guān)注其中特定的領(lǐng)域,例如:可能只關(guān)注被測試對象的重要的質(zhì)量屬性(例如:易用性、安全性或性能等)。這些專家在特定的領(lǐng)域都有很深的造詣,可以在短時間內(nèi)快速對被測試對象的特定方面進(jìn)行評估,發(fā)現(xiàn)缺陷并提出改進(jìn)意見。但是這些外部的測試專家的成本通常都很高,項目因此要有高額的投入。
6)測試由組織外的團(tuán)隊執(zhí)行
這種形式實現(xiàn)了最大化的測試獨立,既能夠以揭露軟件中的缺陷為目的開展工作,也能不受發(fā)現(xiàn)的缺陷的影響。組織和經(jīng)濟(jì)上的獨立性使其有更充分的條件按測試要求去完成工作。由于專業(yè)優(yōu)勢,獨立測試工作形成的測試結(jié)果更具信服力。由于測試結(jié)果常常和軟件的質(zhì)量評價聯(lián)系在一起,因此,由專業(yè)化的獨立測試機構(gòu)進(jìn)行評價權(quán)威性更強。但是這種獨立性也帶來一些負(fù)面影響:知識傳遞可能不充分、需要明確的需求定義、需要很好的溝通平臺以及外部組織的質(zhì)量不確定等。這些影響因素在采用這種形式的測試組織時是需要加以考慮的。
上面介紹了六種不同的測試獨立性的形式。測試獨立性的優(yōu)點有:
● 對軟件測試和軟件中的錯誤抱著客觀的態(tài)度,這種客觀的態(tài)度可以解決測試中的心理學(xué)問題,既能夠以揭露軟件中的錯誤為目的進(jìn)行工作,也能不受發(fā)現(xiàn)的錯誤的影響。
● 經(jīng)濟(jì)上的獨立性使其工作有更充分的條件按測試要求去完成。
● 獨立測試作為一種專業(yè)工作,在長期的工作過程中勢必能夠積累大量的實踐經(jīng)驗,形成自己的專業(yè)優(yōu)勢。
● 軟件測試是技術(shù)含量很高的工作,需要有專業(yè)隊伍加以研究,并進(jìn)行工程實踐。專業(yè)化分工是提高測試水平、保證測試質(zhì)量、充分發(fā)揮測試效用的必然途徑。
● 由于專業(yè)優(yōu)勢,獨立測試工作形成的測試結(jié)果更具信服力,而測試結(jié)果常常和對軟件的質(zhì)量評價聯(lián)系在一起。因此,由專業(yè)化的獨立測試機構(gòu)進(jìn)行評價的權(quán)威性更強。
● 獨立測試機構(gòu)的主要任務(wù)是進(jìn)行獨立測試工作,這使得測試工作在經(jīng)費、人力和時間方面更有保證,不會因為開發(fā)的壓力而減少對測試的投入,降低測試的有效性,從而可以避免開發(fā)組織側(cè)重軟件開發(fā)而對測試工作產(chǎn)生不利的影響。
測試的獨立性并不是越高越好。隨著測試獨立性的提高,也會帶來一些問題:
● 組織的復(fù)雜度越來越高,管理成本增加,當(dāng)測試團(tuán)隊不屬于該組織的時候,對于測試團(tuán)隊的測試質(zhì)量無法及時監(jiān)控。
● 溝通效率降低,原來可能只是需要打個招呼的問題,現(xiàn)在需要通過復(fù)雜的配置管理、缺陷管理和文檔管理系統(tǒng)來解決。
● 測試人員和開發(fā)人員的距離越來越遠(yuǎn),項目團(tuán)隊氛圍可能會下降,某些極端情況甚至出現(xiàn)開發(fā)人員和測試人員的對立現(xiàn)象。
● 測試人員重點關(guān)注測試相關(guān)技能,對開發(fā)技能的掌握比較差,不利于發(fā)現(xiàn)系統(tǒng)需求和設(shè)計方面的缺陷。
● 獨立的測試團(tuán)隊可能降低開發(fā)人員的質(zhì)量責(zé)任感,開發(fā)人員可能會覺得產(chǎn)品質(zhì)量應(yīng)該是測試團(tuán)隊的事情,而不是整個項目團(tuán)隊的責(zé)任。
一個組織的測試活動可以采用多種測試獨立性策略。不同的測試級別可以使用不同形式的測試獨立性策略。低級別的測試采用獨立性比較低的策略,高級別的測試采用獨立性比較高的策略,例如:組件測試和集成測試由開發(fā)人員來完成,系統(tǒng)測試由企業(yè)內(nèi)部獨立的測試團(tuán)隊完成,驗收測試由組織外引入的測試團(tuán)隊完成,如表1所示。具體的形式可以根據(jù)組織和項目的實際情況進(jìn)行調(diào)整。