SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Visual Studio 2005 Team Systemを使ってみよう

手動テストからロードテストまで、VSTTでテストフェーズを効率化する

Visual Studio 2005 Team Systemを使ってみよう - 第4回


  • X ポスト
  • このエントリーをはてなブックマークに追加

テストマネージャ

 本稿での最後の機能の紹介です。テストマネージャはVSTTの各機能を利用して作成した個別のテストケースを論理的にまとめ上げるための機能を提供します。VSTDでは単体テストの作成、実行などを行うことができますが、テストマネージャは提供されていません。このため、VSTDではテストビューウィンドウというウィンドウを利用して、すべてのテストケースの一覧をフラットにしか参照することができません(テストビューウィンドウはVSTTにも付属しています)。テストケースが10や20個の単位であればいいですが、もっと量が多い場合には、テストマネージャを利用して、テストケースを意味のある単位にまとめ上げると非常に便利です。テストマネージャではこのまとめ上げる単位を「テストリスト」と呼びます。テストリストはネストさせて構成することも可能です。次の図14はテストリストをネストさせて構成している例です。

図14 テストリストの例
図14 テストリストの例

 図14の左ペインにあるBVTやBankと名前のついているものがテストリストです。1つのテストリストには、複数のテストケースを登録することができます。また、1つのテストケースは複数のテストリストに属することができます。

 このようにして作成したテストリストを利用して、その単位でテストを実行することができます。ここがテストマネージャに用意された最も便利な点だと思います。例えば、あるクラスの異なるメソッドに対して作成した単体テストを1つのテストリストにまとめ上げることで、クラスに対する単体テストを簡単に実行することができるようになります。

まとめ

 今回はVSTTがもつさまざまな種類のテストの作成や編集、実行、管理を行うための機能についてみてきました。これらの機能について簡単にポイントをまとめておきます。

  • 単体テスト
    • VSTDの単体テスト機能と同様のことができる
    • VSTTの単体テスト機能にはコードカバレッジデータのマージ機能が付属している
     
  • Webテスト
    • Webアプリケーションの操作を記録してテストを作成する
    • 操作そのものではなく、HTTP要求を記録している
    • ブラウザのみで動作する処理はテストできない
    • 複雑で高度なテストにはテストケースのコード化で対応できる
     
  • ロードテスト
    • 単体テスト、Webテストのテストケースを利用して作成する
    • 大きくシナリオ、カウンタセット、実行設定の3つで構成されている
    • テストの設定にはそれなりの時間と労力が必要となる
    • テスト結果の詳細はSQL Serverに保存される
     
  • 手動テスト
    • 人間による手作業が必要なテストをVSTTに統合する
    • 手順書はMicrosoft Office Wordまたはテキストファイルで作成される
     
  • 汎用テスト
    • コマンドラインツールなどの外部の実行可能形式ファイルを呼び出す
    • VSTTに統合されない自動テストのテスト成否をVSTTに統合する
     
  • 順序指定テスト
    • ロードテスト以外のテストケースを指定した順番どおりに処理する
    • コマンドラインから実行した場合、手動テストは一時的に削除されて実行される
     
  • テストマネージャ
    • テストを論理的な単位にまとめあげることができる
    • まとめあげたテストをその単位で実行することができる

 VSTTで一般的に大きく取り上げられる機能としては、単体テスト、Webテスト、ロードテストがあります。単体テストは前述の通り、VSTDでもほぼ同様のことが行えます。Webテストはさておき、ロードテストまでもがWebアプリケーションにしか利用できないという誤った認識をされていることが多く、そういった意味で用途が限定されてしまうのではないか、ということから、あまり有効な製品ではないと思われていることも多いようです。

 しかし、今回紹介したように単体テストにはVSTDにはない機能が提供されていたり、ロードテストは単体テストベースで作成したりといったことが可能です。どちらかと言うと大規模アプリケーション開発において非常に有効な機能では、と思われるかも知れませんが、大規模であっても中小規模であってもVSTTによるメリットは同じく享受できると考えています。しかし、ロードテストの部分でも多少触れましたがテストの自動化を行うためにはそれなりの作業時間を要することになります。作成したテストがあまり活用されない、頻繁に変更されるという状況ではコスト対効果がほぼなくなってしまうどころか、場合によっては作成コストがテストの自動化による削減コストを上回ってしまう場合すらあります。

 VSTTはテストを支援する製品として非常に強力なものですが、なんのために導入するのか、という目的をもとに利用されることをお勧めします。今回はVSTTが持つさまざまな機能の概要を紹介しましたが、これらが導入のための検討材料になればと思います。

 次回はVSTSの発表からしばらくしてから追加されたクライアント製品であるVisual Studio Team Edition for Database Professionalsについて、データベーススキーマの変更管理、データジェネレータ、データベースの単体テスト機能を中心に紹介します。

参考資料

  1. Visual Studio 2005 Team System ホームページ
  2. MSDN Library - Visual Studio Team Systemドキュメント

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Visual Studio 2005 Team Systemを使ってみよう連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト りばてぃ/FUJIKO/ナオキ(リバティ, フジコ, ナオキ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/1631 2008/08/26 14:06

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング