「テスト駆動開発」の版間の差分

削除された内容 追加された内容
Verba (会話 | 投稿記録)
Verba (会話 | 投稿記録)
42行目:
* 並列処理
 
前者は、盲目的にその良し悪しが判断できない(人の判断が必要である)ことためである、後者は、再現性に問題があるためやはり盲目的に良し悪しを判断できないためである。不具合がないこと前提であとされているため、その点に関してはテスト駆動開発を導入することで、一定の効果はある。
 
また、以下のものについてテスト駆動開発が難しいとの指摘がある (Darach's Challenge)
 
* [[グラフィカルユーザインターフェース]] (GUI) を扱うもの
51行目:
* サードパーティコードや、外部ツールで自動生成されるコード
 
その他にも、既に構築してあるコードに対して、テスト駆動開発を導入するのも難しい。なぜなら、それらのコードは得てしてテストがしやすいようには作られていないことが多いため、先にリファクタリングをする必要があるが、リファクタリングを行うにはその動作の保証をするためのテストが必要だからである(デッドロック)。また、やってはいけないことは、片っ端からテストを書いたり、リファクタリングを行うことである。変更する範囲を制限することを決心し、何らかのフィードバックを得ることを前提として(例えば、ペアリングで注意深く作業を行う、アプリケーションレベルのテストなど)コードを変更していくことが必要である。
 
== 参考文献 ==