我是相對較新的白盒測試世界,需要幫助設計我目前正在從事的項目之一的測試計劃。目前我只是尋找可測試的代碼片段,然後爲此編寫一些單元測試。我以某種方式感覺到,這遠遠不是它應該完成的方式。請你能告訴我如何最好地爲測試這個項目做好準備嗎?我可以使用的任何工具或測試計劃模板?正在使用的語言是C++,如果它會有所作爲。如何計劃白盒測試
如何計劃白盒測試
回答
白盒測試的目標之一是覆蓋代碼語句的100%(或儘可能接近)。我建議找到一個C++代碼覆蓋工具,以便您可以看到您的測試執行的代碼以及您錯過的代碼。然後設計測試,以儘可能多的代碼進行測試。
另一個建議是查看if語句中的邊界條件,for循環,while循環等,並針對任何「灰色」區域,假陽性和假陰性測試這些條件。
您還可以設計測試以查看重要變量的生命週期。測試他們的定義,他們的使用和銷燬,以確保他們正確使用:)
有三個想法讓你開始。祝你好運
目前我只是尋找可測試的代碼片段,然後編寫一些單元測試。我以某種方式感覺到,這遠遠不是它應該完成的方式。
人們說的「test driven development」的主要好處之一是,它ecourages你在考慮可測試性設計的組件:它使你的組件更容易測試。
我的個人(非TDD)的方法如下:
- 瞭解需要和實現的功能:既「先驗」(通過讀取/知道軟件功能規範IE),並通過閱讀源代碼來反向設計功能
- 對所有已實現/所需的功能實施黑盒測試(例如,參見'Should one test internal implementation, or only test public behaviour?')。
因此,我的測試不是'白盒子',除了我正在對被測試的功能進行反向工程。然後我測試反向工程功能,並避免有任何無用的(因此未經測試)代碼。我可以(但不經常)使用代碼覆蓋工具來查看黑盒測試執行了多少源代碼。
嘗試「修改代碼的工作」:http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052
這是由「傳統」,因爲相關他的意思是沒有測試的代碼。這也是一本相當不錯的書。
相關工具有:http://code.google.com/p/googletest/和http://code.google.com/p/gmock/ 可能還有其他的單元測試和模擬框架,但我對這些很熟悉,我推薦他們高度評價。
我喜歡這些工具 - 對於Java:JUnit,Mockito;對於C#:NUnit,Moq。如果您正在進行白盒測試,您可能會在更嚴格的模擬框架中找到更多價值 - JMock,EasyMock和RhinoMocks。 – Lunivore 2010-07-20 12:36:54
- 1. 如何測試方法(白盒測試)
- 2. 白盒測試
- 3. Android白盒測試
- 4. android白盒測試
- 5. 是JUnit黑盒還是白盒測試?
- 6. 「單元測試」是否屬於白盒或黑盒測試?
- 7. 術語「白盒測試」和「黑盒測試」是什麼意思?
- 8. 動態黑盒測試與靜態白盒測試
- 9. 單元測試應該是黑盒測試還是白盒測試?
- 10. 的JMeter測試計劃 - 空的測試計劃錯誤
- 11. HPQC C#創建測試計劃測試
- 12. 如何構建驗收測試和測試計劃?
- 13. 功能SpecFlow測試計劃
- 14. 測試@春季計劃
- 15. 測試計劃示例
- 16. JMeter測試計劃驗證
- 17. 是迴歸測試一個白盒測試?
- 18. Javascript中的白盒測試 - 如何處理隱私?
- 19. 如何對void方法執行白盒測試?
- 20. 數據庫設計:測試計劃 - 我的計劃有任何錯誤?
- 21. 黑盒測試計劃,以查看數值是否被硬編碼
- 22. 如何添加參數測試使用VBScript測試計劃的情況下?
- 23. 如何訪問外部測試計劃中存在的不同測試片段
- 24. 你如何保持與測試計劃同步的自動化測試
- 25. 測試一致性附近計劃
- 26. JMeter的控制檯:測試計劃
- 27. JMeter的 - 在同一個測試計劃
- 28. perl測試中的死亡計劃
- 29. c#測試自動化/計劃示例
- 30. JMeter測試計劃登錄問題
但是,如果產品已經實施,剩下的就是測試,會發生什麼? – Draco 2010-05-24 08:23:10
@Draco如果你沒有經過測試或知道如何測試它,那麼我不知道會發生什麼;但它聽起來像沒有被證明是值得信賴的實施。 – ChrisW 2010-05-24 08:37:17
就是這樣。我沒有做任何實施。我所做的只是測試(即白盒)。開發人員在某種程度上進行測試,但我在那裏也可以提供幫助。 – Draco 2010-05-24 08:47:14