1)測(cè)試是程序的執(zhí)行過(guò)程,目的在于發(fā)現(xiàn)錯(cuò)誤;
2)一個(gè)好的測(cè)試在于發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤;
3)一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試;
Alpha測(cè)試
Alpha測(cè)試通常是階段性的開(kāi)發(fā)完成后所開(kāi)始進(jìn)行,一直持續(xù)到進(jìn)入Beta測(cè)試階段前的階段。
在這個(gè)階段中,通常是在軟件由潛在用戶/客戶或一個(gè)獨(dú)立的測(cè)試團(tuán)隊(duì),采用現(xiàn)成軟件,以模擬或?qū)嶋H操作性的黑盒測(cè)試和灰盒測(cè)試進(jìn)內(nèi)聯(lián)部驗(yàn)收測(cè)試。
Beta測(cè)試
當(dāng)Alpha階段完成后,開(kāi)發(fā)過(guò)程進(jìn)入到Beta階段。在Beta階段,用于Beta測(cè)試的產(chǎn)品被發(fā)布(release)到一部分受控制的公司外部人員手中,通過(guò)這部分受控制的外部人員的測(cè)試和反饋,Beta階段可以盡量發(fā)現(xiàn)產(chǎn)品中存在的缺陷和錯(cuò)誤。在某些情況下,Beta版本可能被發(fā)放到范圍更廣的外部人員手中(例如,通過(guò)網(wǎng)站下載或是其他方式面向公眾發(fā)放)。
Beta階段的測(cè)試主要使用黑盒測(cè)試技術(shù)。當(dāng)然,在Beta階段,測(cè)試人員仍然可以使用白盒測(cè)試技術(shù)對(duì)產(chǎn)品繼續(xù)進(jìn)行測(cè)試,但我們一般不認(rèn)為這些測(cè)試是Beta測(cè)試的一部分。簡(jiǎn)單來(lái)說(shuō),我們認(rèn)為Beta測(cè)試就是由一部分受控制的客戶進(jìn)行的黑盒測(cè)試。
Gamma測(cè)試
Gamma測(cè)試是一個(gè)很少被提及的非正式測(cè)試階段,該測(cè)試階段對(duì)應(yīng)的是對(duì)“存在缺陷”產(chǎn)品的測(cè)試�?紤]到任何產(chǎn)品都可以被稱為“存在缺陷”的產(chǎn)品(測(cè)試只能發(fā)現(xiàn)產(chǎn)品中存在的問(wèn)題,不能說(shuō)明產(chǎn)品不存在問(wèn)題),因此這個(gè)概念存在一定的不確定。
對(duì)Alpha和Beta測(cè)試常見(jiàn)的一個(gè)認(rèn)識(shí)誤區(qū)是“Beta測(cè)試=黑盒測(cè)試”。實(shí)際上,Alpha和Beta測(cè)試對(duì)應(yīng)在軟件產(chǎn)品發(fā)布之前的Alpha和Beta階段,而白盒、黑盒和灰盒測(cè)試技術(shù)是從技術(shù)和方法層面對(duì)測(cè)試的描述,不應(yīng)該將這兩部分概念混淆。
1)應(yīng)當(dāng)將盡早地和不斷地進(jìn)行軟件測(cè)試作為軟件開(kāi)發(fā)者的測(cè)試原則。
2)測(cè)試用例應(yīng)由測(cè)試輸入數(shù)據(jù)和與之對(duì)應(yīng)的預(yù)期輸出結(jié)果兩部分組成。
3)程序員應(yīng)避免檢查自己的程序。
4)在設(shè)計(jì)測(cè)試用例時(shí),應(yīng)當(dāng)包括合理的輸入條件和不合理的輸入條件。
5)充分注意測(cè)試中的群集現(xiàn)象。經(jīng)驗(yàn)表明,測(cè)試后程序殘存的錯(cuò)誤數(shù)目與該程序中已發(fā)現(xiàn)的錯(cuò)誤數(shù)目或檢錯(cuò)率成正比。