狀態遷移圖

播放器功能測試

手機中MP3播放功能狀態-事件表如下,

並且當MP3曲目在起點時不能按R鍵,當MP3曲目在末端時不能按P、F鍵。

 

Step1、如果需求是文字描述,將文字轉化爲圖形

Step2、需求中包含1個獨立功能 —— 播放功能

Step3、針對打印功能開展需求分析

            界面可見輸入參數:  播放、停止、前進、倒退、錄音         

            界面不可見輸入參數: 電量、音源

Step4、分析界面可見輸入參數之間的關係及特點

界面所有參數都是有效的,不存在區間範圍—X— 等價類、邊界值

參數之間不存在一個是什麼另外一個必須是什麼 —X— 判定表

有效參數組合會輸出不同結果,需求中參數部分可以組合,部分不可以組合,如前進與後退是互斥的  —X— 正交試驗

不跨多個界面 —X— 流程分析法

所有參數都是有效的參數之間存在約束條件(功能之間的約束、狀態之間的約束)—— 狀態遷移圖

Step5、利用狀態遷移圖設計測試用例

  ① 根據需求《SRS》提取所有的功能名或狀態名

  ② 形成N*N業務矩陣

  ③ 根據需求分析功能/狀態的可達項, 可達用功能名/狀態名代替、不可達用黑點表示

  ④ 將業務矩陣轉化爲需求樹,深度優先畫法、廣度優先畫法

  ⑤ 一條分支爲一條測試用例

深度優先畫法

找一個功能名/狀態名作爲入口

根據業務矩陣從第一列開始豎着畫,把可達項並列存放在入口的下一行

畫可達項,從左邊第一個功能畫起,其他都注掉

一個功能只畫一次,再出現就注掉,一直畫到最後一個功能的可達項

狀態遷移圖的優缺點

優點:保證每一個功能/狀態的可達項都被覆蓋

缺點:對無效的路徑無法覆蓋

一.方法簡介

一個程序的功能說明通常由動態說明和靜態說明組成。動態說明描述了輸入數據的次序或轉移的次序。靜態說明描述了輸入條件與輸出條件之間的對應關係.

對於較複雜的程序,由於存在大量的組合情況,因此,僅用靜態說明組成的規格說明對於測試來說往往是不夠的.必須用動態說明來補充功能說明.

功能圖方法是用功能圖FD形式化地表示程序的功能說明,並機械地生成功能圖的測試用例. 

功能圖模型由狀態遷移圖和邏輯功能模型構成.

狀態遷移圖用於表示輸入數據序列以及相應的輸出數據.在狀態遷移圖中,由輸入數據和當前狀態決定輸出數據和後續狀態.

邏輯功能模型用於表示在狀態中輸入條件和輸出條件之間的對應關係.邏輯功能模型只適合於描述靜態說明,輸出數據僅由輸入數據決定.

測試用例則是由測試中經過的一系列狀態和在每個狀態中必須依靠輸入/輸出數據滿足的一對條件組成.功能圖方法其實是是一種黑盒白盒混合用例設計方法。

(功能圖方法中,要用到邏輯覆蓋和路徑測試的概念和方法,其屬白盒測試方法中 的內容.邏輯覆蓋是以程序內部的邏輯結構爲基礎的測試用例設計方法.該方法要求測試人員對程序的邏輯結構有清楚的瞭解.由於覆蓋測試的目標不同,邏輯覆蓋可分爲:語句覆蓋,判定覆蓋,判定-條件覆蓋,條件組合覆蓋及路徑覆蓋.下面我們指的邏輯覆蓋和路徑是功能或系統水平上的,以區別與白盒測試中的程序內部的.)

1.功能圖

功能圖由狀態遷移圖和布爾函數組成.狀態遷移圖用狀態和遷移來描述.一個狀態指出數據輸入的位置(或時間),而遷移則指明狀態的改變.同時要依靠判定表或因果圖表示的邏輯功能.例,一個簡化的自動出納機ATM的功能圖。

2.測試用例生成方法

從功能圖生成測試用例,得到的測試用例數是可接受的. 問題的關鍵的是如何從狀態遷移圖中選取測試用例. 若用節點代替狀態,用弧線代替遷移,則狀態遷移圖就可轉化成一個程序的控制流程圖形式.問題就轉化爲程序的路徑測試問題(如白盒測試)問題了.

3.測試用例生成規則

爲了把狀態遷移(測試路徑)的測試用例與邏輯模型(局部測試用例)的測試用例組合起來,從功能圖生成實用的測試用例,須定義下面的規則.在一個結構化的狀態遷移(SST)中,定義三種形式的循環:順序,選擇和重複.但分辨一個狀態遷移中的所有循環是有困難的.(其表示圖形省略)。

4.從功能圖生成測試用例的過程

1)生成局部測試用例

在每個狀態中,從因果圖生成局部測試用例.局部測試用例由原因值(輸入數據)組合與對應的結果值(輸出數據或狀態)構成。

2)測試路徑生成

利用上面的規則(三種)生成從初始狀態到最後狀態的測試路徑。

3)測試用例合成

合成測試路徑與功能圖中每個狀態中的局部測試用例.結果是初始狀態到最後狀態的一個狀態序列,以及每個狀態中輸入數據與對應輸出數據的組合。

5.測試用例的合成算法

採用條件構造樹.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章