テスト自動化とは

テスト自動化


自動化に向くテスト xUnitを使った試験、ビルド後のスモーク試験、回帰試験、負荷試験のような繰り返すテストに特に有効
向かないテスト 1回しか行わないテストでは自動化するための手間がかかるため、人がやった方が早くなることもある


1.V字開発プロセスモデルによる分類


1.1.要件定義

VDM
形式手法(Formal Methods)により仕様の自動検証などを行う。

1.2.システム設計

モデル検査

Spin
モデル検査により状態遷移図の状態で自動検証を行う。
LTSA
モデル検査により状態遷移図の状態で自動検証を行う。
NuSMV
モデル検査により状態遷移図の状態で自動検証を行う。

モデル駆動

ZIPC(商用:キャッツ株式会社)
状態遷移図による検証が可能
MDA
モデルを実際に動かして動作検証する。Executable Umlなどを使用して仕様を記述。
IAR visualSTATE(商用:IAR SYSTEMS)
ステートマシンを設計、検証、実装できるツール。20ステートまでの無料の評価版あり

1.3.詳細設計

Enterprise Architect(商用:SPARX SYSTEMS)
テストツールではないが、UMLからソースのスケルトンの自動生成が可能。状態遷移図からのソース生成も可能なので、モデル検証で検証した状態遷移をこのツールで実装可能。
blanco Framework
Excelで書いた仕様書からプログラムを自動生成(Java、.NET、JavaScript、PHP、Ruby、Pythonに対応)

1.4.開発


1.5.コンポーネントテスト(ユニットテスト、単体テスト)

xUnit
単体テストに主に使われる。各言語版がある。テストケースをプログラムで書き自動実行する。テストケースを先に書くTDD(テスト駆動開発)などでも使われる。

1.6.統合テスト (結合テスト)

TestNG
Javaのためのテスティングフレームワーク。すべてのテストカテゴリをカバーするよう設計されている: ユニットテスト、機能テスト、エンドトゥーエンドテスト、結合テスト、統合テストその他
staf
The Software Testing Automation Framework (STAF)アプリケーションがあらかじめ対応することでTCP/IP経由でテストコマンドを送るテスト自動化用フレームワーク。実行すると専用サーバーが起動し、コマンドやログを送受する。

1.7.システムテスト

WEBテスト自動化

Selenium
WEBアプリを自動操作可能
Watir
RubyでIEを自動操作
WatiN
.NetでIEを自動操作
WatiJ
JavaでIEを自動操作

GUIテスト自動化

UWSC
Windowsアプリの操作を記録・再生。記録した結果はマクロになり編集可能。
AutoIt
WindowsのGUIテストWindowsの操作を自動で行うBASICライクなツール
GUITest
GUIテスト用ツール(Ruby)

負荷テスト(WEB)

JMeter
WEBアプリケーションのパフォーマンス測定/負荷テストツール
OpenSTA
WEBアプリケーションの負荷テストツール
WebLoad
WEBアプリケーションの負荷テストツール

1.8.受け入れテスト

Quality Commander(商用:日本ノーベル株式会社)
ロボット+カメラによる画像認識で組込み機器を自動評価
FIT/FitNesse
受け入れテストフレームワークFIT(Framework for Integrated Test) Wikiを使った受け入れテスト
Canoo WebTest
XMLファイルに試験条件などを記載しWebアプリケーションの自動機能試験を行う
HttpUnit
HttpUnitを利用したWeb画面テストの自動化

2.開発対象による分類


2.1.WEBテスト自動化

自動操作

Selenium
WEBアプリを自動操作可能
Watir
RubyでIEを自動操作
WatiN
.NetでIEを自動操作
WatiJ
JavaでIEを自動操作

負荷テスト

JMeter
WEBアプリケーションのパフォーマンス測定/負荷テストツール
OpenSTA
WEBアプリケーションの負荷テストツール
WebLoad
WEBアプリケーションの負荷テストツール

(仕様に基づき)自動試験

