在軟件測試中什么是白盒測試,需要注意什么?關(guān)于白盒測試:
此方法把測試對象看做一個透明把測試對象看做一個透明的盒子,它允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計或選擇測試用例,對程序所有邏輯路徑進行測試。 通過在不同點檢查程序的狀態(tài), 確定實際的狀態(tài)是否與預(yù)期的狀態(tài)一致。因此白盒測試又稱為結(jié)構(gòu)測試或邏輯驅(qū)動測試。
軟件人員使用白盒測試方法,主要想對程序模塊進行如下的檢查:
·對程序模塊的所有獨立的執(zhí)行路徑 所有獨立的執(zhí)行路徑至少測試一次;
·對所有的邏輯判定所有的邏輯判定,取“真”與取“假”的兩種情況都至少測試一次都至少測試一次;
·在循環(huán)的邊界和運行界限內(nèi)執(zhí)行循環(huán)體;
·測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性等。
關(guān)于單元測試:
單元測試是對程序代碼單元進行函數(shù)級的測試,是完成對最小軟件設(shè)計單元的驗證工作。
單元測試工作主要從 1 )單元功能; 2 )單元接口; 3 )數(shù)據(jù)結(jié)構(gòu); 4 )語句/分支覆蓋等4個方面單元函數(shù)進行測試。對單元功能的測試是保證單元模塊具有完成符合設(shè)計要求的功能;對單元接口的測試是保證在測試時進出程序單元的數(shù)據(jù)流正確;對數(shù)據(jù)結(jié)構(gòu)的測試是保證存儲的全局數(shù)據(jù)、局部數(shù)據(jù)在算法執(zhí)行的過程中的完整性;對語句/分支覆蓋的測試是保證單元函數(shù)在極限邊界條件能夠正確執(zhí)行,函數(shù)的每條語句、每個分支都能執(zhí)行一次,消除無用代碼.
單元函數(shù)是由各種語句組成的程序代碼,對各種語句測試用例的設(shè)計是單元測試的關(guān)鍵。
關(guān)于測試方法:
有了測試環(huán)境 ,重要的是設(shè)計測試用例 ,基本路徑、判斷條件、數(shù)據(jù)劃分、邊界值分析是從不同角度設(shè)計測試用例的有效方法。
程序基本路徑集:
程序的環(huán)路復(fù)雜性給出了程序基本路徑集中的獨立路徑條數(shù),這是確保程序中每個可執(zhí)行語句至少執(zhí)行一次所必需的測試用例數(shù)目的上界。
從控制流圖來看,一條獨立路徑是至少包含有一條在其它獨立路徑中從未有過的邊的路徑。
基本路徑方法設(shè)計測試用例的過程:
·從代碼導(dǎo)出流圖
·確定流圖的圈復(fù)雜度
·確定獨立路徑的基本集
·導(dǎo)出測試用例,確;韭窂郊械拿恳粭l確保基本路徑集中的每一條路徑的執(zhí)行。
每個測試用例執(zhí)行之后,與預(yù)期結(jié)果進行比較。如果所有測試用例都執(zhí)行完畢,則可以確信程序中所有的可執(zhí)行語句至少被執(zhí)行了一次。
注意,一些獨立的路徑,往往不是完全孤立的,有時它是程序正常的控制流的一部分,這時,這些路徑的測試可以是另一條路徑測試的一部分。