1、測試用例的定義
測試用例就是設計一個場景,使軟件程序在這種場景下,必須能夠正常運行並且達到程序所設計的執行結果。
2、測試用例的目的
在開始實施測試之前設計好測試用例,可以避免盲目測試並提高測試效率
測試用例的使用令軟件測試的實施重點突出、目的明確
在軟件版本更新后只需修正少部分的測試用例便可展開測試工作,降低工作強度、縮短項目周期
檢驗軟件是否滿足客戶需求、體現一個測試人員的工作量、展現測試用例的設計思路
3、測試用例的核心要素
重點:用例編號(如何命名)、所屬模塊、用例標題(驗證誰在什么情況下,去做什么,最后結果是什么)、優先級、前置條件、操作步驟、測試數據、預期結果、實際結果
次要:是否通過、bugID、編寫人員、編寫時間、測試人員、測試時間、備注
三個核心要素:標題,步驟,預期結果
標題:是對測試用例的描述,標題應該清楚的表達測試用例的目的
步驟:對測試執行過程的描述
預期結果:提供測試執行的預期結果,預期結果一般是根據產品需求得出,如果實際結果和預期結果一致則測試通過;反之失敗
4、等價類划分
1)定義:等價類划分是把所有可能輸入的數據分為若干個區域,然后從每個區域中取少量有代表性的數據進行測試即可
2)等價類:就是某個輸入域的集合,在這個集合中每個輸入條件都是等效的
3)分類:一般可以分為有效等價類和無效等價類
有效等價類:指符合《需求規格說明書》,輸入合理的數據集合
無效等價類:不符合《需求規格說明書》,輸入不合理的數據集合
4)類型
取值范圍型:輸入學生成績0-100
恆等類型:只有一個結果正確,其他都是錯誤
布爾值:通過是否來進行選擇
枚舉類型:給出選項,只要符合其中任意一個就可以
規則類型:給定要求,滿足要求的就可以,如郵箱
在任意文本輸入框中可以填寫的字符類型:中文、英文、特殊符號、空格、數字
5、邊界值分析法
1)定義:邊界值分析是取稍高於或稍低於邊界的一些數據進行測試
2)舉例說明:某個輸入框可以輸入學生成績,范圍在0-100
邊界值:-1 0 1 50 99 100 101
6、探索性測試
1)對頁面上的組件進行多次點擊是測試人員經常使用的小技巧之一,主要集中在用戶提交服務器請求后服務器進行處理的相關功能,如:讀取(查),保存(改),提交(增),刪除(刪)等功能
2)如果網絡速度比較慢或者產品本身性能不夠好,在用戶點擊了這些功能按鈕后,而頁面刷新完成之前這段時間內,該功能按鈕仍然可能被用戶繼續點擊,即使有些頁面上的按鈕處於灰色不可用狀態,但當你嘗試點擊這些灰色的按鈕,會發現點擊 后仍然會給服務器端發送請求
3)舉例說明:對於保存功能,用戶多次點擊后會向后台發送多次請求,數據庫中也會產生多條重復的數據,這樣不僅會造成數據統計錯誤,更會給再次使用這些數據的人或程序造成很大的麻煩。一個更極端的例子是免密碼支付的場景,當用戶不小心多次點擊支付的按鈕后,會給用戶造成不小的損失;對於刪除功能來說,多次點擊“刪除”按鈕后,實際上第一個請求已經讓數據庫將對應的數據刪除了,接下來的刪除請求可能會造成后台程序的大量異常。
4)解決方案:只允許對該類功能按鈕操作一次,在用戶操作之后,不僅需要把對應的功能按鈕置灰,同時需要取消這些功能按鈕上面綁定的事件響應處理機制
7、場景法 參考:https://zhuanlan.zhihu.com/p/127787256
1)定義:場景法是一種通過使用“場景”對軟件系統的功能點或業務流程進行描述,即針對需求模擬出不同的場景進行所有功能點及業務流程的覆蓋,從而提高測試效率並達到良好效果的方法
2)對於單點功能來說,利用等價類划分、邊界值分析、判定表等用例設計方法就能夠解決大部分問題。而涉及業務流程的軟件系統,采用場景法比較合適
3)當拿到一個測試任務時,我們並不是先關注某個控件的細節測試(等價類+邊界值+判定表等),而是要先關注主要業務流程和主要功能是否正確實現,這就需要使用場景法。當業務流程和主要功能沒有問題,我們再從等價類、邊界值、判定表等方面對控件細節進行測試(先整體后細節)
4)場景法測試用例設計的重點是測試業務流程是否正確,測試時需要注意的是,業務流程測試沒有問題並不代表系統的功能都正確,還必須對單個功能進行詳細的測試,這樣才能保證測試的充分性
8、錯誤推測
錯誤猜測是一項依賴於直覺的非正規的過程,其基本思想是人們利用直覺和經驗猜測可能犯得錯誤或錯誤易發情況的清單,然后編寫測試用例來暴露這些錯誤