我想知道你認爲什麼應該包含在測試現有問題和計劃活動的方法和建議中(作爲軟件戰略的一部分)。謝謝軟件測試方法
軟件測試方法
回答
對我來說,你需要三個級別的代碼測試。在這裏,他們是,從最低到最高級別:
單元測試,用於測試的方法。每個實施的班級有一個測試班。這些測試與特定的實現(某種程度上)有關,並嘗試實現100%的覆蓋率(我在這裏談論功能覆蓋,而不是線路覆蓋,這是毫無意義的)。你可以使用一個模擬框架來讓他們測試行爲而不是你的對象狀態。
系統/集成測試它們測試應用程序組件之間的所有交互。不僅限於測試一個獨特的類,他們更願意測試一個特定的外部訪問來確保它按預期工作。一個很好的例子是數據庫訪問的CRUD測試(創建,讀取,更新,刪除):儘管單元測試會使用模擬數據庫層,但相關的系統測試使用真正的測試(當然是在開發環境中)。 Http調用外部服務器也是這個測試層的一部分。
驗收測試(理想情況下使用的測試框架像
FITnesse
JBehave
或針對Java,但可使用簡單的JUnit測試完成) - 這些測試是用於接受高級別標準。理想情況下,與最終用戶或業務分析師一起(或與他們合作)編寫,它們將作爲系統的文檔,以及開發人員正在處理的每個故事/任務的界限。在重構相關功能期間,它們應該而不是更改,並且在修改實現時仍然通過。事實上,他們是你的利益,你的證明成功的重構。理想情況下,它們可由非編碼人員讀取(例如,使用wiki頁面爲FITnesse
),以充當您的項目功能的動態文檔。
上述所有測試應該是持續集成構建的一部分,這是觸發每次有人添加或修改代碼庫。如果任何測試失敗,那麼整個構建失敗,沒有人應該檢查其他任何東西,直到它被修復。
除此之外,您還應該計劃:
迴歸測試這通常是一個持續集成服務器來實現的。每個構建都將重新運行所有測試,確保您沒有破壞以前的工作特性。
對帳測試測試一般運行時測試無法捕獲的所有內容。例如,如果某個應用程序對數據庫羣進行了一些處理,則可能需要在完全填充的數據庫的兩個連續版本上運行協調程序,以確保您沒有破壞實際生產中的任何數據數據。這些測試通常需要很長時間才能完成(重新處理整個數據庫),因此通常無法將其添加到自動構建中。通常在獲得發行版的綠燈之前完成。肯特·貝克
- 1. 軟件測試
- 2. 軟件測試
- 3. Java軟件測試
- 4. 軟件測試與軟件評估
- 5. 什麼是Subsytem軟件測試測試
- 6. 兼容性測試和其他測試方法,以建立軟件時使用
- 7. 微軟Shims無法調試測試方法
- 8. 基於部分單元測試的軟件方法論
- 9. 如何測試軟件AG的性能 - Web方法的實現?
- 10. JUnit測試方法,測試add方法
- 11. 負載測試軟件
- 12. 軟件測試FAT執行
- 13. 軟件測試術語
- 14. 測試「over the wall」軟件
- 15. 軟件測試建議?
- 16. Jmeter軟件測試儀
- 17. 軟件測試術語
- 18. 測試工具軟件
- 19. 自動軟件測試
- 20. 軟件測試和軟件檢測有什麼不同?
- 21. 測試方法
- 22. 測試方法
- 23. 軟件測試面試準備
- 24. 什麼是測試郵件列表軟件的最佳方式?
- 25. 微軟單元測試失敗,無法加載DLL來測試
- 26. 測試__call方法
- 27. 測試django方法
- 28. JUNIT - 測試方法
- 29. RSpec方法測試
- 30. @RabbitListener方法測試
相關和有趣的閱讀:http://stackoverflow.com/questions/153234/how-deep-are-your-unit-tests/153565#153565 – stivlo
你的問題很模糊。你能更精確嗎? – Raedwald