標籤:
一、情境法
情境法就是類比使用者操作軟體時的情境,主要用於測試系統的商務程序。當拿到一個測試工作時,我們並不是先關注某個控制項的邊界值、等價類別是否滿足要求,而是先要關注它的主要功能和商務程序是否正確實現,這就需要使用情境法來完成測試。當商務程序測試沒有問題,也就是該軟體的主要功能沒有問題時,我們再重點從邊界值、等價類別等方面對控制項進行測試。
在煙霧測試 (Smoke Test)時也主要採用情境法進行測試進行測試。
1.1 情境法中重要的概念
(1)基本流:按照正確的商務程序來實現的一條操作路(也就是類比正確的操作流程);
(2)備選流: 導致程式出現錯誤的操作流程(So,類比錯誤的操作流程)。
給大家截了個圖,可以參考一下:
1.2 情境法的基本設計步驟
(1)根據說明,描述出程式的基本流及各項備選流;
(2)根據基本流和各項備選流產生不同的情境;
(3)對每一個情境產生相應的測試案例。
案例:
使用情境法設計ATM機取款功能的測試案例
步驟一:根據說明,描述出程式的基本流及各項備選流;
步驟二:根據基本流和各項備選流產生不同的情境
步驟三:對每一個情境產生相應的測試案例,例如:
大家可以試著編寫更好的測試案例,在之後,我也會相繼給大家寫一些或上傳比較好的用例,我認為還是可以的\(^o^)/~
二、狀態圖
給大家展示的狀態圖轉換法案例:貨幣轉換器
2.1.1案例示範
輸入人民幣金額,選擇要轉換的國家,再輸入匯率,即可計算所輸入的人民幣等價的貨幣金額。
使用者的操作可能是:
輸入人民幣金額->選擇國家->輸入匯率->點擊“計算”按鈕;
選擇國家 ->輸入匯率->輸入人民幣金額->點擊“計算”按鈕;
輸入人民幣金額->選擇國家->點擊“清除”按鈕。。。
2.1.2兩個重要的概念
1、軟體的狀態
軟體運行到某個時刻所處的情況
例如:
(1)剛剛啟動處於“空閑”狀態;
(2)輸入人民幣金額以後變為“人民幣金額已輸入”狀態;
(3)所有輸入正確完成後,點擊“計算”按鈕,程式應該處於“顯示等價金額”狀態;
(4)點擊“清除”按鈕後處於清除狀態。
2、輸入的動作
使用者向軟體進行的操作
例如:
(1)輸入人民幣金額
(2)點擊某個國家選項按鈕
(3)點擊“計算”按鈕
2.2 狀態轉換圖法
找出軟體所有的狀態以及導致這些狀態發生變化的所有輸入動作,進而用圖形的方法把相關聯的輸入動作和狀態聯絡在一起,真實類比使用者的操、作順序流程。
2.2.1 狀態轉換圖法的核心
(1)軟體所有的狀態
(2)導致狀態發生變化的所有輸入動作
2.2.2 使用狀態轉換圖法的步驟
(1)找出程式的所有輸入動作,
並進行編號列出使用者能夠向軟體輸入的每一個獨立的動作,並進行編號;
(2)找出程式的所有狀態,
可以認為使用者每輸入一個動作就會使程式的狀態發生變化,如果不能決定是否為一個獨立狀態,可以先假設“是”
(3)找出什麼動作會導致什麼狀態發生,畫出狀態轉換圖(一般情況下這是一個反覆的過程);
(4)把相關聯的動作和狀態聯絡起來,設計測試案例。
例子:
使用狀態轉換圖法分析貨幣轉換器程式
步驟一:找出程式的所有輸入動作,並進行編號;
步驟二:找出程式的所有狀態
可以認為使用者每輸入一個動作就會使程式的狀態發生變化
1.系統啟動後處於空閑狀態
2.人民幣金額已輸入狀態
3.國家已選擇狀態
4.國家已選擇、匯率已輸入狀態
5.人民幣金額已輸入、國家已選擇狀態
6.所有輸入完成狀態
7.顯示等價金額狀態
8.錯誤提示狀態
(1)人民幣未輸入或輸入錯誤;
(2)國家未選擇錯誤;
(3)匯率未輸入或輸入錯誤。
9.清除狀態
把清除狀態看做空閑狀態也可以
10.退出狀態
步驟三:找出什麼動作會導致什麼狀態發生,畫出狀態轉換圖(一般情況下這是一個反覆的過程)
第1輪、將所有可能的輸入單獨載入到被測系統的空閑狀態,得到新的狀態
第2輪、將所有可能的輸入單獨載入到上一步得到的每一個狀態中,再得到新的狀態。
第3輪、1.先找到主要動作和狀態
第3輪、2.先找到次要動作和狀態
第4輪、1.先找主要動作和狀態
第4輪、2.先找次要動作和狀態
第5輪
步驟四:根據狀態轉換圖,把相關聯的動作和狀態聯絡起來,設計測試案例
(1)先寫主要操作(功能比較重要或使用者操作比較頻繁的動作),後寫次要操作。
(2)為了減少測試案例數量,一條測試案例最好沿著狀態轉換圖的一條路徑編寫完。
以此類推,寫出所有測試案例。。。
最後給大家總結了狀態轉換圖法小知識點:
(1)每種狀態至少訪問一次。無論用什麼方法,每一種狀態都必須測試。
(2)測試看起來最常見最普遍的狀態轉換。可以根據產品說明書,通過與客戶、開發人員溝通,瞭解哪些操作更常用、更重要。
(3)測試狀態之間最不常用的分支。這些分支是最容易被產品設計者和程式員忽視的。
(4)測試所有錯誤狀態及其傳回值。錯誤沒有得到正確處理、錯誤提示資訊不正確等情況是常有的。
3.7盒測試方法 之 業務路徑覆蓋法