一つ前の記事で、生涯一テスターさんよりコメントを頂いた部分について補強。ハンドルネームかっこ良すぎなこのかたのBlogはこちらです。ソフトウェアテストの歴史を綴る、というおそらく日本ではここ以外にないテーマで、この筋の方にはたまらない内容となっています。未見の方はぜひ。知らず知らずのうちに大変お世話になっていることの多い、あの方のBlogです。
TEFでのモデルベーステストについての議論
アーカイブはこちら。メーリングリストのアーカイブで、TEFに参加していないと読めないのでこの機会にこちらもどうぞ。
このスレッドの議論の中で辰巳さんが整理されているモデル検査とモデルベースドテスティングの違い、がとても参考になるので引用します。
1)モデル検査
・モデル化の対象:対象システムの振る舞い(状態遷移に着目)
・モデル化の目的:実装しようとしている設計(状態遷移モデル)に仕様レベルの欠陥がないか否かの検証(検査項目は別途作成する必要あり)
・モデル化の方法:状態遷移(発表論文の多くは状態遷移。他にもあり?)
2)Model-based testing
・モデル化の対象:対象システムの振る舞い(仕様)
・モデル化の目的:テストケース,テストスイート,テストスクリプトなどの自動生成
・モデル化の方法:Grammar, Finite State Machine, Marcov chains, Statechart, Decision tables, Tabular definition 等
やはり目的はテストケースやテストスクリプトの自動生成ということでそんなにズレてないようです。モデル化の方法として挙げられているステートチャートやデシジョンテーブル以外があまり馴染みのないものだったので、別途調査してみます。デシジョンテーブルからの自動テスト生成はたぶんどこかにツールや論文があるような気がします。