1. ホーム
  2. unit-testing

[解決済み] テスト駆動開発のデメリット?[クローズド]

2022-04-20 16:37:06

質問

テスト駆動設計を採用することで失うものは何ですか?

否定的なことだけを列挙し、否定形で書かれた利点を列挙しないこと。

解決方法は?

いくつかのデメリットがある(メリットがないとは言っていない-特にプロジェクトの基礎を書くときは、最終的に多くの時間を節約できるだろう)。

  • 大きな時間投資。 単純なケースでは実際の実装の20%程度が失われますが、複雑なケースではそれ以上の損失が発生します。
  • 追加の複雑さ。 複雑なケースでは、テストケースの計算が難しくなります。そのようなケースでは、最も単純なケースのユニットテストの代わりに、デバッグバージョン/テストランで並行して実行される自動参照コードを使用してみることをお勧めします。
  • デザインへの影響。 この場合、テストをやり直さなければならず、大きな時間のロスになります。 このような場合は、設計をある程度把握できるまで単体テストを延期することをお勧めします。
  • 継続的に手を加える。 データ構造やブラックボックス化されたアルゴリズムではユニットテストは完璧ですが、変更、微調整される傾向にあるアルゴリズムでは、これは正当化されないと主張するかもしれない大きな時間的投資を引き起こす可能性があります。 ですから、実際にシステムに合うと思うときに使い、設計を無理にTDDに合わせないようにしましょう。