黑盒測試用例設計方法之:狀態遷移法


 

網上查找了大量關於狀態遷移法的知識,都沒有得到自己想要的內容,因此自己動手來記錄這個測試用例設計方法,首先我在mantis上篩選了一些常用的缺陷狀態,如下;

新建 new 測試人員新建一個缺陷記錄
已分派 assigned 將缺陷指派給對應的開發
已確認 confirmed 開發確認這是的確是缺陷,並且后續會處理
打回 feedback 開發認為這不是缺陷,打回給測試,不做修改
已打開但未處理 open 將缺陷置為打開狀態,開始修改
已解決但未驗證 resolved 缺陷已被開發修改,但沒有被測試
已解決並已驗證 fixed 缺陷已被開發修改,並且測試通過
重新打開 reopen 被開發修改過的缺陷,未通過測試驗證
延期 suspended 缺陷當前不做修改或無法修改,需要延期處理
已關閉 closed 缺陷已確認被修復,並沒有再復現,關閉

 

 

 

 

 

 

 

 

                                                                                                                                                                                                                                                                                                

除了上述的狀態以外,還有acknowledged(公認)、unable to reproceduce(無法復現)、duplicate(重復問題)、not fixable(無法修復)、no change required(不是問題)、won't fix(不做修改)等等

 

既然狀態已經得到了,那么接下來就開始嘗試使用狀態遷移法來設計用例,

第一步:

先在表格中找出有關聯的狀態,並標記出來:行中表示上一個狀態,列中表示下一個狀態,歸納出的表格如下圖所示;

  新建 已分派 已確認 打回 已打開但未處理 已解決但未驗證 已解決並已驗證 重新打開 延期 已關閉
新建                    
已分派 1     1            
已確認   1                
打回   1                
已打開但未處理   1 1          1 1  
已解決但未驗證         1          
已解決並已驗證           1        
重新打開             1      
延期     1              
已關閉 1     1     1      

假設缺陷生命周期的起始狀態均為新建。

第二步:

繪制狀態轉換流程圖,其實這個步驟感覺可以省略,直接整理向下或者向右的樹形圖,如下;

新建 已分派 已確認 已打開但未處理
延期 已打開但未處理
打回 已分派
已關閉
已打開但未處理 已解決但未驗證 已解決並已驗證 重新打開 已打開但未處理
已關閉
已關閉

以上就是整理出的向右的狀態遷移樹形圖,每一個分支都是一個測試路徑,接下來我們就可以做,

第三步:

將第二步的樹形圖轉換成狀態路徑,如下:

  1. 新建->已分派->已確認->已打開但未處理
  2. 新建->已分派->已確認->延期->已打開但未處理
  3. 新建->已分派->打回->已分派
  4. 新建->已分派->打回->已關閉
  5. 新建->已分派->已打開但未處理->已解決但未驗證->已解決並已驗證->重新打開->已打開但未處理
  6. 新建->已分派->已打開但未處理->已解決但未驗證->已解決並已驗證->已關閉
  7. 新建->已關閉

從上面羅列的狀態路徑可以看出,有些路徑的最后的狀態並不缺陷實際的最終狀態,主要是因為這些路徑的后續狀態在其他狀態中已經體現。

第四步:

根據這些測試路徑設計具體的用例和數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM