スキルアップ

GIHOZの使い方:状態遷移テストによるテストケースの作成方法

※この記事はGIHOZBlogで既に公開済の記事の内容を一部最新情報に更新したものです。

状態遷移テストはテスト対象の状態の変化を図や表で整理することで一覧性を高め、抜け漏れのないテストケースを作成する技法です。

この記事ではテスト技法ツールGIHOZ(ギホーズ)を用いて、状態遷移テストによりテストケースを作成する方法をご紹介します。

状態遷移図の作成方法

GIHOZの状態遷移図は、状態を表す四角形、状態の遷移を表す矢印、遷移を引き起こすイベント(矢印上にイベントの名称を記載)から構成されます(図表1)。

図表1:状態遷移図

例えば、ストップウオッチの動作を状態遷移図で整理してみましょう。仕様は以下の通りです。

  1. ストップウオッチには、スタートボタン、ストップボタン、リセットボタンの3つのボタンがある
  2. 初期状態ではストップウオッチは時間の計測をせずに停止している
  3. ストップウオッチが停止しているときに、利用者がスタートボタンを押すと時間の計測を開始する
  4. ストップウオッチが時間の計測をしているときに、利用者がストップボタンを押すと計測を一時停止する
  5. ストップウオッチが一時停止しているときに、利用者がスタートボタンを押すと時間の計測を再開する
  6. ストップウオッチが一時停止しているときに、利用者がリセットボタンを押すと計測していた時間をリセットして計測を停止する

状態遷移図を作成するには、まず状態を識別します。上記の仕様を読むと、「停止している状態」「時間を計測している状態」「一時停止している状態」の3つの状態があることが分かります。GIHOZでは、状態遷移図の編集エリアでダブルクリックすることで新しい状態を作成できます(図表2)。

図表2:ストップウオッチの状態

次に、イベントと遷移を識別して状態遷移図に矢印を追加します。仕様の3~6に記載されている内容に基づいて状態遷移図を作成すると、次のようになります(図表3)。GIHOZでは、ある状態から別の状態までマウスでドラッグアンドドロップすることで、遷移の矢印を引くことができます。遷移の矢印の上にイベントの文字列を入力できます。

図表3:ストップウオッチの状態遷移図

このように仕様を状態遷移図に整理することで、状態から状態への遷移に必要なイベントが一目で分かります。

状態遷移表・テストケースの作成方法

GIHOZでは状態遷移図から、状態遷移表とテストケースをワンクリックで自動生成できます。テストケースの網羅基準としては、0スイッチ~3スイッチを任意で選択できます(図表4)。

図表4:状態遷移表とテストケースを生成

スイッチの数値は、ある状態から別の状態への遷移において、途中で経由する状態の数を表します。0スイッチの場合、途中で他の状態は経由せずに「状態1→状態2」という遷移を網羅するようにテストケースを生成します。1スイッチの場合、途中に1個の状態を経由して、「状態1→状態2→状態3」という遷移を網羅するようにテストケースを生成します。

今回の例で生成される状態遷移表とテストケースは、それぞれ以下の通りです(図表5)。

図表5:状態遷移表(状態×イベント)の例

状態遷移表は、状態とイベントをマトリクスにした形式と、遷移前の状態と遷移後の状態をマトリクスにした形式の、2種類が生成されます(図表6)。

図表6:状態遷移表(前状態×後状態)の例

指定したスイッチ数のテストケース以外に、「無効遷移を含めた全遷移テストケース」が生成されます。「イベントが発生しても状態が変化しない」ということも含めてテストしたい場合、「無効遷移を含めた全遷移テストケース」をご利用ください(図表7)。

図表7:無効遷移を含めた全遷移テストケースの例

0スイッチテストケース~3スイッチテストケースは、テストケースの生成時に指定したものが生成されます(図表8~11)。スイッチ数をいくつにすべきかについては、決まった答えはありませんので、テストの重要度やリスクに応じてご検討ください。GIHOZでは各スイッチ数のテストケースを簡単に生成できますので、一通り生成してテストケースの件数を見ながら実際にテストで使うテストケースを検討する、といった使い方も可能です。

図表8:0スイッチテストケースの例
図表9:1スイッチテストケースの例
図表10:2スイッチテストケースの例
図表11:3スイッチテストケースの例

今回の記事で紹介した状態遷移図、状態遷移表、テストケースは以下のページにて公開しています。GIHOZのアカウントをお持ちでない方でも内容を閲覧、編集操作を体験できますので、ぜひご覧ください。

ストップウオッチの状態遷移テストのサンプル - GIHOZ

まとめ

この記事では、GIHOZを使って状態遷移テストのテストケースを作成する方法について解説しました。状態とイベントを適切に識別して状態遷移図を作成できれば、GIHOZを使って簡単に状態遷移テストのテストケースを網羅的に生成できます。ぜひご活用ください。

テスト技法ツールGIHOZ アカウント登録はこちら

SNSシェア

この記事は面白かったですか?

今後の改善の参考にさせていただきます!

Ranking

ランキング

もっと見る