Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

Excelマクロによる、seleniumテストケースの自動生成(1)

中間成果物なしにテストケースが生成できるか

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/04/15 14:00

本稿は、seleniumについて基本的なことを理解されている方を対象とします。seleniumテストケースが「コマンド」「対象」「値」で構成されていることを理解さえていればOKです。

はじめに

 seleniumについての基本的な内容は、以下を参照してください。

seleniumを利用するメリットとデメリット

メリット

 seleniumを利用する最大のメリットは、「再テスト」が容易になることです。

  • 不具合発生時
    • テスト担当者と修正担当者の伝達が容易
    • 再テストが容易
  • 仕様変更後
    • リグレッション(デグレード確認)テストが容易
コラム:伝達
 筆者が特にメリットを感じるのは、テスト担当者と修正担当者の伝達が容易になる点です。テスト期間中は、テスト担当者も修正担当者も作業に追われています。通常、不具合発生時は、テスト実施担当者から修正担当者へ不具合内容を伝達するために、不具合管理ツールなどに、ケース番号や再現手順の詳細を記述、デバッグログの添付などを行い、修正担当者はそれを読み解く必要があります。
sleniumを利用している場合、再現手順はケース番号のみでよく、修正担当者も容易に再現を行うことが可能です。この場合、1つの不具合に対するサイクルが短くすることができます。

デメリット

 デメリットは、やはりテストケース作成のコストです。seleniumを利用する上での最大の難関と言えるでしょう。

  • テストケースを作成するコスト
  • 仕様変更時のテストケース修正コスト

 seleniumを利用する場合、テストケースの作成にかかるコストは大きくなります。

 seleniumIDEは、テストケースを記憶する素晴らしい機能が備えられていますが一度はテストを実施する必要がありテストケースの大量生産はできません。

Excelマクロ(VBA)による、seleniumテストケース自動生成

 筆者はこの「テストケース生成にかかるコストを削減できないか」を考えました。

中間成果物なしにテストケース生成できるか

 もしも、既存のテスト仕様書からテストケースが自動生成できたら、seleniumのデメリットは軽減されます。以下に例を挙げます。

図1:Excelからテストケースを生成する
図1:Excelからテストケースを生成する

 例えば、次のような機能を想定します。

  • 入力項目が多く、画面数も多い
  • 入力のバリエーションが多い

 テスト仕様書の別紙として、Excelで入力値一覧(図1①)があるとします(画面名、項目名が縦列。入力パターン(ケース)が横列)。seleniumを利用しない場合は、テスト担当者は入力値一覧を見ながらブラウザで値の設定、遷移をします。これをseleniumテストケース化する場合はどうしたらよいでしょう。

 足りないものは、「コマンド」と「対象(項目名の物理名)」です。それをエクセルの別BOOK(又は別シート)に「項目マスタ」(図1②)として定義します。項目マスタは、設計書(画面項目定義書)にidの記述があれば、基本的にはコピー&ペーストで作成することが可能です。

 ①と②は、画面名と項目名で関連付いています。「コマンド」「対象」「値」を組合わせ、ケース単位でhtml形式で出力するマクロを作成します。マクロを使えるメンバがいれば、比較的短期間でマクロを作成することが可能です。ちなみに筆者は最初、エクセルの「式」のみで生成していました。

 今回は、seleniumのテストケース自動生成の案を紹介しました。

 次回は、具体的な方向に話を進め、自動生成マクロのサンプルを紹介します。キャプチャツールとの組合わせることで、画面をキャプチャすることも可能になります。

コラム:大量データ作成
 例えば、登録系の処理でDB登録パターンが多岐にわたる場合。seleniumを使用しない場合は、手動でブラウザから投入するため、実施できる件数に限界があります。seleniumを使用する場合は、件数を気にせず全バリエーションでDB登録することが可能になります。後続処理のテストデータとしても有効です。もちろんブラウザから投入したものなので、本番データと同等レベルになります。
コラム:工数削減?
 今回のようにテスト工程を自動化した後に不具合が指摘された場合、見落しの原因としては、筆者の経験上では以下の順になります。
  • テストケースの考慮漏れ > マクロ不具合 > seleniumの不具合
マクロを使ってテストケースを生成する場合、マクロ自体の検証が不可欠です。
それ以上に、そもそものケースの考慮漏れを見直す作業も重要です。実施の「工数削減」した分は、テスト考慮漏れがないかの検証にあてるべきでしょう。「テスト実施」→「ケースの検証」→「テスト実施」→「ケースの検証」を反復することで品質が上がると考えます。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

バックナンバー

連載:Excelマクロによる、seleniumテストケースの自動生成
All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5