TDDの使用を開始します。初心者向けのヒントはありますか?[閉まっている]


27

私はどのプロジェクトでも自動テストメカニズムを使用したことはなく、多くのことを失っていると感じています。私は自分自身を改善したいので、私はこのように無視してきたいくつかの問題に取り組み始め、SVNに固執する代わりにGitを試す必要があります。

TDDを学ぶ良い方法は何ですか?おそらくEclipseを使用してJavaでプログラムするでしょう。JUnitのことは聞いたことがありますが、他に検討すべき点があるかどうかはわかりません。

回答:


15

カタのコーディングに取り組むことから始めることができます。アルゴリズム(10進数からローマ数字への変換、ボウリングゲームのスコアリング、Conwayのライフゲームなど)を選択し、TDDを使用してソリューションの作業を試みます。

ソリューションの構造は、非常に単純です(実際の製品コードよりもはるかに単純です):テストフィクスチャ用の1つのクラスと、テスト中のアルゴリズムを含む1つのクラス。また、依存関係のないテスト対象のクラスもプラスです。このセットアップのシンプルさを使用して、red-green-refactorループのハングをすばやく取得できます。

TDDカタに使用するツールは、原則に固執している限り、実際には重要ではありません。ただし、Eclipse用JUnitプラグインは非常に使いやすいので、優れた選択肢です。


8

AAAに精通し、それについて読んで、テスト駆動開発に伴う問題について読んでください(設計が問題にならないように、テスト容易性のための設計と高コストのツール)。テスト用の外部依存関係の削除がより簡単になるように、依存関係の注入を学習します。

ユニットテストのアートを読んでいる間に取ったメモの概要を以下に示します。

http://imaginarydevelopment.blogspot.com/2010/01/unit-testing-reference.html


1
ユニットテストの技術を推奨するための+1。私の意見では、読者を怖がらせずに単体テストを説明するのに最適な本の1つです。
アンシュスラー

6

テストハーネス(NUnitなど)をつかみ、いくつかの文献を読んでから手を汚すことに代わるものはありません。

ジェームズ・T・カークがかつて言ったように、「私たちは行うことで学ぶ」。



-3

このリンクを確認してください。TDDに関するBob Martinのブログです。TDDの考え方を理解する(または別の見込みがある)ための優れた資料です。


2
ブログのタグラインは、ボブおじさん自身の言葉で言うと、「コードのクリーン化、デザイン、およびすべてのソフトウェアに関する記述」です。ブログの内容は、OPの「初心者向けのヒント(TDD版)」よりもはるかに広範です。
アジェグロフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.