軟件測(cè)試的方法和技術(shù)是多種多樣的。
對(duì)于軟件測(cè)試技術(shù),可以從不同的角度加以分類:
從是否需要執(zhí)行被測(cè)軟件的角度,可分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。
從測(cè)試是否針對(duì)系統(tǒng)的內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)算法的角度來看,可分為白盒測(cè)試和黑盒測(cè)試;
1、黑盒測(cè)試
黑盒測(cè)試也稱功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試,它是在已知產(chǎn)品所應(yīng)具有的功能,通過測(cè)試來檢測(cè)每個(gè)功能是否都能正常使用,在測(cè)試時(shí),把程序看作一個(gè)不能打開的黑盆子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測(cè)試者在程序接口進(jìn)行測(cè)試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)鋸而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。黑盒測(cè)試方法主要有等價(jià)類劃分、邊值分析、因—果圖、錯(cuò)誤推測(cè)等,主要用于軟件確認(rèn)測(cè)試。 “黑盒”法著眼于程序外部結(jié)構(gòu)、不考慮內(nèi)部邏輯結(jié)構(gòu)、針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試!昂诤小狈ㄊ歉F舉輸入測(cè)試,只有把所有可能的輸入都作為測(cè)試情況使用,才能以這種方法查出程序中所有的錯(cuò)誤。實(shí)際上測(cè)試情況有無窮多個(gè),人們不僅要測(cè)試所有合法的輸入,而且還要對(duì)那些不合法但是可能的輸入進(jìn)行測(cè)試。
2、白盒測(cè)試
白盒測(cè)試也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,它是知道產(chǎn)品內(nèi)部工作過程,可通過測(cè)試來檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說明書的規(guī)定正常進(jìn)行,按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,檢驗(yàn)程序中的每條通路是否都有能按預(yù)定要求正確工作,而不顧它的功能,白盒測(cè)試的主要方法有邏輯驅(qū)動(dòng)、基路測(cè)試等,主要用于軟件驗(yàn)證。
“白盒”法全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對(duì)所有邏輯路徑進(jìn)行測(cè)試。“白盒”法是窮舉路徑測(cè)試。在使用這一方案時(shí),測(cè)試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查程序的邏輯著手,得出測(cè)試數(shù)據(jù)。貫穿程序的獨(dú)立路徑數(shù)是天文數(shù)字。但即使每條路徑都測(cè)試了仍然可能有錯(cuò)誤。第一,窮舉路徑測(cè)試決不能查出程序違反了設(shè)計(jì)規(guī)范,即程序本身是個(gè)錯(cuò)誤的程序。第二,窮舉路徑測(cè)試不可能查出程序中因遺漏路徑而出錯(cuò)。第三,窮舉路徑測(cè)試可能發(fā)現(xiàn)不了一些與數(shù)據(jù)相關(guān)的錯(cuò)誤。
軟件人員使用白盒測(cè)試方法,主要想對(duì)程序模塊進(jìn)行如下的檢查:
– 對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測(cè)試一次;
– 對(duì)所有的邏輯判定,取 “ 真 ” 與取 “ 假 ” 的兩種情況都至少測(cè)試一次;
– 在循環(huán)的邊界和運(yùn)行界限內(nèi)執(zhí)行循環(huán)體;
– 測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性,等。
具體包含的邏輯覆蓋有:語句覆蓋、判定覆蓋、條件覆蓋、判定-條件覆蓋、條件組合覆蓋以及路徑覆蓋。
3. 灰盒測(cè)試
灰盒測(cè)試,確實(shí)是介于二者之間的,可以這樣理解,灰盒測(cè)試關(guān)注輸出對(duì)于輸入的正確性,同時(shí)也關(guān)注內(nèi)部表現(xiàn),但這種關(guān)注不象白盒那樣詳細(xì)、完整,只是通過一些表征性的現(xiàn)象、事件、標(biāo)志來判斷內(nèi)部的運(yùn)行狀態(tài),有時(shí)候輸出是正確的,但內(nèi)部其實(shí)已經(jīng)錯(cuò)誤了,這種情況非常多,如果每次都通過白盒測(cè)試來操作,效率會(huì)很低,因此需要采取這樣的一種灰盒的方法。
灰盒測(cè)試結(jié)合了白盒測(cè)試盒黑盒測(cè)試的要素.它考慮了用戶端、特定的系統(tǒng)知識(shí)和操作環(huán)境。它在系統(tǒng)組件的協(xié)同性環(huán)境中評(píng)價(jià)應(yīng)用軟件的設(shè)計(jì)。
灰盒測(cè)試由方法和工具組成,這些方法和工具取材于應(yīng)用程序的內(nèi)部知識(shí)盒與之交互的環(huán)境,能夠用于黑盒測(cè)試以增強(qiáng)測(cè)試效率、錯(cuò)誤發(fā)現(xiàn)和錯(cuò)誤分析的效率。
灰盒測(cè)試涉及輸入和輸出,但使用關(guān)于代碼和程序操作等通常在測(cè)試人員視野之外的信息設(shè)計(jì)測(cè)試。
4.ALAC(Act-like-a-customer)測(cè)試
ALAC測(cè)試是一種基于客戶使用產(chǎn)品的知識(shí)開發(fā)出來的測(cè)試方法。ALAC測(cè)試是基于復(fù)雜的軟件產(chǎn)品有許多錯(cuò)誤的原則。最大的受益者是用戶,缺陷查找和改正將針對(duì)哪些客戶最容易遇到的錯(cuò)誤。
相關(guān)推薦:2010年計(jì)算機(jī)軟件水平考試時(shí)間安排通知