印刷用ページ       送信     
クリックして評価とフィードバックをお寄せください
 ツールボックス : クロスブラウザ テスト、モック オブジェクト、そし...
Related Articles

今月号で、James McCaffrey は、WCF アプリケーションの性能を試すためのテスト ハーネスを構築します。

Dr. James McCaffrey

MSDN Magazine July 2008

...

Read more!

複数のオプションから最良のものを 1 つ選択する集団意思決定の分析手法については、幅広い研究が行われてきました。Dr. James McCaffrey が 5 つの方式を取り上げて要点を説明します。

Dr. James McCaffrey

MSDN Magazine November 2008

...

Read more!

今回は、James McCaffrey が構成テスト向けの仮想環境をセットアップし、Microsoft Virtual Server を使用したソフトウェア構成テストについて説明します。

Dr. James McCaffrey

MSDN Magazine September 2008

...

Read more!

統合言語クエリ (LINQ: Language-Integrated Query) を利用することで、いろいろな操作を簡単に行うことができるようになります。ここでは、LINQ (具体的には LINQ to SQL プロバイダ) を使用して、SQL ストアド プロシージャのテストを行います。

Dr. James McCaffrey

MSDN Magazine April 2008

...

Read more!

Virtual Server は一連の COM モジュールで構築されているため、バーチャル マシンの作成およびテストに使用できます。ここでは、Windows PowerShell を使用したテストの実行方法を説明します。

Dr. James McCaffrey および Paul Despe

MSDN Magazine December 2008

...

Read more!

Also by this Author

今回のテーマは、Windows フォームのグリッド、洗練された外観の日付テキスト ボックス、ファイルのマージ、およびその他です。

Scott Mitchell

MSDN Magazine November 2007

...

Read more!

今月は、固定長ファイルと区切りファイルへのシリアル化および逆シリアル化に役立つツール、Scott Allen のブログ、Web ページの検査用ツールなどを紹介します。

Scott Mitchell

MSDN Magazine August 2008

...

Read more!

今月は、.NET アプリケーションへのアクティブ レコード パターンの実装について説明し、アスペクト指向プログラミングで考慮事項がどのように分離されるかを示します。

Scott Mitchell

MSDN Magazine February 2009

...

Read more!

今月は Scott が現実的なテスト データを生成する方法、Dare Obasanjo のブログ、判読性を高めるための色分けコーディングを紹介します。

Scott Mitchell

MSDN Magazine October 2008

...

Read more!

今月の記事で Scott は、開発スキルの向上、正規表現の記述、Web スケジュール管理、および SQL のヒントを提供するブログについて取り上げています。

Scott Mitchell

MSDN Magazine November 2008

...

Read more!

Popular Articles

When incorporating the ASP.NET DataGrid control into your Web apps, common operations such as paging, sorting, editing, and deleting data require more effort than you might like to expend. But all that is about to change. The GridView control--the successor to the DataGrid-- extends the DataGrid's functionality it in a number of ways. First, it fully supports data source components and can automatically handle data operations, such as paging, sorting, and editing, as long as its bound data source object supports these capabilities. In addition, ...

Read more!

Chris Tavares は、ASP.NET MVC Framework の Model View Controller パターンが、柔軟性に富み簡単にテストできる Web アプリケーションの作成にどのように役立つかを説明しています。

Chris Tavares

MSDN Magazine March 2008

...

Read more!

Writing a Web application with ASP.NET is unbelievably easy. So many developers don't take the time to structure their applications for great performance. In this article, the author presents 10 tips for writing high-performance Web apps. The discussion is not limited to ASP.NET applications because they are just one subset of Web applications.

Rob Howard

MSDN Magazine January 2005

...

Read more!

Paul DiLascia

MSDN Magazine August 2002

...

Read more!

UI パーツ間の対話の基盤となる Windows Presentation Foundation のルーティング イベントとルーティング コマンドについて説明します。

Brian Noyes

MSDN Magazine September 2008

...

Read more!

ツールボックス
クロスブラウザ テスト、モック オブジェクト、そして Raymond Chen
Scott Mitchell


