2012-10-13 129 views
0

我有在測試自動化設計問題: -如何編寫自動測試 - 測試案例作爲一個函數或測試用例作爲一類

要求 - 需要測試不同的服務器(使用UNIX控制檯,而不是GUI)通過自動化框架。我要運行的測試 - 單元,系統,集成

問題:在設計測試用例時,我想測試用例應該是測試套件的一部分(測試套件是類),只是就像我們在Python的pyunit框架中一樣。但是,我們是否應該將測試用例作爲可伸縮自動化框架的函數來保存,還是應該將測試用例保存爲單獨的類(每個類都有自己的設置,運行和拆卸方法)?從自動化的角度來看,將測試用例作爲一個類可擴展,可維護或作爲一個功能的想法?

回答

0

正常情況下,測試用例被用作類而不是函數,因爲每個測試用例都有自己的設置數據和初始化機制。將測試用例作爲一個單一函數實現將不僅難於在運行任何測試用例之前設置測試數據,而且如果您正在運行相同的測試場景,則可以在測試用例類中使用不同的測試方法。

0

以下是我的意見:

編寫測試優點是功能:

  • 如果您需要任何先決條件對於測試的情況下,只需要調用另一個函數提供預必要條件。對拆解步驟做同樣的事情
  • 看起來很簡單,在團隊中的新人。易undertstand所發生的事情通過觀察測試,功能

缺點寫作的測試,功能:

  • 不維護的 - 因爲如果有測試數量龐大,其中 同種需要先決條件,測試用例作者必須 保持調用測試用例中的每個先決條件函數。同樣 測試用例

  • 如果裏面有很多的測試用例那麼多的電話這樣的先決條件功能,內部的每個拆除,如果在產品功能等有什麼變化,你需要手動的做出許多努力再次放置。

優點的書寫測試用例類:

  • 安裝,運行和拆除有明確的規定。測試前提條件很容易理解
  • 如果測試1有一定的作用並且測試1的結果被用作測試2和測試3中的設置先決條件,那麼它很容易從測試1繼承而來,並且調用其設置,首先運行拆卸方法,然後繼續測試。這有助於使測試彼此獨立。在這裏,你不需要努力維護你的代碼的實際調用。它會由於繼承而隱含地完成。
  • 有時,如果測試1的設置方法和測試2的運行方法可能成爲另一測試3的先決條件。在這種情況下,只需從Test 1和Test 2類以及Test 3的設置方法中繼承,就可以調用Test 1的設置並運行Test 2.同樣,您不需要維護實際代碼的調用,因爲您正在調用設置和運行方法,這些方法從框架的角度進行了嘗試和測試。寫測試用例作爲類的

缺點:

  • 當試驗數量的增加,你不能尋找到一個特定的測試,並說,它做什麼,因爲它可能繼承了這麼多的水平你不能回溯。 但是,它周圍有一個解決方案 - 在每個測試用例的每個設置,運行和拆卸方法中編寫文檔字符串。並且,編寫一個自定義包裝來爲每個測試用例生成文檔字符串。 While /繼承後,您應該提供一個選項,以將特定函數(setup,run,teardown)的docstring添加/刪除到繼承函數。這樣,您可以運行該包裝並從其文檔字符串獲取有關測試用例的信息