モデルベーステスト
モデルベーステスト(Model-based testing)とは、テストケースの一部または全部を評価対象システムの(通常、機能的側面を)モデル化したものから導出して行うソフトウェアテストの手法である。モデルはテスト対象のシステムの実現すべき動作を表現した抽象的なものである。そのようなモデルから導出されるテストケースはモデルと同程度に抽象化された機能テストであり、直接実行することはできない。そのため、抽象的なテストケースを実行可能なテストケースに変換する必要がある。
モデルからテストを導出する方法はいくつも存在する。ソフトウェアテストは実験的でヒューリスティックスに基づいているため、最善の方法というものは存在しない。一般に全てのテストに関連する設計上の決定をまとめ、パッケージ化する。これを「テスト要求仕様; test requirements」、「テスト目的; test purpose」、場合によっては「ユースケース」と呼ぶ。このパッケージにはテストの中心となるべき部分のモデルに関する情報が含まれ、テスト終了条件が記述される。
モデルベーステストではテストスイートはソースコードからではなくモデルから抽出されるため、一種のブラックボックステストを構成するのが一般的である。見方によってはこれは完全とはいえない。モデルベーステストとソースコードレベルのテストの網羅率測定を組み合わせ、機能的モデルを初期段階のソースコードに基づいて構築するなどのテスト改善方法が考えられる。
複雑なソフトウェアシステムのモデルベーステストは発展途上の分野である。