astahによる状態遷移テストの事例
astahによる状態遷移テストの事例が紹介されていたのでメモ。
【参考】
状態遷移テストと1スイッチカバレッジ|Tsuyoshi Yumoto|note
astahの品質スイートプラグインとSVNプラグインが凄い: プログラマの思索
上記の記事を読んで、自分の気付きがいくつかあった。
テスト技法には、デシジョンテーブルやオールペア法のような組合せテストが多い気がする。
それらは「テストパラメータの事前入力のバリエーション」に注力する。
一方、状態遷移テストでは、「テストケース構造の事前状態(事前条件)に着目」する。
つまり、単なる事前入力値の組合せだけでなく、事前入力の状態までの履歴も考慮する点が異なる。
この指摘は、改めて気付かされた。
状態遷移テストには、テストカバレッジの考え方にN-switch coverageがある。
詳細は下記を参照。
状態遷移表を使用したテスト手法【後編】 (1/3) - MONOist(モノイスト)
おそらく、単体テストレベルでは0-switch coverage、結合テストでは1-switch coverage、総合テストでは、N-switch coverageのようなイメージもあるだろう。
つまり、条件分岐処理に関するC0・C1・C2網羅のような考え方と同じく、状態遷移テストでもN-switch coverageを考えることでテスト網羅性を高めるわけだ。
では、どうやって、0-switch coverageやもN-switch coverageのテストケースを作るか?
おそらくテストケース生成ツールなしでは、状態遷移テストの網羅性を高めることは難しいだろう。
幸いなことに、astahでは品質管理プラグインがあるおかげで、状態遷移図を描けば、状態遷移表を生成し、それに基づくテストケースをExcel出力することができる。
開発者もテスト担当者も、精度の高い状態遷移図を描くことに注力するだけでいいのはすごく良いメリットだ。
改めて思うのは、テスト技法はモデリング技法に密接に関係している。
その意味は、単にモデルの正当性にテストが必要、というだけではない。
開発したソフトウェアをテストするには、何らかの観点が必要であり、それはモデルが提供すべきもの。
モデルがテスト技法を支援しているわけだ。
そういう考え方も色々考えてみる。
| 固定リンク
「astahによるUMLモデリング」カテゴリの記事
- 「System of Systems(SoS)の統合テストは不可能だ」という言説を聞いた(2026.08.16)
- チケット駆動でAIを制御する仕組みのアイデア(2026.08.13)
- AIが設計も思考も代替する時代ではエンジニアはモデルを理解するだけの存在なのか?(2026.07.25)
- 愛憎のUML~なぜ「設計図」は消え、「スケッチ」として生き残ったか(2026.05.03)
- AIエージェントとastahが変える真のモデル駆動開発とは何か(2026.04.12)


コメント