「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
テスティング・フレームワークは
などで使用される。
各ツールの説明と適合するシナリオについて分析する。
.NET開発のJUnitに対応するテスティング・フレームワークには、
NUnitやVisual Studio の単体テスト機能がある。
ただし、DJunit、DBunit相当のフレームワークは存在しない。
なお、これらの機能は、
Visual Studio 2005では、Team Developer、Team Tester以上
のEditionでしか利用できなかったが、
で利用可能になっている。
以下のUIテスト自動化が可能なxUnit系ツールも存在するが、
画面からテストする分、使い方が複雑になり、使い難くなっていると思われる。
UIオートメーションは、UIテスト自動化
(UIに対するイベントの起動を自動化)
するためのフレームワークであり、
.NET Framework 3.0(移行)のWPFに含まれている。
このUIオートメーションを利用することで、
以下のアプリケーションのUIを操作できる。
・・・
また、Visual Studio 同梱の機能に
コード化された UI テスト(Coded UI Test)
がある。
こちらを参照すると、コード化された UI テスト(Coded UI Test)は、
UI Automation Libraryをランタイムとして使用する機能であることが解る。
エントリ系の自動化に特化した用途であれば、有用である可能性がある。
#UIテスト自動化の導入方針の「使い捨て前提で適用シーンを絞り込んで利用」に合致。
カバレージ率を収集するツール。
上記(テスト結果、カバレージ率)のレポート生成ツール。
UP開発に対して、テスティング・フレームワークを使用した
のシナリオが適用困難である事実をサンプリングして説明する。
UP開発では(UIテスト自動化と同様に)、
テスティング・フレームワークを使用したレグレッション・テストで
ペイするプランを立案し難い。
どのような開発においても、
定量的な効果にどれぐらいの違いがあるのか解らない。
ただし、テスティング・フレームワークを使用した
レグレッション・テストの自動化が前提となっている場合は、
テスト・ファーストを試してみても問題ないと思われる。
テスト対象にUIを含める場合は、
を使用することになると思われる。
テスティング・フレームワークは、
やはり、UP開発ではなく、
と親和性が高いものと考える。
従って、
#影響範囲なども把握し難い状況を想定。
で、デグレード等の早期検出という用途に最も適合しているものと考える。
#所謂OSSコミュニティ的な開発運用。
これはコードの進化のスピードに大きな影響を与えるため、
OSS文化隆盛の要因の一つにもになっているものと考える。
某開発支援ツールがテスティング・フレームワークを使用して、
かなりの所までレグレッション・テストの自動化ができている。
ちなみにこの、テスティング・フレームワークを使用したテスト自動化基盤、
通常CL消化1人月程度の所を、9人月ぐらいの工数をかけて整備しているとのこと。
また、上記のテスト対象にUIを含めることは難しいため、B層・D層をテスト対象としている。