Upgrade to Pro — share decks privately, control downloads, hide ads and more …

意外と知らない状態遷移テストの世界

Avatar for nihonbuson nihonbuson PRO
December 20, 2025

 意外と知らない状態遷移テストの世界

WACATE 2025 冬での投影資料です。

Avatar for nihonbuson

nihonbuson PRO

December 20, 2025
Tweet

More Decks by nihonbuson

Other Decks in Technology

Transcript

  1. 自己紹介 • 風間裕也(ブロッコリー) • 株式会社10X 品質管理チーム • 副業…B-Testing(個人事業主)として ◦ 株式会社MonotaRO(テストコンサルタント)

    他数社でお手伝い • 社外活動 ◦ WACATE実行委員長 ◦ JaSST Review実行委員長 ◦ Developers Summitコンテンツ委員 ◦ SReEE(ソフトウェアレビューを エンジニアリングっぽく捉える会)リーダー • 猫派 SNS上の アイコン
  2. 状態表の作成 待機中 計測中 スタート/ ストップ 押下 一時停止中 スタート/ ストップ 押下

    スタート/ ストップ 押下 リセット 押下 動作 スタート/ストップ押下 リセット押下 前状態 待機中 計測中 一時停止中
  3. 状態表の作成 待機中 計測中 スタート/ ストップ 押下 一時停止中 スタート/ ストップ 押下

    スタート/ ストップ 押下 リセット 押下 動作 スタート/ストップ押下 リセット押下 前状態 待機中 計測中 計測中 一時停止中
  4. 状態表の作成 待機中 計測中 スタート/ ストップ 押下 一時停止中 スタート/ ストップ 押下

    スタート/ ストップ 押下 リセット 押下 動作 スタート/ストップ押下 リセット押下 前状態 待機中 計測中 計測中 一時停止中 一時停止中
  5. 状態表の作成 待機中 計測中 スタート/ ストップ 押下 一時停止中 スタート/ ストップ 押下

    スタート/ ストップ 押下 リセット 押下 動作 スタート/ストップ押下 リセット押下 前状態 待機中 計測中 計測中 一時停止中 一時停止中 計測中
  6. 状態表の作成 待機中 計測中 スタート/ ストップ 押下 一時停止中 スタート/ ストップ 押下

    スタート/ ストップ 押下 リセット 押下 動作 スタート/ストップ押下 リセット押下 前状態 待機中 計測中 計測中 一時停止中 一時停止中 計測中 待機中
  7. 状態表の作成 待機中 計測中 スタート/ ストップ 押下 一時停止中 スタート/ ストップ 押下

    スタート/ ストップ 押下 リセット 押下 動作 スタート/ストップ押下 リセット押下 前状態 待機中 計測中 計測中 一時停止中 一時停止中 計測中 待機中
  8. 状態表の作成 待機中 計測中 スタート/ ストップ 押下 一時停止中 スタート/ ストップ 押下

    スタート/ ストップ 押下 リセット 押下 リセット 押下 リセット 押下 動作 スタート/ストップ押下 リセット押下 前状態 待機中 計測中 計測中 一時停止中 一時停止中 計測中 待機中
  9. 状態表の作成 待機中 計測中 スタート/ ストップ 押下 一時停止中 スタート/ ストップ 押下

    スタート/ ストップ 押下 リセット 押下 リセット 押下 リセット 押下 自己遷移は ハイフンで表現する ※通例の表現 動作 スタート/ストップ押下 リセット押下 前状態 待機中 計測中 ー 計測中 一時停止中 ー 一時停止中 計測中 待機中
  10. もしもリセットボタンが非活性になる場合… 動作 スタート/ストップ押下 リセット押下 前状態 待機中 計測中 N/A 計測中 一時停止中

    N/A 一時停止中 計測中 待機中 待機中 計測中 スタート/ ストップ 押下 一時停止中 スタート/ ストップ 押下 スタート/ ストップ 押下 リセット 押下 起こり得ない遷移は N/A(Not Applicable)で 表現する ※通例の表現
  11. テストケース例 # 前状態 操作 期待結果 1 0:00で停止している スタート/ストップ ボタン押下 カウントアップが始まる

    2 0:00で停止している リセットボタン押下 0:00で停止したままになる 3 カウントアップしている スタート/ストップ ボタン押下 押した瞬間の時間で カウントが止まる 4 カウントアップしている リセットボタン押下 何も変わらず カウントアップし続ける 5 0:05で停止している スタート/ストップ ボタン押下 0:05からカウントアップが 再開する 6 0:05で停止している リセットボタン押下 0:00に変化し、停止している
  12. テストケース例 # 前状態 操作 期待結果 1 0:00で停止している スタート/ストップ ボタン押下 カウントアップが始まる

    2 0:00で停止している リセットボタン押下 0:00で停止したままになる 3 カウントアップしている スタート/ストップ ボタン押下 押した瞬間の時間で カウントが止まる 4 カウントアップしている リセットボタン押下 何も変わらず カウントアップし続ける 5 0:05で停止している スタート/ストップ ボタン押下 0:05からカウントアップが 再開する 6 0:05で停止している リセットボタン押下 0:00に変化し、停止している 状態遷移図や状態表では 表現できていない部分
  13. カバレッジ JSTQB Advanced Level テストアナリストには 以下のカバレッジが提示されている • 遷移カバレッジ • Nスイッチカバレッジ

    ◦ 0スイッチカバレッジ = 遷移カバレッジ ◦ 1スイッチカバレッジ ◦ 2スイッチカバレッジ … • ラウンドトリップカバレッジ • (+αとして)無効な遷移を含める
  14. Nスイッチカバレッジ 「N スイッチカバレッジ」は、長さ N+1 でカバーされた スイッチの数を意味し、その長さのスイッチの総数の パーセンテージで表す。 例えば、100%の1スイッチカバレッジを達成するには、 2つの連続する遷移のすべての有効なシーケンスを、1 回

    以上テストする必要がある。 このテストでは、100%の 0 スイッチカバレッジで見落と しがちな故障の種類のいくつかを見つけ出すことができ る。 ISTQBテスト技術者資格制度 Advanced Level シラバス 日本語版 テストアナリスト Version 3.1.1.J03
  15. リセット 待機中 計測中 スタート/ ストップ 一時停止中 スタート/ ストップ スタート/ ストップ

    リセット リセット まず「待機中」状態に注目する ラウンドトリップカバレッジを満たすテストケース
  16. リセット 待機中 計測中 スタート/ ストップ 一時停止中 スタート/ ストップ スタート/ ストップ

    リセット リセット 次に「計測中」状態に戻ってくる遷移は… ラウンドトリップカバレッジを満たすテストケース
  17. リセット 待機中 計測中 スタート/ ストップ 一時停止中 スタート/ ストップ スタート/ ストップ

    リセット リセット 最後に「一時停止中」状態に戻ってくる遷移は… ラウンドトリップカバレッジを満たすテストケース
  18. ラウンドトリップカバレッジの対象外のケース リセット 待機中 計測中 スタート/ ストップ 一時停止中 スタート/ ストップ スタート/

    ストップ リセット リセット ↑は「特定の状態が複数回含まれていてはならない。」 のラウンドトリップカバレッジの定義を満たさないため、 テストケースには入らない