建立、組織和管理一支優(yōu)秀的測(cè)試團(tuán)隊(duì)是做好軟件測(cè)試工作的基礎(chǔ)。測(cè)試活動(dòng)的開(kāi)展必須貫穿于整個(gè)軟件開(kāi)發(fā)生命周期,因此,測(cè)試活動(dòng)應(yīng)該和相關(guān)的開(kāi)發(fā)活動(dòng)進(jìn)行協(xié)調(diào),并統(tǒng)一規(guī)劃。不同的組織,可能會(huì)以不同的方式組織測(cè)試團(tuán)隊(duì),以達(dá)到組織和項(xiàng)目層面的測(cè)試目標(biāo)。
采用獨(dú)立的測(cè)試人員進(jìn)行測(cè)試和評(píng)審,發(fā)現(xiàn)缺陷的效率會(huì)明顯提高,因此,獨(dú)立的測(cè)試團(tuán)隊(duì)是一個(gè)較好的選擇。獨(dú)立測(cè)試的方式并不是完全的替代開(kāi)發(fā)人員進(jìn)行的測(cè)試,因?yàn)殚_(kāi)發(fā)人員也可以高效地在他們的工作產(chǎn)品中找出很多缺陷。因此,根據(jù)組織和項(xiàng)目的特點(diǎn),可以選擇不同的獨(dú)立測(cè)試策略:
● 非獨(dú)立的測(cè)試人員(開(kāi)發(fā)人員測(cè)試自己的代碼)。
● 測(cè)試由不同的開(kāi)發(fā)人員執(zhí)行,而不是代碼的編寫(xiě)者本人。
● 測(cè)試由開(kāi)發(fā)團(tuán)隊(duì)中專門(mén)的測(cè)試人員完成。
● 測(cè)試由獨(dú)立于開(kāi)發(fā)團(tuán)隊(duì)的測(cè)試團(tuán)隊(duì)完成。
● 外部測(cè)試專家基于特定的測(cè)試目標(biāo)執(zhí)行測(cè)試。
● 測(cè)試由組織外的團(tuán)隊(duì)執(zhí)行(例如:外包)。
對(duì)于龐大、復(fù)雜的系統(tǒng)或安全關(guān)鍵系統(tǒng),最好讓獨(dú)立的測(cè)試人員進(jìn)行多個(gè)級(jí)別的測(cè)試。開(kāi)發(fā)人員也可以參與其中(特別是在測(cè)試級(jí)別比較低的時(shí)候),但是開(kāi)發(fā)人員缺少測(cè)試目的性和測(cè)試相關(guān)技能會(huì)限制他們的測(cè)試效率。獨(dú)立測(cè)試人員有權(quán)要求定義測(cè)試過(guò)程及規(guī)則,但是只有在明確授權(quán)的情況下才能充當(dāng)這種過(guò)程相關(guān)的角色。在實(shí)際的項(xiàng)目中,可以考慮采用多種獨(dú)立測(cè)試策略相結(jié)合的形式。
1)非獨(dú)立的測(cè)試人員
在這種情況下,沒(méi)有任何的獨(dú)立性。開(kāi)發(fā)人員對(duì)自己開(kāi)發(fā)的代碼進(jìn)行測(cè)試。開(kāi)發(fā)人員將根據(jù)自己的理解對(duì)代碼進(jìn)行測(cè)試,一旦發(fā)現(xiàn)缺陷,開(kāi)發(fā)人員能夠馬上進(jìn)行修復(fù),大大縮短解決問(wèn)題的時(shí)間;同時(shí)由于開(kāi)發(fā)人員對(duì)代碼很熟悉,知道哪些地方可能存在更多的問(wèn)題,可以有針對(duì)性地進(jìn)行測(cè)試。但通常情況下,開(kāi)發(fā)人員愿意花費(fèi)更多的時(shí)間在開(kāi)發(fā)活動(dòng)上,而留給測(cè)試活動(dòng)的時(shí)間很少,測(cè)試活動(dòng)的質(zhì)量無(wú)法得到保障。從心理學(xué)來(lái)看,讓開(kāi)發(fā)人員發(fā)現(xiàn)自己代碼中存在的缺陷存在一定難度,因此,不太容易發(fā)現(xiàn)缺陷。
2)測(cè)試由不同的開(kāi)發(fā)人員執(zhí)行
測(cè)試由不同的開(kāi)發(fā)人員執(zhí)行,而不是代碼的開(kāi)發(fā)者本人。這種形式在一定程度上體現(xiàn)了測(cè)試的獨(dú)立性。一方面,擔(dān)當(dāng)測(cè)試工作的開(kāi)發(fā)人員對(duì)系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)的代碼比較熟悉,而且同為開(kāi)發(fā)人員,溝通比較通暢;另一方面測(cè)試對(duì)象并不是自己開(kāi)發(fā)的代碼,這種情況下缺陷的發(fā)現(xiàn)率將會(huì)有一定程度的提高。開(kāi)發(fā)人員兼任測(cè)試人員的工作,沒(méi)有形成獨(dú)立的測(cè)試團(tuán)隊(duì),整個(gè)團(tuán)隊(duì)的核心是開(kāi)發(fā),這種情況下,一個(gè)開(kāi)發(fā)人員測(cè)試另一個(gè)開(kāi)發(fā)人員的代碼可能不情愿報(bào)告缺陷。同時(shí),開(kāi)發(fā)人員設(shè)計(jì)的測(cè)試用例通常集中在正面的功能測(cè)試用例上,對(duì)于一些非功能測(cè)試以及異常情況的考慮比較少。
3)測(cè)試由開(kāi)發(fā)團(tuán)隊(duì)中專門(mén)的測(cè)試人員完成
開(kāi)發(fā)團(tuán)隊(duì)內(nèi)部有專門(mén)的測(cè)試人員或測(cè)試團(tuán)隊(duì),這些測(cè)試人員或測(cè)試團(tuán)隊(duì)向開(kāi)發(fā)經(jīng)理匯報(bào)工作。該模式下,測(cè)試人員已從開(kāi)發(fā)人員中獨(dú)立出來(lái),因此,測(cè)試人員具有一定的獨(dú)立性,他們可以采用和開(kāi)發(fā)人員不同的視角分析和檢查被測(cè)試產(chǎn)品;同時(shí)測(cè)試人員和開(kāi)發(fā)人員聯(lián)系緊密,可以和開(kāi)發(fā)人員及時(shí)溝通。但是這種模式下,測(cè)試人員仍然受到開(kāi)發(fā)經(jīng)理的制約,不能完全獨(dú)立地從產(chǎn)品質(zhì)量出發(fā)進(jìn)行測(cè)試,由于整個(gè)項(xiàng)目進(jìn)度和經(jīng)費(fèi)的關(guān)系,測(cè)試的投入可能不夠,在開(kāi)發(fā)任務(wù)緊張的情況下,這些測(cè)試人員還可能負(fù)責(zé)部分開(kāi)發(fā)任務(wù),從而不能保證產(chǎn)品質(zhì)量。
4)測(cè)試由獨(dú)立于開(kāi)發(fā)團(tuán)隊(duì)的測(cè)試團(tuán)隊(duì)完成
這種情況下,測(cè)試團(tuán)隊(duì)具有相當(dāng)?shù)莫?dú)立性。此時(shí),測(cè)試團(tuán)隊(duì)直接向利益相關(guān)者(例如:項(xiàng)目經(jīng)理)匯報(bào),測(cè)試團(tuán)隊(duì)重點(diǎn)關(guān)注被測(cè)試對(duì)象的質(zhì)量。發(fā)現(xiàn)缺陷成為測(cè)試團(tuán)隊(duì)最重要的目標(biāo)之一,對(duì)測(cè)試對(duì)象中出現(xiàn)的問(wèn)題能夠進(jìn)行客觀的分析和評(píng)價(jià)。由于整個(gè)團(tuán)隊(duì)都負(fù)責(zé)測(cè)試相關(guān)活動(dòng),測(cè)試團(tuán)隊(duì)可以集中精力