|
本文為作者在使用Junit做單元測試時測試計劃中的一部分,在這里共享出來,希望大家多指教。 1、 類測試階段 l 確保類實例滿足類的設(shè)計描述; l 測試驅(qū)動:使用Junit實現(xiàn)獨立的測試類; l 類的實例方法沒有和任何類交互的確保覆蓋100%; l 先測試沒有交互的類,然后逐步組合測試; l 使用Code Coverage工具進行類代碼覆蓋測試; l 類測試用例確定方法之一:根據(jù)前置和后置狀態(tài)確定測試用例(前置條件中可指定輸入值,包括常見值和邊界值,來增加測試用例的測試覆蓋率),根據(jù)前置和后置條件的不同組合方式產(chǎn)生不同的測試用例具體測試方法體; l 類測試用例確定方法之二:根據(jù)代碼確定測試用例。所有Public聲明的方法都需要被測試(確定的);Protected和Frendly聲明的方法有所選擇的被測試(模糊的);所有Private聲明的方法都被禁止測試(確定的)。 l 類測試用例確定方法之三:根據(jù)狀態(tài)轉(zhuǎn)換確定測試用例。 l 用例命名方式:1、根據(jù)用例方法命令;2、根據(jù)前置條件和后置狀態(tài)命名。 l 盡量使測試代碼不依賴于數(shù)據(jù)(不要因為外部數(shù)據(jù)不同而產(chǎn)生不同結(jié)果)。 l 進行語句覆蓋率分析。
2、 功能確認與接口測試測試階段 l 用例按照需求描述(軟件概要設(shè)計說明書和詳細設(shè)計說明書)確定,再編寫測試代碼來滿足需求描述的功能; l 驗證程序和詳細設(shè)計說明的一致性; l 功能確認與接口測試范圍:單元接口、局部數(shù)據(jù)結(jié)構(gòu)、重要的執(zhí)行路徑、錯誤處理的路徑、影響上述幾點的邊界條件 l 先是簡單功能驗證測試,通過后再進行該功能的復(fù)合功能測試; l 簡單功能測試都通過則進行條件組合搭配測試,路徑覆蓋測試; l 測試邊界條件:未初始化、Null值、最大最小值、臨界值、初始值等; l 檢驗每個軟件單元模塊能否正確的實現(xiàn)其功能,滿足其性能和接口要求; l 單元測試中測試每個單元模塊,集成測試中進一步把單元組裝成部件并測試其正確性; l 進行邏輯覆蓋率分析。 3、 性能與效率測試階段 l 單個功能運行時間分析; l 選取典型測試用例使用JUnitPerf工具多線程持續(xù)運行觀察運行情況; l 單個函數(shù)的性能分析、函數(shù)的調(diào)用頻率分析、代碼執(zhí)行頻率分析、響應(yīng)時間、并發(fā)性; l 在源代碼的入口與出口進行插樁,然后收集時間數(shù)據(jù)來測量代碼的運行時間與調(diào)用次數(shù); l 針對影響性能的代碼段作優(yōu)化處理; 4、 內(nèi)存分析 l 內(nèi)存分配未成功,卻使用了它 l 內(nèi)存分配雖然成功,但是尚未初始化就引用它 l 內(nèi)存分配成功并且已經(jīng)初始化,但操作越過了內(nèi)存的邊界 l 忘記了釋放內(nèi)存,造成內(nèi)存泄露 l 釋放了內(nèi)存卻繼續(xù)使用它 l 使用全局測試工具分析(OptimizeIt,Jprobe等) |
|
|