軟件測試評估
軟件測試評估是指對未正式投入商業化使用的軟件進行預先的小規模試驗,又稱小試。主要是由代碼審查和合理性分析組成。
內容簡介
每個人都承認代碼審查的花銷大,而且又耗時,特別是當大家忙完成軟件項目又把它送去軟件測試部門時。對一些開發人員來說,它更是會引發更多的辦公室政治和流言蜚語。
一次代碼審查可能會使代碼逐漸得到改進。如果你認為你從有效的代碼審查中只是稍微改進了一下軟件,那你需要再想一想。以下五點易忽視的原因會給你些許啟發。
軟件測試方法
黑盒測試
黑盒測試顧名思義就是將被測系統看成一個黑盒,從外界取得輸入,然后再輸出。整個測試基于需求文檔,看是否能滿足需求文檔中的所有要求。黑盒測試要求測試者在測試時不能使用與被測系統內部結構相關的知識或經驗,它適用于對系統的功能進行測試。
黑盒測試的優點有:
1)比較簡單,不需要了解程序內部的代碼及實現;
2)與軟件的內部實現無關;
3)從用戶角度出發,能很容易的知道用戶會用到哪些功能,會遇到哪些問題;
4)基于軟件開發文檔,所以也能知道軟件實現了文檔中的哪些功能;
5)在做軟件自動化測試時較為方便。
黑盒測試的缺點有:
1)不可能覆蓋所有的代碼,覆蓋率較低,大概只能達到總代碼量的30%;
2)自動化測試的復用性較低。
白盒測試
白盒測試是指在測試時能夠了解被測對象的結構,可以查閱被測代碼內容的測試工作。它需要知道程序內部的設計結構及具體的代碼實現,并以此為基礎來設計測試用例。如下例程序代碼:
hresult play( char* pszfilename )
{
if ( null == pszfilename )
return;
if ( state_opened == currentstate )
{
playthefile();
}
return;}
讀了代碼之后可以知道,先要檢查一個字符串是否為空,然后再根據播放器當前的狀態來執行相應的動作。可以這樣設計一些測試用例:比如字符串(文件)為空的話會出現什么情況;如果此時播放器的狀態是文件剛打開,會是什么情況;如果文件已經在播放,再調用這個函數會是什么情況。也就是說,根據播放器內部狀態的不同,可以設計很多不同的測試用例。這些是在純粹做黑盒測試時不一定能做到的事情。
白盒測試的直接好處就是知道所設計的測試用例在代碼級上哪些地方被忽略掉,它的優點是幫助軟件測試人員增大代碼的覆蓋率,提高代碼的質量,發現代碼中隱藏的問題。
白盒測試的缺點有:
1)程序運行會有很多不同的路徑,不可能測試所有的運行路徑;
2)測試基于代碼,只能測試開發人員做的對不對,而不能知道設計的正確與否,可 能會漏掉一些功能需求;
3)系統龐大時,測試開銷會非常大。
基于風險測試
基于風險的測試是指評估測試的優先級,先做高優先級的測試,如果時間或精力不夠,低優先級的測試可以暫時先不做。有如下一個圖,橫軸代表影響,豎軸代表概率,根據一個軟件的特點來確定:如果一個功能出了問題,它對整個產品的影響有多大,這個功能出問題的概率有多大?如果出問題的概率很大,出了問題對整個產品的影響也很大,那么在測試時就一定要覆蓋到。對于一個用戶很少用到的功能,出問題的概率很小,就算出了問題的影響也不是很大,那么如果時間比較緊的話,就可以考慮不測試。
基于風險測試的兩個決定因素就是:該功能出問題對用戶的影響有多大,出問題的概率有多大。其它一些影響因素還有復雜性、可用性、依賴性、可修改性等。測試人員主要根據事情的輕重緩急來決定測試工作的重點。
基于模型測試
模型實際上就是用語言把一個系統的行為描述出來,定義出它可能的各種狀態,以及它們之間的轉換關系,即狀態轉換圖。模型是系統的抽象。基于模型的測試是利用模型來生成相應的測試用例,然后根據實際結果和原先預想的結果的差異來測試系統。
- 上一篇:軟件企業評估
- 下一篇:CMMI軟件成熟度產品認證