FIT/FitNesse
受け入れテストフレームワークFIT(Framework for Integrated Test) Wikiを使った受け入れテスト
Canoo WebTest
XMLファイルに試験条件などを記載しWebアプリケーションの自動機能試験を行う
HttpUnit
HttpUnitを利用したWeb画面テストの自動化

2.2.組み込み

Quality Commander(商用:日本ノーベル株式会社)
ロボット+カメラによる画像認識で組込み機器を自動評価
CUnit for Mr.Ando.
とても軽いcUnit。最小の機能に絞っているためCPUやcコンパイラによらず使用可能。

2.3.GUIテスト自動化(Windows)

自動操作

UWSC
Windowsアプリの操作を記録・再生。記録した結果はマクロになり編集可能。
AutoIt
WindowsのGUIテストWindowsの操作を自動で行うBASICライクなツール

3.開発言語による分類


3.1.C

splint
フリーの静的解析ツール
gcov
フリーのカバレッジ計測ツール
CUnit for Mr.Ando.
とても軽いcUnit。最小の機能に絞っているためCPUやcコンパイラによらず使用可能。
gdb
GDBによるテスト自動化への試み

3.2.C++

CppUnit
c++用xUnit

3.3.C#

WatiN
.NetでIEを自動操作
NUnit
.NET Framework用xUnit

3.4.Visual Basic

WatiN
.NetでIEを自動操作
NUnit
.NET Framework用xUnit
VBUnit
Visual Basic用xUnit

3.5.Java

TestNG
Javaのためのテスティングフレームワーク。すべてのテストカテゴリをカバーするよう設計されている: ユニットテスト、機能テスト、エンドトゥーエンドテスト、結合テスト、統合テストその他
easyb
BDD(ビヘイビア駆動開発)に基づくJava用ツール
EMMA
フリーのカバレッジ計測ツール
FindBugs
Javaソースコードの不具合やスタイル違反を発見するためのツール
PMD
Javaソースコードの不具合やスタイル違反を発見するためのツール
Checkstyle
Javaソースコードの不具合やスタイル違反を発見するためのツール
Lint4j
Javaソースコードの静的解析ツール
Marathon
JavaのGUI Test Tool
WatiJ
JavaでIEを自動操作

3.6.Ruby

Watir
RubyでIEを自動操作。Internet Explorer Developer Toolbarの「Select Element by click」を使うとidやnameがわかり便利
GUITest
GUIテスト用ツール
ZenTest
ソースからテストを自動生成するRuby用ツール
RSpec
BDD(ビヘイビア駆動開発)に基づくRuby用ツール
rcov
Rubyのカバレッジ自動測定ツール
rubyUnit
RubyのxUnitツール。標準で含まれています。

3.7.PHP

PHPUnit
PHP用xUnit

3.8.Perl

PerlUnit
Perl用xUnit

3.9.Python

PyUnit
Python用xUnit

3.10.Ajax(JavaScript)

jsUnit
JavaScript用xUnit

3.11.COBOL


3.12.SQL

SQLUnit
SQL用xUnit

4.テスト作業内容による分類


4.1.テストケースの設計

TestLink
要件からテストケースを自動生成
ALLPAIRS
ALL PAIRS法によりテストケース設計支援
PICT
ALL PAIRS法によりテストケース設計支援
AssistAllpair
airwiseテストケース生成ツールの利用を支援するExcelアドイン
ZenTest
ソースからテストを自動生成するRuby用ツール

4.2.テストの実行と結果の確認

Selenium
WEBアプリを自動操作可能
TestLink
実行と結果の確認がリアルタイムで可能
Watir
RubyでIEを自動操作
Testopia
WEBベースのテストケースの管理システム
rth
テストケース管理ツール

4.3.テスト進捗の管理

TestLink
テストの進捗を管理するツール
SRATS
Excel 上でフォールトデータからソフトウェア信頼度を測るツール

4.4.レポートの作成

TestLink
テスト結果を自動集計


today - total - yesterday -
最終更新:2008年12月15日 12:48
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。