如何設計測試用例

2022-08-18 12:09:15 字數 2236 閱讀 1459

乙個質量過硬的軟體系統,除了顯式功能性需求以外,其他的非功能性需求即隱式功能性需求也是極其關鍵的。

顯式功能性需求(functional requirement):從字面上就可以很好地理解,指的是軟體本身需要實現的具體功能, 比如「正常使用者使用正確的使用者名稱和密碼可以成功登入」、「非註冊使用者無法登入」等,這都是屬於典型的顯式功能性需求描述。

非功能性需求(non-functional requirement):從軟體測試的維度來看,非功能性需求主要涉及安全性、效能以及相容性三大方面。 

針對「使用者登入」設計測試用例:

1. 輸入已註冊的使用者名稱和正確的密碼,驗證是否登入成功;

2. 輸入已註冊的使用者名稱和不正確的密碼,驗證是否登入失敗,並且提示資訊正確;

3. 輸入未註冊的使用者名稱和任意密碼,驗證是否登入失敗,並且提示資訊正確;

4. 使用者名稱和密碼兩者都為空,驗證是否登入失敗,並且提示資訊正確;

5. 使用者名稱和密碼兩者之一為空,驗證是否登入失敗,並且提示資訊正確;

6. 如果登入功能啟用了驗證碼功能,在使用者名稱和密碼正確的前提下,輸入正確的驗證碼,驗證是否登入成功;

7. 如果登入功能啟用了驗證碼功能,在使用者名稱和密碼正確的前提下,輸入錯誤的驗證碼,驗證是否登入失敗,並且提示資訊正確。

擴充套件:1. 使用者名稱和密碼是否大小寫敏感;

2. 頁面上的密碼框是否加密顯示;

3. 後台系統建立的使用者第一次登入成功時,是否提示修改密碼;

4. 忘記使用者名稱和忘記密碼的功能是否可用;

5. 前端頁面是否根據設計要求限制使用者名稱和密碼長度;

6. 如果登入功能需要驗證碼,點選驗證碼是否可以更換驗證碼,更換後的驗證碼是否可用;

7. 重新整理頁面是否會重新整理驗證碼;

8. 如果驗證碼具有時效性,需要分別驗證時效內和時效外驗證碼的有效性;

9. 使用者登入成功但是會話超時後,繼續操作是否會重定向到使用者登入介面;

10. 不同級別的使用者,比如管理員使用者和普通使用者,登入系統後的許可權是否正確;

11. 頁面預設焦點是否定位在使用者名稱的輸入框中;

12. 快捷鍵 tab 和 enter 等,是否可以正常使用

安全性測試用例包括:

1. 使用者密碼後台儲存是否加密;

2. 使用者密碼在網路傳輸過程中是否加密;

3. 密碼是否具有有效期,密碼有效期到期後,是否提示需要修改密碼;

4. 不登入的情況下,在瀏覽器中直接輸入登入後的 url 位址,驗證是否會重新定向到使用者登入介面;

5. 密碼輸入框是否不支援複製和貼上;

6. 密碼輸入框內輸入的密碼是否都可以在頁面原始碼模式下被檢視;

7. 使用者名稱和密碼的輸入框中分別輸入典型的「sql 注入攻擊」字串,驗證系統的返回頁面;

8. 使用者名稱和密碼的輸入框中分別輸入典型的「xss 跨站指令碼攻擊」字串,驗證系統行為是否被篡改;

9. 連續多次登入失敗情況下,系統是否會阻止後續的嘗試以應對暴力破解;

10. 同一使用者在同一終端的多種瀏覽器上登入,驗證登入功能的互斥性是否符合設計預期;

11. 同一使用者先後在多台終端的瀏覽器上登入,驗證登入是否具有互斥性。

效能壓力測試用例包括:

1. 單使用者登入的響應時間是否小於 3 秒;

2. 單使用者登入時,後台請求數量是否過多;

3. 高併發場景下使用者登入的響應時間是否小於 5 秒;

4. 高併發場景下服務端的監控指標是否符合預期;

5. 高集合點併發場景下,是否存在資源死鎖和不合理的資源等待;

6. 長時間大量使用者連續登入和登出,伺服器端是否存在記憶體洩漏。

相容性測試用例包括:

1. 不同瀏覽器下,驗證登入頁面的顯示以及功能正確性;

2. 相同瀏覽器的不同版本下,驗證登入頁面的顯示以及功能正確性;

3. 不同移動裝置終端的不同瀏覽器下,驗證登入頁面的顯示以及功能正確性;

4. 不同解析度的介面下,驗證登入頁面的顯示以及功能正確性。

「好的」測試用例一定是乙個完備的集合,它能夠覆蓋所有等價類以及各種邊界值,而跟能否發現缺陷無關。

乙個「好的」測試用例,必須具備以下三個特徵。

1. 整體完備性: 「好的」測試用例一定是乙個完備的整體,是有效測試用例組成的集合,能夠完全覆蓋測試需求。

2. 等價類劃分的準確性: 指的是對於每個等價類都能保證只要其中乙個輸入測試通過,其他輸入也一定測試通過。

3. 等價類集合的完備性: 需要保證所有可能的邊界值和邊界條件都已經正確識別。

對大多數的軟體測試而言,綜合使用等價類劃分、邊界值分析和錯誤推測這三大類方法就足夠了。

如何設計測試用例

測試基礎 測試用例 測試用例 test case 是為某個特殊目標而編制的一組測試輸入 執行條件以及預期結果,以便測試某個程式路徑或核實是否滿足某個特定需求。測試用例作用 檢驗是否滿足客戶需求 度量測試人員的工作量 展現測試用例的思路。測試用例包含 用例編號 唯一的編號。用例名稱 言簡意賅,描述準確...

如何設計測試用例

用例設計原則 存在關聯業務的測試點的考慮 常用測試設計方法 測試型別分析法 將乙個功能點按照不同的測試型別進行劃分,針對每乙個測試型別都進行測試點設計的分析方法。舉例說明 功能測試 效能測試 壓力測試 可靠性測試 相容性測試 安全性測試 容錯測試 功能測試常規測試點 基本流程測試 單個輸入框測試 邊...

如何設計測試用例

網路 測試工作最為基礎核心的內容就是設計測試用例,什麼樣的測試用例是好的測試用例?我們一般會認為數量越少,發現缺陷越多的用例就是最好的用例。那麼我們如何才能設計出好的測試用例呢?乙份好的用例是設計出來的,是測試人員思路和方法的集合,而非測試邏輯和需求的羅列。測試用例設計的幾個準則 1 用例設計 思路...