BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ アーティクル Typemock: その過去・現在・未来

Typemock: その過去・現在・未来

InfoQ: Typemockを作った理由はなんだったのでしょうか。

Typemock: Typemockの始まりは2004年でした。現在のCEOであるEli LopianはディベロッパがTDD(テスト駆動開発)を実践しないのはユニットテストを書くのが大変だからだと気づきました。彼はディベロッパがアジャイルになることをサポートするようなツールを作りたいと考えました。当時Eliはある大企業のメインディベロッパの一人でしたが、製品開発プロセスが非常に複雑で、コーディングは以前より時間がかかり難しいものになっていっていることに気づいていました。200名を超えていたEliのグループは、2,3ヶ月をコーディングに時間を費やした後、ほぼ9ヶ月をテストに使いました。言うまでもなく、テストが製品化までの時間に大きな影響を与えていました。

Eliはなぜこのようなことが起きるのかを調べることにしました。チームを立ち上げコーディングとテストのプロセスを分析したところ、QA(品質チェック)チームの見つけたバグの90%は開発途中で解決できるものだということが分かりました。これらのバグが開発の段階で対処されていればプロセス全体の時間は大幅に短くなっていたことは明らかでした。このことがあってEliはアジャイル方法論やTDD、ユニットテストに目を向けるようになり、それらをコードやテストプロセス、最終的には製品の質を高めるために生かしたいと考えました。

Eli は自分たちのアプリケーションについてテストを書くというテストパイロットをおこないました。チームはコードをユニットテストする価値を理解しましたが、しかし一方でテストを書いたり学習したり実践することはかなりの時間消費になるという懸念も確かなものになっていきました。加えて、大規模なチームでこのようなプロセスを実践することはディベロッパの仕事をもっと複雑にしてしまうことを知りました。

このテストパイロットはコード検証テストが製品の品質を改善するのに欠かせない価値のあるプロセスであることを証明したという意味で成功でした。しかし同時に、その当時あったコードテストの方法論やツールは効率的といえるものではないことも明らかにしました。

 

InfoQ: Typemock Isolatorが競合製品と違うのはどういう点でしょう。

Typemock:Typemock Isolatorはあらゆるコードに「テスタビリティ」の属性を付加し、それによりテストをずっとシンプルにします、この属性はAOP(アスペクト思考プログラミング)フレームワークを使って動的に付加されるので、決められた方法でコードを書かないといけない類似の他のツールと違って、コード設計はどのようであってもよく他の方法でテストすることも可能です。IsolatorはSharePointやLINQをはじめとする最新のテクノロジのほぼ全てに適用することができます。

EliはTypemock Isolatorの最初のバージョンを家で書いた後、自分のウェブサイトにアップロードして興味のある人たちに配布しだしました。ディベロッパコミュニティはすぐにTypemock Isolatorを使ってユニットテストを書くメリットに気づきました。Isolatorは、どれだけのユニットテストがおこなわれているかを知るのにも使え、開発のマネージャたちが進行状況をずっと見通しよく見ることができます。Eliになぜモックフレームワークの世界に飛び込もうとしたのかを尋ねた時、ディベロッパはユニットテストの価値に気づいている、しかしそれにかける時間がいつも成果に見合うわけではないと彼は言いました。今の彼にとっての一番の喜びのひとつは、人々がTypemock Isolatorに乗り気になっていて、かつ心から望んで採用していることです。Typemock Isolatorについて、それがどのように役立つかを語る時にみなの目が輝くのを見るのが楽しいと彼は言っています。いくつものチームがユニットテストにおいて目覚ましい成果があったことを報告していますし、そのようなチームではTDD採用の比率も高くなっています。

今日 Typemockは小規模な企業にも大規模な企業にも販売されている立派な製品となりました。今は開発プロセス全体をよりアジャイルにする、そして開発環境と統合的に連携できる新機能を開発しているところです。ユーザはTypemockのパフォーマンスに満足してくれ、Typemockコミュニティが世界中にできたくらいです。コミュニティのメンバはTypemockについての情報を共有したり、アドオンを作ったり、アジャイル環境で活用したりといろいろしていますが、それらの活動に共通するのはコードテストをより速くより正確にするという精神です。
 

InfoQ: ディベロッパがTypemockを採用する理由はなんでしょう。

Typemock: Typemock の価値はそのユーザーの熱意からも分かりますが、数字としても表れています。オンラインバンキングとペイメントソリューションおよびセキュリティソリューションの先駆けであるCorillian Corparation(www.corillian.com)では、自社のソフトウェアの品質を高め、ユニットテストを自動的に行うアジャイルなやり方を導入する方法としてTypemockを採用し実際に使用しましたが、その結果は驚くべきものでした。採用してから2ヶ月しないうちにテスト数は 500%、テストカバレッジは50%増え、テストを書く時間は25%速くなり、Corillian社の他のディベロッパたちもTypemockをテストで使おうとしています。
 

Typemockは謳い文句どおりの働きをしてくれる。テストというものが以前より速く簡単にできるようになる。

Scott HanselmanB
Corillian社の前チーフアーキテクト

ユーザ企業の中には、Typemockを導入してから一つもバグなしでQAにコードを渡せるようになったと言ってくれるところもいくつかあるくらいです。
 

InfoQ: Typemockの今後のバージョンで加わる機能はなんでしょうか。

Typemock: Typemock Isolatorは常に改善がされ、常に機能が追加されていっています。ついこの間新しいバージョンがリリースされましたが、このバージョンでは新しい APIが追加されました。将来のバージョンはVisual StudioやVisual Studio Team Systemとよりスムーズに連携するようになるでしょう。SharePointやデータベースといった特定のプラットフォーム向けのアドインを作ることも予定しています。Isolatorはより多くのソフトウェアパターンをより簡単に扱えるようになりますし、またmscorlibの切り離しもサポートする予定です。

TypemockはEli Lopianが最初のバージョンを開発した時のビジョンの通りに進んでいます。それは先ほど言ったように、ユニットテストの世界を変え、ディベロッパたちがアジャイルになりTDDをおこなうようにするということです。

Typemock のモットーは、ディベロッパが仕事をより良くより速くこなすことを助け、コードの品質を上げることを助け、TDDとアジャイルの世界へ出来る限りスムースに入っていけるよう助けることです。Typemockについての詳しい情報はwww.typemock.comをご覧ください。
 

 

原文はこちらです:http://www.infoq.com/articles/lopian-typemock
(このArticleは2008年9月4日に原文が掲載されました)

この記事に星をつける

おすすめ度
スタイル

BT