測試人員最主要的測試行為就是通過運行事先設計好的測試用例來發現
php?name=%C8%ED%BC%FE">軟件中存在的問題,然后通過書寫問題報告提供給
開發人員,從而使得軟件的問題得到修改。
所以測試用例是用來發現軟件問題的方法,但是卻不是唯一發現問題的方法。一般來說,測試用例主要是模仿真實
用戶的操作。所以設計測試用例的時候除了要考慮其有效性外,還要考慮覆蓋性,而且要考慮到執行效率。
因為軟件
系統的種類繁多,所以無法設計出一個公用的模板去使用,而且,測試用例的目的是模擬用戶的操作,所以應該靈活的書寫而不居于一格。
我們來看下面的例子:
一個頁面,包含了一些文本,圖片,一個輸入域,兩個按鍵。
這是表面的我們能夠感知認識的,可以稱之為測試元素,或者測試對象。
另一些就是這些元素或者對象包含的邏輯操作。
下面我們來考慮如何書寫測試用例:
從UI測試的角度:我們要考慮的是整個頁面的布局是否合理;頁面中的顯示的圖片,文本,輸入域和按鍵是否正確;圖片的大小是否合適;文本的字體,風格和顏色是否正確;文本中是否有錯誤的拼寫;按鍵和輸入域的位置是否合適等等方面。
從
性能測試的角度:
如果頁面中包含了比較大的圖片,我們可以測試多個用戶同時刷新該頁面的時間響應度。這樣我們設計測試用例的時候就可以記錄1個用戶刷新的時間,10個用戶刷新的時間,50個用戶刷新的時間,100個用戶刷新的時間,200個用戶刷新的時間。通過記錄這些時間可以得到這些比較大的圖片的存在是否能夠影響頁面刷新的速度。
如果頁面的功能主要是將輸入域中的內容存入
數據庫,我們可以測試在多少個用戶的情況下可以正確的將數據存儲。這樣我們在設計測試用例的時候就可以在一個短時間內設置一個數據量將其存入數據庫,通過分析數據庫的信息我們可以得出輸入數據存入數據庫的有效性的范圍。
如果我們想通過不斷引導這頁,測試整個系統的穩定性和
可靠性,也可以通過設計一個包含本頁面的測試用例來實現。
從功能測試的角度:
測試本頁面的功能,可以從幾個方面考慮。正確的數據正確的方法,正確的數據錯誤的方法,錯誤的數據正確地方法,錯誤的數據錯誤的方法。
也可以結合其他頁面,傳遞正確的數據出去;或接受數據進來,傳遞出去,檢測有效性。
可以針對文本域,對其文本域的特性進行測試。
可以針對兩個按鍵,對其按鍵的特性分別進行測試。然后組合他們測試。
由上面的例子我們可以看出來,一個測試用例怎么寫,取決于你要作甚么,系統是什么樣的等等因素。所以最好是選擇一個比較能夠覆蓋軟件并且能夠盡量接近測試目標的方法去書寫用例,然后由其他方法進行補充。
而且我們可以制定一個一般規范,就是列出一個測試用例一般應該包含什么:
測試用例序號:
簡單描述:通過閱讀描述能夠了解測試用例測試的主要目的和對象
狀態:記錄測試用例運行后的狀態,一般為通過,
失敗和阻斷。
執行日期:測試用例被測試的日期
產品版本號:測試用例在那個產品版本上運行的
CC%CA%A6">測試工程師:測試用例被那個工程師運行
詳細描述:如果有一些背景資料和必要的功能描述可以在這里提供給測試工程師
環境和設置:提供給測試工程師一些特殊的配置方法和
測試環境運行步驟和測試點
而且我們可以通過建立一個表格來跟蹤這些寫好的測試用例的狀態。
首先,由一些熟悉系統的人員劃分功能區域,然后設定該功能區域的測試點。然后盡可能的書寫各個測試點要測試的內容。作為測試描述填入表中。然后由其他測試人員進行測試的書寫。并最后由部分人員進行review對功能和測試對象特性的覆蓋率和準確率進行評估。 這樣就比較容易跟蹤系統現有測試用例的覆蓋廣度和深度。