1. 程式人生 > >用一測試面試題來探討測試用例設計的六大思路

用一測試面試題來探討測試用例設計的六大思路

    有這樣一個面試題:在一個Web測試頁面上,有一個輸入框,一個計數器(count)按鈕,用於計算一個文字字串中字母a出現的個數。請設計一系列測試用例用以測試這個Web頁面。

<ignore_js_op>


        有經驗的測試人員可能會問面試官,字母a區分大小寫嗎?只統計英文字母的a嗎?最長輸入字元是多少,最少輸入字元是多少?對輸入的字元型別是否有限制,是否會自動清除不符合要求的字元?
        所以第一步應該是明確需求

,然後我們才開始進行思考如何設計測試用例。
       通常說來,我們考慮一個測試物件的時候至少從以下六方面來考慮:
       1.功能性
       2.相容性
       3.易用性
       4.可靠性
       5.效能
       6.安全

      1.從功能方面考慮:

      輸入:"  "(思路:什麼都不輸入)
      輸入:"null"(思路:特殊值)
      輸入:"Aa"(思路:輸入字元既含大寫字元也有小寫)
      輸入:"abc"(思路:以a開頭)
      輸入:"cac"(思路:a在中間)
      輸入:"aba"(思路:以a開頭,以a結尾)
      輸入:" ba"(思路:以空格開頭含a)
      輸入:"中ba"(思路:以中文或者其他字元開頭含a)
      輸入:"AAaa"(思路:輸入字元僅僅只有大寫A和小寫a)
      輸入:"全形和半形a"(思路:考慮半形和全形符號)

      2.從相容性方面考慮:

      1.各個瀏覽器 顯示是否正確,點選按鈕是否有效
      2.瀏覽器各個版本顯示是否正確,點選按鈕是否有效
      3.是否支援手機端和平板端

      3.從易用性方面考慮:
      1.web介面外觀,風格是否合適
      2.文字輸入框長度是否合適,是否應該預設提示如何輸入
      3.輸入錯誤時提示是否友好
      4.考慮該應用是否支援其他語言。

      4.從可靠性和效能方面考慮:
      1.輸入HTML和JavaScript相關標籤字元,計算是否正確,是否會破壞頁面。
      2.這個應用能否在同一臺伺服器上執行多個例項,多個使用者同時使用是否會有問題。
      3.在大併發下使用,計算速度是否滿足要求

      5.從可靠性和效能方面考慮:
      1.輸入HTML和JavaScrip相關標籤字元,計算是否正確,是否會破壞頁面
      2.這個應用能否在同一臺伺服器上執行多個例項,多個使用者同時使用是否會有問題。
      3.在大併發下使用,計算速度是否滿足要求

      6.從安全性方面考慮:
      1.輸入的資料是否會被儲存,輸入字串可能包含敏感資訊。
      2.嘗試複製/貼上字串。
      3.嘗試快速點選多次計算按鈕
      4.考慮是否有安全漏洞,點選計算按鈕,請求是否會被擷取,導致返回失敗