はじめに
Visual Studio 2005 Team System(以下、VSTS)がリリースされ、Visual Studioのターゲットは開発者の枠を飛び越えることになりました。これはプロジェクトマネージャーからテスターまでを包括的にカバーし、チーム開発を強力に支援する製品としてリリースされましたが、まだまだ浸透していないように思います。今回は、VSTSのうち、テスト担当者向けにリリースされているVisual Studio 2005 Team Edition for Software Testers(以下、VSTT)に用意されているテスト機能について、それぞれの概要を紹介します。
対象読者
- .NET Frameworkを利用した開発プロジェクトに携わっている人
- Visual Studio 2005 Team Systemに興味がある人
必要な環境と準備
特にありません。
VSTTに用意された機能
VSTTには、テストの作成や編集、テストの実行、テストの管理といったアプリケーションに対してさまざまなテストを行うための、以下の機能が用意されています。
- 単体テスト
Visual Studio 2005 Team Edition for Software Developers(VSTD)に用意されている単体テスト機能と同様のもの。
- Webテスト
Webアプリケーションの操作をロギングし、同様の処理を繰り返し試験するための機能。
- ロードテスト
Webテストで作成したシナリオなどをもとに、Webアプリケーションに負荷をかけてレスポンスなどを試験するための機能。
- 手動テスト
Wordやテキストファイルを登録し、テストの成否を管理するための機能。
- 汎用テスト
VSTTでは実行できない例えばNUnitなどのテストをVSTTから呼び出し、実行結果の成否を管理するための機能。
- 順序指定テスト
VSTTで作成したすべてのテストをまとめ上げて指定した順番どおりに実行する機能。
- テストマネージャ
1つ1つのテストを意味のある論理的な単位にまとめ上げて、その単位でテストを実行することができるようにするための機能。
VSTTにはテストを支援するための実にさまざまな機能が用意されていますが、WebテストだけはWebアプリケーションにしか利用することができません。ですが、その他の機能はすべてのアプリケーションで利用可能です。それではさっそく、VSTTに用意されたそれぞれの機能がどのようなものであるか、実際にみていきたいと思います。なお本稿では、単体テスト、Webテスト、ロードテスト、テストマネージャについて重点的に説明し、それ以外の機能はまとめて紹介します。
単体テスト
VSTTに用意されている単体テスト機能は、基本的にはVSTDに用意されている単体テスト機能と同様です。テストコードの雛型の自動生成機能やプライベートアクセッサの生成機能、単体テストの実行に合わせたコードカバレッジデータの収集機能などはVSTDと同様に使用することができます(これらの内容についてはシリーズ第3回の記事をご覧ください)。
しかし、VSTSのエディションにおける考え方から推測すると、VSTTがVSTDの単体テスト機能と同様の機能が使えると考えるのではなく、VSTDがVSTTに用意されている単体テスト機能のうち、上記に挙げたような機能が使えるようになっていると考えるべきかもしれません。それを証明するわけではありませんが、VSTTには、VSTDにはない単体テスト機能として、コードカバレッジデータのマージ機能が用意されています。
図1、図2は同じクラスの異なるメソッドに別々のタイミングで行われた単体テストのコードカバレッジデータをあらわしています。図3ではこれらのデータをマージして1つの結果として参照できていることをあらわしています。
複数回にわたって単体テストを実行することはよくあることだと思いますがこのようなときでも、必要なデータのみを集めてコードカバレッジデータをマージすることで、異なるテストによって得られた結果から全体のテスト状況を確認することができるようになります。