1

モデル化しようとしている例では、モデルの複雑さは、FSM で実行されるすべてのステップで指数関数的に増加します。ただし、FSM がどのように成長するかのルールをコードで記述するのは簡単ですが、手作業でモデル化することは不可能です。モデルを手動で作成するのが難しいのは、FSM が進行するにつれて各ノードから多数の遷移が発生する可能性があるためです。状態の数はそれほど多くありませんが、遷移の数は膨大です!

ModelJUnit を使用しようとしていますが、理解できる限り、このツールは事前に定義された完全なモデルのみをサポートしています。

私の質問は、上記のように、テスト中のシステムの FSM を動的に作成することをサポートするモデルベースのテスト ツールがあるかどうかです。

4

1 に答える 1

1

あなたの問題は非常に典型的です。例としては、車両のシフターの位置を決定するコントローラー/ソフトウェアがあります。位置 PRND は、レバーの電気的な遷移から決定する必要があります。トランジションを飛び越えて電気的障害が発生することを考慮すると、大きな/無限のスペースが得られます。この種のソフトウェアは、意図しないトルクを発生させる可能性があるため、可能な限り高い安全レベルを備えています。

ModelJUnit、NUnit などのツールは、教育/ツール開発の目的に役立ちます。コードを調べて編集し、独自の実験的アルゴリズムを実装できます。

一方、変更されていない状態では、あなたが言及した問題に対処できません:状態空間/遷移爆発など。そのため、プロのツールは非常に複雑な方法を使用して、大きな/無限の空間を処理します。

  • 完全な記号探索
  • 拘束ソルバ
  • スライス

探索中にアルゴリズムが空間全体を拡張する必要がないため、無限モデルでも要件カバレッジ、mc/dc などの結果を生成できることがよくあります。検索できるツールの例は次のとおりです。

  • 適合
  • スペック エクスプローラー
于 2015-11-03T17:20:56.647 に答える