ブラウザ互換性テストの向上
Web 開発者は夜眠るとき、すべての Web ブラウザが HTML 標準に完全準拠する夢を見ます。彼らは、すべての Web サーファーが同じモニタ解像度、色深度、フォント サイズを使用する世界を想像します。ところが、現実はそれとはかなりかけ離れています。Web 開発者は、起きている間、膨大な数の構成で適切に機能する Web アプリケーションを設計しなければなりません。
完全な Web テスト環境の構築には、手間暇がかかり、複数のブラウザ、バージョン、オペレーティング システムをインストールする必要があります。リモート Web ベースのテスト環境は、開発者のこのような負担を取り除いてくれます。
そのためのサービスの 1 つに "Browsershots" があります。URL を指定すると、Browsershots は選択されたブラウザ、バージョン、オペレーティング システムの組み合わせでスクリーンショットを取得し、表示します。組み合わせは 53 とおりあり、さらに画面サイズ、色深度、JavaScript のサポートなどのクライアント設定を指定できます。Browsershots は無償サービスですが、処理する要求の数に応じて 1 分弱~ 30 分以上の待ち時間が生じる場合があります。1 か月あたり 15 ドルで優先処理にサインアップできます。この優先処理を利用すると、あなたの要求がキューの先頭に移動されます。
スクリーンショットは特定のブラウザでの Web サイトの表示を確認するには便利ですが、サイト上でユーザーが操作したときの動作はわかりません。この種のテストを行うには、BrowserCam を使用します。BrowserCam は Browsershots と同様にスクリーンショットを提供しますが、その他に各種オペレーティング システムやブラウザをリモートでアクセスすることもできます。この機能により、コンピュータにログインし、設定を行い、Web サイトを操作できます。
価格 : Browsershots (無償)、BrowserCam (プレミアム サービス、89.95 ドル/月)
Browsershots で撮った Microsoft.com (クリックすると拡大画像が表示されます)

注目のブログ
コンピュータをシャットダウンするために [スタート] ボタンをクリックする必要があるのはなぜだろうという疑問を抱いたことはありますか。あるいは、なぜ Windows® オペレーティング システムのデバッガを "ワトソン博士" と呼ぶのかを不思議に思ったことはありますか。コンピュータ ゲームが動作しないという問題が発生して、Windows XP SP2 のベータ版リリースが遅れる危機にさらされたことがありますが、それがどのような問題だったのかをご存知ですか。レジストリを "ハイブ" と呼ぶ理由を知っていますか。Raymond Chen は知っています。
Raymond は 1992 年に Windows 95 のソフトウェア エンジニアとして Microsoft に入社して以来、Windows の歴史的な情報に関する仮想リポジトリの役割を果たしています。ブログ「The Old New Thing」の中で、彼は前述の質問に回答し、その他の多くの Windows 従来バージョンにも取り組んでいます。Raymond は多くの Windows のデザイン決定の現場にいたので、Windows の舞台裏に関する生の情報を持っています。内部情報とドライな機知が満載の Raymond のブログは楽しくて役に立つ読み物です。
ところで、Windows レジストリを "ハイブ" (蜂の巣) と呼ぶのは、Windows NT® の開発者の中に蜂嫌いがいたからだということですが、Raymond は後でこのジョークの報いを受けることになりました。ともかく、ここでは 1 つの目標を念頭に置いた重要な決断が下されています。それは下位互換性を確保するということです。Raymond は、古い 16 ビットの Visual Basic® アプリケーションや人気のある MS-DOS® ゲームが新しいバージョンの Windows でも問題なく動作するように、下位互換性を確保するための多大な努力が費やされた場面を見事に浮き彫りにしています。
Windows の歴史に関するブログ以外に、TechNet Magazine (.com) で評判のコラム「Windows 秘話」も執筆しています。また、Windows プログラマ向けのさまざまなヒントや裏技を定期的に投稿しています。
Raymond Chen のブログ : 「The Old New Thing (古くて新しいもの)」(クリックすると拡大画像が表示されます)

