ステートマシンを用いたソフトウェアテストにおける課題の解決策

先月、弊社のブログでご紹介しました件について 状態遷移モデルのソフトウェアテスト と共に、または、〜と一緒に Altova UModel 当社の空調システムのモデルにおいて、予期せぬ動作が確認され、読者の方々にその設計を改善するよう呼びかけました。この記事では、その解決策の可能性の一つを紹介します。当社のモデルに対してテスターアプリケーションを実行したところ、スタンバイ状態の際に、電源スイッチがシステムをオフにしないという問題が明らかになりました 状態遷移図 弊社の初期モデルでは、動作モードから待機モードに入る唯一の方法は、待機ボタンを押すことのみです。また、待機状態から元の状態に戻るには、再度待機ボタンを押す必要があります。詳細は以下の通りです。

システムをスタンバイ状態からシャットダウンさせるための別の経路を作成するには、スタンバイ状態からオフ状態への新しい遷移線を描き、その遷移をトリガーするイベントとしてpowerButton()を割り当てることができます。UModelは、モデルに既に定義されているイベントを一覧表示するポップアップウィンドウを提供することで、このトリガーの割り当てを簡単に行うことができます。

新しい「待機」から「オフ」への移行機能を搭載したモデルの改良版は、以下のようになります

Javaコードを再生成し、新しいバージョンをコンパイルした後、再度テスターアプリケーションを実行できます。デバッグ出力メッセージウィンドウを見ると、システムがイベント3でスタンバイ状態に入ったことがわかります。イベント4、つまり電源ボタンの操作により、状態はオフに設定されます。

Altova UModelを使って、ご自身のステートマシンの図の論理構造をどのように改善できるか、ぜひご自身で確かめてみてください 30日間の無料トライアル版をダウンロード 今すぐ!