はじめに
seleniumについての基本的な内容は、以下を参照してください。
seleniumを利用するメリットとデメリット
メリット
seleniumを利用する最大のメリットは、「再テスト」が容易になることです。
- 不具合発生時
- テスト担当者と修正担当者の伝達が容易
- 再テストが容易
- 仕様変更後
- リグレッション(デグレード確認)テストが容易
sleniumを利用している場合、再現手順はケース番号のみでよく、修正担当者も容易に再現を行うことが可能です。この場合、1つの不具合に対するサイクルが短くすることができます。
デメリット
デメリットは、やはりテストケース作成のコストです。seleniumを利用する上での最大の難関と言えるでしょう。
- テストケースを作成するコスト
- 仕様変更時のテストケース修正コスト
seleniumを利用する場合、テストケースの作成にかかるコストは大きくなります。
seleniumIDEは、テストケースを記憶する素晴らしい機能が備えられていますが一度はテストを実施する必要がありテストケースの大量生産はできません。
Excelマクロ(VBA)による、seleniumテストケース自動生成
筆者はこの「テストケース生成にかかるコストを削減できないか」を考えました。
中間成果物なしにテストケース生成できるか
もしも、既存のテスト仕様書からテストケースが自動生成できたら、seleniumのデメリットは軽減されます。以下に例を挙げます。
例えば、次のような機能を想定します。
- 入力項目が多く、画面数も多い
- 入力のバリエーションが多い
テスト仕様書の別紙として、Excelで入力値一覧(図1①)があるとします(画面名、項目名が縦列。入力パターン(ケース)が横列)。seleniumを利用しない場合は、テスト担当者は入力値一覧を見ながらブラウザで値の設定、遷移をします。これをseleniumテストケース化する場合はどうしたらよいでしょう。
足りないものは、「コマンド」と「対象(項目名の物理名)」です。それをエクセルの別BOOK(又は別シート)に「項目マスタ」(図1②)として定義します。項目マスタは、設計書(画面項目定義書)にidの記述があれば、基本的にはコピー&ペーストで作成することが可能です。
①と②は、画面名と項目名で関連付いています。「コマンド」「対象」「値」を組合わせ、ケース単位でhtml形式で出力するマクロを作成します。マクロを使えるメンバがいれば、比較的短期間でマクロを作成することが可能です。ちなみに筆者は最初、エクセルの「式」のみで生成していました。
今回は、seleniumのテストケース自動生成の案を紹介しました。
次回は、具体的な方向に話を進め、自動生成マクロのサンプルを紹介します。キャプチャツールとの組合わせることで、画面をキャプチャすることも可能になります。
- テストケースの考慮漏れ > マクロ不具合 > seleniumの不具合
それ以上に、そもそものケースの考慮漏れを見直す作業も重要です。実施の「工数削減」した分は、テスト考慮漏れがないかの検証にあてるべきでしょう。「テスト実施」→「ケースの検証」→「テスト実施」→「ケースの検証」を反復することで品質が上がると考えます。