}
return;
}
讀了代碼之后可以知道,先要檢查一個字符串是否為空,然后再根據播放器當前的狀態來執行相應的動作??梢赃@樣設計一些測試用例:比如字符串(文件)為空的話會出現什么情況;如果此時播放器的狀態是文件剛打開,會是什么情況;如果文件已經在播放,再調用這個函數會是什么情況。也就是說,根據播放器內部狀態的不同,可以設計很多不同的測試用例。這些是在純粹做黑盒測試時不一定能做到的事情。
白盒測試的直接好處就是知道所設計的測試用例在代碼級上哪些地方被忽略掉,它的優點是幫助軟件測試人員增大代碼的覆蓋率,提高代碼的質量,發現代碼中隱藏的問題。
白盒測試的缺點有:
1)程序運行會有很多不同的路徑,不可能測試所有的運行路徑;
2)測試基于代碼,只能測試開發人員做的對不對,而不能知道設計的正確與否,可能會漏掉一些功能需求;
3)系統龐大時,測試開銷會非常大。
3. 基于風險的測試
基于風險的測試是指評估測試的優先級,先做高優先級的測試,如果時間或精力不夠,低優先級的測試可以暫時先不做。有如下一個圖,橫軸代表影響,豎軸代表概率,根據一個軟件的特點來確定:如果一個功能出了問題,它對整個產品的影響有多大,這個功能出問題的概率有多大?如果出問題的概率很大,出了問題對整個產品的影響也很大,那么在測試時就一定要覆蓋到。對于一個用戶很少用到的功能,出問題的概率很小,就算出了問題的影響也不是很大,那么如果時間比較緊的話,就可以考慮不測試。
基于風險測試的兩個決定因素就是:該功能出問題對用戶的影響有多大,出問題的概率有多大。其它一些影響因素還有復雜性、可用性、依賴性、可修改性等。測試人員主要根據事情的輕重緩急來決定測試工作的重點。
4. 基于模型的測試
模型實際上就是用語言把一個系統的行為描述出來,定義出它可能的各種狀態,以及它們之間的轉換關系,即狀態轉換圖。模型是系統的抽象?;谀P偷臏y試是利用模型來生成相應的測試用例,然后根據實際結果和原先預想的結果的差異來測試系統,過程如下圖所示。
三、軟件測試的類型
常見的軟件測試類型有:
BVT (Build Verification Test)
BVT是在所有開發工程師都已經檢入自己的代碼,項目組編譯生成當天的版本之后進行,主要目的是驗證最新生成的軟件版本在功能上是否完整,主要的軟件特性是否正確。如無大的問題,就可以進行相應的功能測試。BVT優點是時間短,驗證了軟件的基本功能。缺點是該種測試的覆蓋率很低。因為運行時間短,不可能把所有的情況都測試到。
原文轉自:http://www.anti-gravitydesign.com