動作検証

23.2.3. 動作検証

事前に用意されているテストケースを使って,作成したオートマトンの動作を検証しましょう.

前ページの例題や,続くいくつかの練習問題には,あらかじめ動作確認用のデータが用意されています. これを使ってみましょう

検証用自動テストの選択と実行 #

メニューの「Test」をクリックします.
すると下のように自動テストの一覧が表示されます.

前ページの例題は,My first automaton という名前で登録されています.
一覧の中から「My first automaton」をクリックして選択し,「Test」ボタンを押しましょう.用意された入力についてオートマトンが自動的にテストされ,その結果が表示されます.

結果の見方 #

結果が緑背景で SUCCESS とあれば,用意されたすべてのケースで仕様通りに振る舞ったことが分かります.
一方,赤い背景で FAILURE を含む場合は,一部またはすべてのケースに失敗があります.

失敗には以下のような種類があります

  • 文字に対応する遷移 (矢印) がなかった
  • 最後まで文字を読んだ状態と,終了状態 / 非終了状態 との対応が,仕様通りでなかった

今回の上から2行はそれぞれ次のように解釈します.

SUCCESS <String:‘aabac’, Expected:non-final, Result:non-final>
「aabac」と入力した状態は,非終了状態(non-final) で仕様通りなので,成功 (SUCCESS)
FAILURE <String:‘abaca’, Expected:non-final, Result:No transition>
「abaca」を入力したときに,「abac」を入力したときの状態でさらに「a」が入力された際の遷移規則がない (No transition) という失敗 (FAILURE) です.

このように,上で定義したオートマトンは一度解錠した後に,さらに入力されたときのことを考えていなかったことが分かりました.今回は「abac」に加えて入力が行われた場合には,解錠が失敗することとします.この点を修正するには,終了状態から何を入力しても「解錠失敗」を意味する非終了状態への遷移を加えるだけです

もう一度テストしてみましょう.すべてのテストに「SUCCESS」すると,評価結果の表示領域が緑色になります.

オートマトンの設計 動作検証 ロールバック
このサイトは開発版の はいぱーワークブック です.