VSTE for SDは各種分析ツールが開発環境に統合されています。開発者自身がコーディングやパフォーマンス、およびセキュリティに関連する問題を検出することができます。特に静的コード分析は、今までソースコードレビューで行っていた多くの部分を、レビューを行う前に開発者自身によりコードの欠陥の発見・修正を可能とします。
テストの種類が多様ということは、それぞれの連携・管理が難しくなります。VSTE for STでは単体テスト・Webテスト・手動テスト・負荷テストなどの様々な基本的なテストパターンが用意されています。汎用テストも用意されているので、独自のテストツールを用意した場合でも一元管理が可能です。それぞれのテストの進捗状況・バグの発生状況・収束状況をリアルタイムに把握できることは、過不足なく必要十分なテストを実行可能とします。
例えばLUCINA for .NETではテストファーストを前提とし、単体テストコードの作成を義務づけています。その際、テストケースの充足判断が非常に難しかったのですが、開発環境にコードカバレッジの機能が提供されたことで、ある程度の目安が用意できると考えます。少なくとも事前に開発者自身に気づかせられるという意味で、論外といったレベルのチェックはなくなるでしょう。
コードプロファイラはパフォーマンスチューニングや何か問題が起こった際の原因究明に非常に有効です。しかしこれは開発者自身にゆだねるのはちょっと酷なので、アーキテクチャチームのメンバーで行うことになるでしょう。といってもやはりVSTE for SDは、簡単に効果を発揮しやすい製品だと思います。
VSTE for STの有効性
VSTE for STは正しく使われれば非常に効果が期待できますが、むらも出やすいのです。十分な効果を発揮するためには、様々な注意が必要です。
今回はVSTE for SDおよびVSTE for STを開発ライフサイクルの観点で見てきました。次回は、チーム開発という観点でVisual Studio Team Foundation Server(図1のこれまで紹介してきた3つのVisual Studio Team Editionの土台となっている要素)を評価していきます。