ゆーたんのつぶやき

株式会社ノークリサーチにてIT関連のシニアアナリストとして活動しています。

EoTの斬新な発想



EoD(Ease of Development)という言葉はTigerEJB3.0の紹介と共に
だいぶメジャーになってきました。最近ではEoT(Ease of Testing)と
いう言葉が出てきています。如何に容易にテストできるか?という点に
注目した開発手法の考え方ということかと思います。このEoTが斬新な
のは全てにおいて「テスト容易性」を最上位の目標としている点です。


基本コンセプトは「テストが容易」=「良い設計」ということだそうで
これに続いて、
・継承とはMockを実現する仕組みである
・実装とインターフェースを分けるのはテスト容易性のため
・DIはEoTの実現手段の一つである
といったように種々の言語仕様についてもテスト容易性という観点
からその存在意義を捉え直しているというところが、逆転の発想と
もいえて斬新な感じがします。


確かに従来のEJBコンポーネント開発の際にはコンテナシミュレート
は大変なので、お決まりのメソッドをオーバーライドしたMockを作成
してテストするといったことは一般的な手法です。実装ではなく、イ
ンターフェースに対してコーディングを行うのは変更容易性のためで
もありますが、変更が容易→コードの置き換えが容易→テストコード
との置き換えも容易という図式は当然成り立ちます。さらにAOPに関
連する概念であるDIについても、ロガーやプロファイラを挿入する
場面も考えればテスト容易性と密接なつながりがあると捉えられます。


言語やアーキテクチャの持つ意味を「変更容易性」「テスト容易性」
といったようにいろいろと切り口を変えてみて、それぞれの存在意義
をあらためて概観してみるというのも新しい発見がありそうですね。