問題タブ [model-based-testing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
unit-testing - ロボット アーミー テストとは何ですか?
ロボット アーミー テストとは何ですか? どこで使用されますか?どうすれば学べますか?
unit-testing - Rhapsody TestConductor Experiences
誰かがRhapsodyTestConductorを積極的に使用しているかどうか疑問に思いましたか?または、しばらく試してみましたが、特定の理由で拒否することにしましたか?もしそうなら、あなたの経験は何ですか、どの分野でそれを適用しますか、欠点は何ですか、またはなぜそれを断ったのですか?
現時点では、TestConductorはすでにRhapsodyに統合されているため、テスト用のツールとして検討しており、プロジェクトにどの程度適用できるかを調べたいと考えています(ところで、CでRhapsody 7.4を使用しています)。
PS:モデルベーステストに関する優れた本に関する推奨事項も高く評価されています。
python - グラフ内のすべてのエッジをトラバースするアルゴリズム
個人的なイースター プロジェクトとして、モデルベースのテストを職場で実装しようとしています。Python で実装されたグラフがあり、グラフのすべてのエッジをトラバースするか、グラフのすべての遷移を少なくとも 1 回実行する必要があります。エッジを 2 回以上トラバースすることは問題ではありませんが、同じノードで開始および終了し、一連のエッジ/トランジションを取得する必要があります。
より単純なアルゴリズム > 最短のシーケンス。
私は周りを見回して多くのアルゴリズムを見つけましたが、自分に合ったアルゴリズム/組み合わせを見つけることができませんでした. 誰かが私を正しい方向に向けたり、これを行う方法についてのヒントを教えてくれたりしたら、それは素晴らしいことです.
私のグラフの実装は次のようになります。
c# - スペックエクスプローラー:誤ったテスト
現在、MicrosoftResearchによるSpecExplorer2010を評価しています。テストケースがどのように生成されるのか少し疑問に思います。
SEで生成されたテストサンプルモデル(アキュムレータ)で遊んでいます。メンバー変数に0より大きい自然数を追加するAccumulator.Addメソッドがあります。
モデルは以下を指定します:
ご覧のとおり、上記の条件(x> 0)はモデルコード内で指定されています。さらに、CORDファイル内でAccumulator.Addの可能な入力を指定しました。
ただし、ステートメントCondition.IsTrue(x> 0)は、SpecExplorerに値> 0のテストのみを生成するように強制します。これは私が期待したものではありません。入力パラメーターの型はintであるため、正でない数をメソッドに渡すことができます。仕様により、メソッドはそのような数を許可するべきではありません。私の見解では、SEは、アルゴリズムがそれらを受け入れないことを確認するために、非正の入力を使用してテストを生成する必要があります。
この振る舞いはどういうわけかモデル化できますか?PEXはホワイトボックステスト専用であるため、PEXのようなソリューションを指摘しないでください。SEはむしろブラックボックステストに焦点を合わせており、私が学んだことから、ブラックボックステストは私の仕様に基づく等価クラスを使用して機能するはずです。それらは次のようになります。
ただし、SEは後者の場合のテストケースを生成しません。
助言がありますか?前もって感謝します。
dsl - ドメイン固有言語のテスト
グラフィカルなドメイン固有言語を開発しました。これをモデルベースの設計に使用したいと考えています。ドメインに関する抽象的な情報を含む多数のグラフィカル コンポーネントがあり、これらのコンポーネントを使用してアルゴリズムを実装しています。
これらのグラフィカルコンポーネントをテストするための従来の単体テストに代わるものがあるかどうか、誰か教えてください。これらのブロックの単体テストはかなり簡単ですが、私のアプリケーションにとっては非常に時間がかかり冗長であると感じています。したがって、私は代替手段を探しています。
任意の提案をいただければ幸いです。
ありがとう
testing - MBT 用の EFSM の動的作成
モデル化しようとしている例では、モデルの複雑さは、FSM で実行されるすべてのステップで指数関数的に増加します。ただし、FSM がどのように成長するかのルールをコードで記述するのは簡単ですが、手作業でモデル化することは不可能です。モデルを手動で作成するのが難しいのは、FSM が進行するにつれて各ノードから多数の遷移が発生する可能性があるためです。状態の数はそれほど多くありませんが、遷移の数は膨大です!
ModelJUnit を使用しようとしていますが、理解できる限り、このツールは事前に定義された完全なモデルのみをサポートしています。
私の質問は、上記のように、テスト中のシステムの FSM を動的に作成することをサポートするモデルベースのテスト ツールがあるかどうかです。
c# - Spec Explorer で状態の重複を防ぐために _version リストをリセットする方法
システム変数としてリストを持つ Spec Explorer プロジェクトを作成しました。ほとんどすべてのルールで、このリストは正しい結果が得られるように調整されています。しかし、プロジェクトを探索すると、状態が重複します。これらの州を比較すると、私が見つける唯一の違いは次のとおりです。
なぜこれが起こるのかをグーグルで調べた後、文字列が変更されるたびにバージョンが変更されることがわかりました。したがって、バージョン 23 と 25 に同じ文字列が含まれていても、バージョン番号により Spec Explorer はそれらが異なると見なされ、2 つの状態が生成されます。とにかくこれを修正する方法はありますか?文字列をリセットするか、Spec Explorer にこれを強制的に受け入れる方法があるかもしれません。
java - Model Junit: FSM から DFS の結果を出力します。
モデル Junit ライブラリ DFS クラスを使用して、FSM からスパニング ツリーを作成しています。
これは私のコードです:
これは私が得る出力です:
残念ながら、dfs.isDone(); を呼び出すと、false が出力されるため、深さ優先検索の結果が表示されません。FSM に DFS を適用するために必要な関数がわからない