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