モックを使用した単体テスト
優れた単体テストは、簡潔かつ実行が迅速であり、他のテストから独立しています。データベース、Web サービス、構成ファイルなどの外部依存関係のある機能をテストする場合は、これらの目標を達成するための追加手順が必要になります。1 つの選択肢として、各単体テストを実行する前に外部依存関係の状態を記録し、各テストの完了後に状態を元に戻す方法があります。ただし、このような過剰な設定や後処理を行うと単体テストの実行速度が大幅に低下する可能性があるので、重点が単体テストの作成から外部依存関係の状態管理に移ります。
もう 1 つの選択肢として、モック オブジェクトを使用して外部依存関係の呼び出しをシミュレーションする方法があります。単体テストの実行時に、モック オブジェクトは外部依存関係にアクセスするロジックに置き換えられます。テスト対象のコードが操作するのは実際の外部依存関係ではなくモック オブジェクトなので、複雑な設定や後処理のロジックは不要です。また、モック オブジェクトを使用すると、コードと外部依存関係とのやり取りを明示的にテストできます。
複数のオープンソースおよび市販のモック作成用フレームワークが存在し、オブジェクトのモックを作成するための構文要件もさまざまです。一部のフレームワークでは、モックを作成するオブジェクトを指定する文字列をハードコーディングして機能をシミュレーションします。その他に、厳密に型指定されたオブジェクトを使用するフレームワークもあります。このタイプのフレームワークは、実行時よりコンパイル時のエラーの特定に役立ちます。
Typemock Isolator (version 4.2) は、どちらの方法も使用できるモック作成フレームワークです。どちらの方法を使用しても、単体テストでモック オブジェクトを使用する場合のセマンティクスは同じです。モック オブジェクトを定義し、テスト対象コードとのやり取りの方法を指定し、コードを実行して、想定どおりの結果になることを確認します。
Typemock が他の多くのモック作成フレームワークと異なる点は、ツールと統合のサポートです。モック オブジェクトを使用した単体テストでは、どこで実際の外部依存関係の代わりにモック オブジェクトを使用しているかが必ずしも明確ではないため、デバッグが困難になる可能性があります。
このトレース ユーティリティを使用すると、モック オブジェクトがどのように使われているかを確認できるため、この困難が解消されます。このユーティリティは、モックの型と単体テストの実行中に行われたすべての呼び出しを記録して表示します。単体テストのデバッグ時に、Typemock はモックされたメンバの概要を IDE に表示して、モックされているオブジェクトの内容を明示します。また、Typemock を Visual Studio® シェルに統合してシステムの機能を強化し、NAnt および MSBuild を使用した単体テストの自動化をサポートすることもできます。
Typemock は Microsoft® .NET Framework バージョン 1.1 以降をサポートし、無償の Community Edition や、より機能が豊富な Professional Edition および Enterprise Edition を提供しています。
価格 : Community Edition (無償)、Enterprise Edition (449 ドル)
Typemock Trace Utility (クリックすると拡大画像が表示されます)

推薦図書
.NET Framework 2.0 以降のバージョンでは、コア機能を維持したままで新機能が追加されています。このことが、.NET Framework のバージョン 2.0 以降に関する書籍を執筆する著者を悩ませています。それは、新機能だけに重点を置くべきか、それとも新機能とバージョン 2.0 以降のその他の内容も盛り込むべきかという悩みです。
約 1,500 ページに及ぶ『Pro ASP.NET 3.5 in C# 2008』(Apress、2007 年) の共著者 Matthew MacDonald と Mario Szpuszta は明確に後者を選択しています。本書は 33 の章で構成され、単純な Web フォーラムの作成方法、AJAX や Silverlight™ の最新機能の使い方など、幅広いトピックを取り上げています。
Web フォーラム、Web コントロール、状態管理などの ASP.NET の基礎に関する概要から始まり、ADO.NET、LINQ、ASP.NET AJAX、Silverlight などの話題に移行していきます。ASP.NET のほとんどすべての機能が取り上げられていますが、説明はよく使われる機能に重点を置いています。
これまでに Web 開発の経験があり、ASP.NET 3.5 の習得に関心がある中級または上級の開発者には、『Pro ASP.NET 3.5 in C# 2008』をお勧めします。
価格 : 59.99 ドル
(クリックすると拡大画像が表示されます)

ご意見やご質問は、Scott (toolsmm@microsoft.com) までお送りください。

Scott Mitchell は、多数の著書を出版している執筆者であり、4GuysFromRolla.com の創設者です。また、1998 年からは Microsoft MVP としてマイクロソフトの Web テクノロジに携わっています。現在は、フリーのコンサルタント、トレーナー、およびライターとして活躍しています。Scott の連絡先は、Mitchell@4guysfromrolla.com (英語) です。また、ScottOnWriting.NET にブログを公開しています。

Page view tracker