Open棟梁Project - マイクロソフト系技術情報 Wiki

目次

概要

テスティング・フレームワークは

などで使用される。

各ツールの説明と適合するシナリオについて分析する。

xUnit系ツール

.NET開発のJUnitに対応するテスティング・フレームワークには、
NunitやVisual Studio の単体テスト機能がある。
ただし、DJunit、DBunit相当のフレームワークは存在しない。

なお、これらの機能は、

Visual Studio 2005では、Team Developer、Team Tester以上

のEditionでしか利用できなかったが、

で利用可能になっている。

画面系

以下のUIテスト自動化が可能なxUnit系ツールも存在するが、
画面からテストする分、使い方が複雑になり、使い難くなっていると思われる。

機能の変遷

VS2008

VS2010

VS2012

UI Automation

UIオートメーションは、UIテスト自動化
(UIに対するイベントの起動を自動化)
するためのフレームワークであり、
.NET Framework 3.0(移行)のWPFに含まれている。

このUIオートメーションを利用することで、
以下のアプリケーションのUIを操作できる。

・・・

Coded UI Test

また、Visual Studio 同梱の機能に

コード化された UI テスト(Coded UI Test)

がある。

こちらを参照すると、コード化された UI テスト(Coded UI Test)は、
UI Automation Libraryをランタイムとして使用する機能であることが解る。

エントリ系の自動化に特化した用途であれば、有用である可能性がある。
#UIテスト自動化の導入方針の「使い捨て前提で適用シーンを絞り込んで利用」に合致。

適合するシナリオ

UP開発に対して、テスティング・フレームワークを使用した

のシナリオが適用困難である事実をサンプリングして説明する。

xUnit系ツール

レグレッション・テスト

UP開発では(UIテスト自動化と同様に)、

テスティング・フレームワークを使用したレグレッション・テストで

ペイするプランを立案し難い。

TDD(テスト駆動開発)

どのような開発においても、

定量的な効果にどれぐらいの違いがあるのか解らない。

ただし、テスティング・フレームワークを使用した
レグレッション・テストの自動化が前提となっている場合は、
テスト・ファーストを試してみても問題ないと思われる。

UI Automation

Coded UI Test

テスト対象にUIを含める場合は、

を使用することになると思われる。

効果的シナリオ

テスティング・フレームワークは、

やはり、UP開発ではなく、

と親和性が高いものと考える。

従って、

#影響範囲なども把握し難い状況を想定。

で、デグレード等の早期検出という用途に最も適合しているものと考える。

#所謂OSSコミュニティ的な開発運用。

これはコードの進化のスピードに大きな影響を与えるため、
OSS文化隆盛の要因の一つにもになっているものと考える。

事例

某開発支援ツール

某開発支援ツールがテスティング・フレームワークを使用して、
かなりの所までレグレッション・テストの自動化ができている。

ちなみにこの、テスティング・フレームワークを使用したテスト自動化基盤、
通常CL消化1人月程度の所を、9人月ぐらいの工数をかけて整備しているとのこと。

また、上記のテスト対象にUIを含めることは難しいため、B層・D層をテスト対象としている。


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS