感染したテスト

みんな、みんなテストを書く



最初の赤いストリップを見てからもう3年が経ちました。 テストの作成を開始することになったのは、もはや重要ではありません。 情報を収集し始め、 wiki.agiledev.ru全体を読み直し 、最初のSimpleTestテストを厳launchedに開始しました。 もちろん、これらのテストはひどいもので、アーキテクチャも(現在の理解では)大変でした。 その後、おそらくほとんどの間違いを見つけましたが、素晴らしい時間を過ごしました:)



それから彼はPHPUnitに切り替えました-SimpleTestとどのように違うのか、そしてその中で「だまされている」のは興味深いことでした。

そして、 ライムは嫌です。 なぜSymfonyの連中はそんなにこだわったのですか? 私はブランチ1を理解しています。*、レガシー、その他すべて。 ただし、2.0はPHPUnitでも起動できます。

はい、面白かったです。 私は積極的にテストを書きましたが、コードを書く前に正直にこれを試みました。 何かがうまくいきませんでした。テストの書き方と書き方に関するトピックに関するさまざまな記事を読み、wiki.agiledev.ruを読み直してください。 しかし、明らかに何かが欠けていました。



それからMartinの本「 Quick Software Development 」が私の手に落ちました(いつものように、偶然、あるいは当然、 Wayを持っている人のために)。

この男は私にajailを感染させ、本当のOOPが何であるかを示し、TDDの方向に良いキックを与えました。 まだアーカイブのどこかに、TDDを使用して書かれたボウリングをプレイするためのポイント数を計算するためのプログラムのバージョンがあります(興味がある人は、記事の最後にあるリンク)。



それ以来、私は違ってきました:)中核と自給自足が私に現れました。今では、コードとテストの欠陥を見るために他の人の記事を読む必要はありませんでした。 宮本武蔵のように、先生の助けなしに真実を学ぶことができました。

今、私のコードもたわごとですが、今私はこれを認識しています。



そして、 ケント・ベックのように、私が天国に登ろうとしているとすぐに、そのようなトリックを見せてくれました。 同じフレームワークを使用したテストを通じてテスト用のフレームワークを作成したことがありますか? つまり、それを記述するコードを記述します。 私が試した-それは忘れられない喜びです。 Kent Beckは、このような新しい言語の学習を開始することをお勧めします-xUnitを新しい言語で書くこと。 Rubyが私を待っています。



そこで、ベック、「テスト感染」という用語に出会いました。 だから、私は伝染しています:)



なぜテストを書いているのですか



それは私が妄想的で、すべてを恐れているからです。 テストを書いたとき、私は確信しています:

1.プログラムは期待どおりに動作します(各プログラマーは常に異なる方法でのみチェックし、常に最も効率的な方法ではありません)。

2.システムの任意の部分に変更を加えることができ、同時に何も壊れません。 または、すぐにそれを見つけて簡単に修正します。



したがって:

方法

良いテストを書く方法は? 方法があれば、それは時間の問題です。

まあ、 そのようなもの



結論として



参照の小さなリスト: 楽しみたい人のためのタスク:



All Articles