2016-11-11 9 views
1

ユニットテストは何かを知っていますが、テスト駆動開発について読むと混乱します。ユニットテストはいつソフトウェア開発プロセスで実行されますか?

ユニットテストは、テストに先立ってコードベースより先に行い、最初にプロセスを開発しますか?コードベースの一部(私はプロジェクトでやっていることです)をリファクタリングするだけなので、開発の途中または後に行うことです。

啓発に感謝します。

+0

私は、この問題をプログラミングではなくソフトウェア開発プロセスについて話し合っていますので、ソフトウェアエンジニアリングSEにあるべきです。 – EJoshuaS

答えて

5

テスト駆動開発とは、新しい機能を実装する前にユニットテストを作成するということです。この手法では、開発者はテストに合格するために必要なコードのみを書くことに集中します。デザインは、他の方法よりもきれいで明確になる場合があります。

しかし、通常の単体テストと比較して、開発者はこの手法に従うのにもっと多くの経験が必要です。コード作成を開始する前に、この要件に必要なすべてのレイヤーのビジョンを含む実装の理解が必要です(常に良い方法です)。それ以外の場合は、後で多くのコードをリファクタリングする必要があります。 個人的に私はこのアプローチが好きですが、私が言ったように、より多くの経験が必要です。

ユニットテストのみについて話している場合、これは常に開発プロセスの一部である必要があります。開発中にテストを書くことがよくあります。既存のメソッドをリファクタリングする必要がある場合は、まず既存の機能を破らないようにテストを作成すると便利です。

+0

ええ、あなたは@Marcです。私は現在、堅実な原則に従わないため、完全にテストすることができない既存の作業コードをテストしています。したがって、コードをテストする唯一の方法は、それをリファクタリングすることだと私は考えました。それはそれを行うには問題ないと私は混乱している理由です。 –

2

機能が適切に機能しているとすぐに単体テストを書いてください。 TDDをやっているのなら、ユニットを書く前にユニットテストを書くということです。それ以外の場合は、ユニット自体を作成した直後にテストを書くことを意味します。

関連する問題