テストクラスをUMLダイアグラムに入れる必要がありますか?私はこれについて "ベストプラクティス"を見つけることができません!テストクラスをUMLに入れる必要がありますか?
答えて
です。第1に、「UML図」は、単一の図を作成することを示唆しています。これは間違いなく良い練習ではありません。必要な数の図を作成して、モデルの特定の側面を照明します。だから、テストケースはそれらの側面の1つになります。つまり、それらを(a)別の図に入れます。
テストをモデル化する場合は、UMLテストプロファイル(UTP link)を参照すると、テスト、要件などをモデル化するために必要な要素が提供されます。
SysMLはUTPの一部を統合しているので、これも使用できます。
これは間違いなく文脈によって異なります。誰がUMLモデルを使用する予定ですか?また、UMLモデルはどのように使用しますか?一般に、テストクラスを追加すると、UMLモデルが乱雑になり、理解が難しくなると言われます。しかし、テストがあなたが説明したいことであるという文脈であれば、テストクラスはかなり重要になるでしょう。
トーマス・キリアン(Thomas Kilian)が指摘しているように、1つの基本モデルからいくつかのダイアグラムを作成することはおそらく正しい答えです。これを行うことができるのは、単純な図ではなくUMLを使用する理由の1つです。
これは環境設定です。そうしないように選択することもできないことも選択できます。
より良いと言えば、の練習は、ソリューションにモデル化されたテストを持つことです。しかし、私は常にベストプラクティスに従うとは言いません。
解決策のモデリングには多くの図が必要です。分析、設計、実装の3つに焦点を当てます。 3つはすべてクラス図です。 3つすべてが異なる抽象でソリューションを定義します。
この分析では、要件とソリューションの先頭に最も近いユーザーがいます。ここでは、幅広いクラスが必要です。私はここにテストを入れません。なぜなら、このダイアグラムはユーザーからのソリューションの形状とその要件を取得しようとしているからです。分析ダイアグラムにはボックス内にクラス名だけがあり、その関連を示す行があります。
デザインダイアグラムは、クラスの作成方法についてもう少し詳しく説明します。アプリケーションの設計図は設計上の形になります。この設計はどのプログラマにも与えられ、ソリューションを構築するコードを書く。設計図の興味深い部分は、テストエンジニアにも与えられ、作成するソリューションの適切なテストを作成することです。
実装図は、作成される最低レベルのクラス図です。ほとんどの場合、私は振り返りながらこれを作成します。実装図は、コードベースの逐語的な翻訳でなければなりません。実装図では、完全性のためにテストクラスを用意しました。
メモ:これはビジネス上の理由から私が時々手紙に従わない私の意見です。しかし、理想的な世界では、これが私のモデリングを好む方法です。
- 1. ターゲットディレクトリには何を入れる必要がありますか?
- 2. パスワードフィールドにスペースを入れる必要がありますか?
- 3. レジューサーは入れ子にする必要がありますか?
- 4. UML依存関係 - ここで使用する必要がありますか?
- 5. GUIクラスをUMLのクラス図に含める必要があります
- 6. CSSにJavaScriptを入れる必要があります
- 7. コンテキストにDaggerを挿入する必要がありますか?
- 8. ラズベリーパイデバイスを購入する必要がありますか?
- 9. JUnit 5 Gradle:テストクラスに実際に "Test(s)"という接尾辞を付ける必要がありますか?
- 10. データ型を列名に入れる必要がありますか?
- 11. Pl/sqlはINパラメータを ''の間に入れる必要がありますか?
- 12. @finally節に[pool drain]を入れる必要がありますか?
- 13. 請求モジュールを自分のクラスライブラリに入れる必要がありますか?
- 14. メインをPythonのクラスに入れる必要がありますか?
- 15. html5 - nav header articleセクションにスタイリングを入れる必要がありますか?
- 16. 私はCakePHPデータソースにparent :: __ construct($ config)を入れる必要がありますか?
- 17. どこのCSSを.htmlページに入れる必要がありますか?
- 18. python:txtboxにテキストボックスを挿入する必要があります
- 19. これは、UMLクラス図のクラス、または型として考慮する必要がありますか?
- 20. UMLダイアグラムとプランニングヘルプが必要
- 21. 入力値に2を加える必要があります
- 22. typescriptをes6にコンパイルする必要がありますか?es5にコンパイルする必要があります
- 23. はNCFTPシェルスクリプトに入力する必要があります
- 24. アクティビティまたはビューにコードを挿入する必要がありますか?
- 25. なぜ「新しい色」を入れる必要がありますか?
- 26. ロジックがトリガアクションまたはエントリに入る必要がありますか?
- 27. ボタンは親ラジオボタンを入力する必要があります
- 28. 代入で値をキャストする必要があります
- 29. InvalidArgumentError:プレースホルダテンソルプレースホルダの値を入力する必要があります
- 30. jQuery addフィールドを入力する必要があります