マイワンのサイトです。
低く イーグル 依頼 シティファイナンスジャパンキャッシング 読ん 合わせ 住ん ネット 均等 考え 幸い 利用 合併 個人 借り入れ まったく 不要 契約 熟読 是非 クレディア パーソナル 新規 取引 適用 くれる シティ 所持 毎月 スタッフィ

金額とは?/ マイワン

[ 455] テストを金額にするといくら? − @IT情報マネジメント
[引用サイト]  http://www.atmarkit.co.jp/im/carc/serial/test01/test01a.html

テスト駆動開発は一般にエクストリーム・プログラミング(XP)の1プラクティスとして紹介されることが多いと思います。しかし、テスト駆動開発自体は決してXPの開発手法に特化したものではなく、さまざまな開発手法とともに有効利用が可能なものです。
では、テスト駆動開発とはいったいどのようなものでしょうか? XPのプラクティスのテスト・ファーストという形で紹介されているときには、次のように説明されていると思います。
XPではかなり厳密に手順が既定されていますが、それにはそれなりの理由があるはずです。手順を厳密に定めていることにこめられた意味(あるいは本質)といい換えてもいいかもしれません。ではテスト駆動開発の意味、本質とは何でしょうか?
この大問題を考えるために、まずはもう少し小さな問題について考えてみましょう。クラスやメソッドについてです。テスト駆動開発では『クラスやメソッドなどの定義を、実際に動くプログラムとして定義』しています。このように定義することで生じるメリットがいくつかあります。
つまり、言葉でプログラムの仕様を説明する代わりに、テストコードでプログラムの仕様を説明しているわけです。例えば、後からプロジェクトに加わった人でも、テストコードを見ればそのプログラムがどんな動きをするものなのかが分かります。もちろん、使い方も分かります。従来からの開発手法に慣れ親しんでいる人が見たら、詳細設計書を書く代わりにテストコードを書く、といったところでしょうか。
さらに、プログラムを改良した場合でも仕様を満たしているかどうかを機械的に判断させることができるようになります。テストのことを最初から考えてプログラムを書くようになるため、テストがしやすい形で設計するようになります。テストをやりやすくするためにはモジュール間の結合度を低くしなければならず、その結果、自然に良いプログラムとなるメリットがあるのです。
私的な意見としては、必ずしもXPのようにプログラムコードを書く前にテストコードを書くことを強制する必要はないと考えています。なぜドキュメントを残さなければならないかというと、それは時・場所を超えて自分や他人に考えや仕様を伝えるためです。設計という行為と、それをドキュメントに落とすという行為は別物です。
開発形態にもよりますが、少人数であればドキュメントとしてのテストコードを実装コードと同時に作ったり、ちょっとだけ後で作ったりも「あり」でしょう。逆に大人数ならば、実装前のテストコードを、他人に仕様を伝達するための有用なドキュメントとして活用できるかもしれません。それぞれがやりやすいようにやればよいのではないでしょうか。
そもそもプログラムの仕様が言葉だけで書いてある状態って、不安じゃありませんか? そのような状態では実際に人間がテストを実施しないと、プログラムが仕様どおりになっているかどうかなんて、誰も保証できないのです。
例えば、ちょっとプログラムを修正した場合でも、関連するすべての部分についての再テストが必要となるはずなのですが、本当に毎回ちゃんと再テストが実施できているでしょうか? 再テストを省いてリリースしてしまった結果、トラブルが発生してしまった、なんてことはないでしょうか? テスト駆動開発では、テストが仕様であり、テストを通すことが必須になるので、仕様を満たさないプログラムがリリースされることはなくなります。プログラムの動作が保証される仕組みになっているわけです。
どうですか? テスト駆動開発を導入しないままでいることのリスクがちょっとは見えてきたのではないでしょうか? ここでさらにテスト駆動開発導入を一押しするために、一歩下がってちょっと周りのことを考えてみましょう。テストの値段を考えてみる、という話です。

 

戻る

マイワンのサイトです。

マイワンのサイトです。