2012-02-16 104 views
6

我如何知道Selenium中應該是什麼樣的測試案例和測試套件? 它有任何一般規則嗎?我讀過seleniumhq網站的其他幾個,但 他們只有一些基本的例子,而我想測試整個網站。硒測試案例與測試套件對比一般用法

我的問題是,例如:

  1. 說我是測試一些多步驟web表單。我應該讓它成爲一個測試套件,並且每個步驟(以Web形式)將是單個測試用例還是所有步驟都應該是一個測試用例?

  2. 說我已經建立了一個網絡論壇,我想測試它的幾個功能。我是否可以製作一個 測試套件,並且每個測試用例都測試每個功能(或每個功能的幾種情況)或 我將擁有許多測試套件,每個套件測試一個功能並附帶一些測試用例。

  3. 如果我有一個包含5個複選框的表單怎麼辦 - 它們中的每一個都可以明顯點擊 或不是。我提交表單時可能會產生一些後果。所以 - 理論上有2^5 = 32 可能的執行流程。我應該測試所有32?或者,也許我應該分別測試每個複選框 以簡化事情。什麼時候可以/應該簡化?什麼時候不可以? (假設複選框可能與 有某種相關性)。

  4. 是否每個功能都有測試用例,既可以測試正面效果,也可以測試否定效果? 例如,我應該只關注正確的工作流程 - 即提交有效表格並查看 網站是否按照我要求(工作)的方式進行了操作,還是提交了空白表格並檢查是否出現錯誤消息 。

你能回答這些給出一些實際的例子(如果需要)嗎? - 也許使用一些(StackOverflow?) 網站作爲示例網站。

回答

6

答案爲1和2:

我認爲這更多的是測試設計比硒的問題。將Selenium看作是一個像用戶一樣控制瀏覽器/網站的工具。它模擬用戶點擊頁面。要知道測試用例是什麼以及什麼是測試套件,您應該考慮要測試的Web應用程序的功能。比方說,你有網上商店比一個測試用例可以測試以下用例:

  • 用戶放入購物車的文章
  • 用戶輸入他的數據(名稱等)
  • 用戶得到他的命令
  • 摘要
  • 用戶確認訂單

這取決於您的應用程序您想要測試的工作流程或功能。 我會考慮整個項目的測試套件,以便爲一個Web應用程序提供一個套件。這個應用程序有很多測試用例。每個測試用例都是一個用例。

在構建測試套件時,考慮一些設計模式(如ui-mapping,頁面對象設計)並考慮測試管理系統(如Java中的TestNG)的優點。 這裏有一些鏈接到:

回答到3和4:

它類似於圖1和2這總是一個問題,你想要什麼測試。或者您的項目負責人希望您測試的問題(或客戶)。每個重要的功能都應該被測試。

+0

真的很好的答案。很好地提取元問題並回答他們和實際問題。 +1 – 2012-02-18 03:03:06