UI/E2Eテストを自動化するうえで、テスト対象アプリの画面操作に対するテストスクリプトを作成する以外にも、テストを実行するためには、"前処理(事前処理)"と"後処理(事後処理)"の自動化も必要になります。
たとえば、テスト対象アプリがWebアプリの場合であれば、前処理として「Webブラウザーを起動する」、「テスト対象のWebサイトにアクセスする」などがあり、テスト実行後の後処理として「Webブラウザーを閉じる(Webブラウザーの×ボタンをクリックする)」などが考えられます。
テストケースの流れとしては以下のようになります。
1)テストの前処理(テストケース実行時、最初に必ず実行される)
2)テストの実行
3)テストの後処理(テストケース実行時、最後に必ず実行される)
UIテスト自動化ツールのRanorexでは、前処理 / 後処理をおこなう方法として、Setup / Teardown機能が実装されています。この機能を使用するこで、簡単にテストケースに対して前処理 / 後処理を設定することができます。
テスト構成(予備知識)
Ranorexでは、テストスイートによってテストケースが管理されます。テストはテストスイート単位で実行されテスト結果がレポートされます。また、テストの失敗/成功は、テストケース単位でレポートされます。
SetupとTeardown
Setup(前処理)、Teardown(後処理)は、テストスイート、テストケース、スマートフォルダー直下に配置することができます。これにより、すべてのテストケースに影響するようなテストデータの初期化などは、テストスイート直下に配置し、テスト対象アプリの起動 / 終了処理は、テストケース直下に配置することができます。
まとめ
UIテスト自動化を進めるうえで、前処理と後処理を含め自動化することが必要です。単にテストスクリプトを作成して実行するだけではなく、テスト内容に合わせたテストパターンや構成でテストを作成、実行できるかもテストツールを選択するポイントに含めても良いかと思います。
