本連載では、開発プロセスの中でも重要な位置を占めるテストプロセスに着目し、全体最適を実現させるためのテストプロセスについて考察します。今回も前回に引き続き、キャプチャ/プレイバックツールを例にツールを使いこなすコツについて解説します。
ISTQBの設立メンバーがFoundation Levelの内容を解説した書籍『ソフトウェアテストの基礎』(注1)では、スクリプティングレベルを5段階に分け、高いスクリプティングスキルまたはツールによる支援がテストの自動化を成功させるとしています(表1)。
スクリプティングレベルとは、1回記録したスクリプトを何回も使い回すための方法をレベルで表現したものです。5段階のレベルのうち、重要なのはLevel4とLevel5です。
表1 『ソフトウェアテストの基礎』で定義しているスクリプティングレベル
Level1 |
線形スクリプト(手動で作成するか、手動のテストをキャプチャして記録する方法、上記のキャプチャテストが該当) |
Level2 |
構造化スクリプト(選択と繰り返しのプログラミング構造を使用する方法、if文、for文の追記) |
Level3 |
共有スクリプト(スクリプトを他のスクリプトから呼び出すようにして再利用する方法。ただし共有スクリプトには構成管理下にある公式なスクリプトライブラリが必要) |
Level4 |
データ駆動スクリプト(コントロールスクリプトを使ってファイルまたはスプレッドシートにあるテストデータを読み込む方法) |
Level5 |
キーワード駆動スクリプト(ファイルまたはスプレッドシートに、コントロールスクリプトまで含めたテストに関するすべての情報を格納してしまう方法) |
注1:ドロシー・グラハム、エリック・ファン・フェーネンダール、イザベル・エバンス、レックス・ブラック 著/センゲージラーニング 刊/2008年/2,940円(税込)
Level4「データ駆動スクリプト」は、データになる部分をパラメータ化して、CSVやExcelなどから読み込むようにスクリプトを修正する方法を指します。例えば、実ユーザーのデータでログインすると、そのユーザーの情報が正しく呼ばれているかをテストしなければいけないとします。
実ユーザーのデータが2~3件でしたら何の問題もないのですが、1万件の実ユーザーデータでテストをしなければならないとしたらどうしますか? このような場合にデータ駆動方式によるテストのメリットが出てきます。この方法は回帰テストなどよりも自動化による効果が高いとされており、キャプチャ/プレイバックツールを使いこなす上で必須と言えるでしょう。
Level5は、さらに操作自体をキーワード化して、データ駆動のように呼び出すことでスクリプティングを容易にすることを指しています。
Level4、5のスクリプティングを行うには、ツールがデータ駆動に対応していないといけません。主要な商用ツールはデータ駆動をサポートしており、「QuickTest Professional」はExcelから直接データを読み込み可能なため特に使い勝手が良いです。
一方、フリーウェアは、メジャーな「Selenium」をはじめ、データ駆動をサポートしていないものが多いです。また、キーワード駆動をサポートしているツールは、筆者が調査したところ、商用では「QuickTest Professional」のみで、フリーウェアでは「EMOS Framework(WinRunnerのアドイン)」「FIT/FitNesse」がサポートしているようです。
今回で本連載は終了となります。これまで、現代のソフトウェアテストの要点として、テスト戦略の考え方を紹介してきました。具体的には、新しいアプローチはテストを効率的・効果的に行うために既存の枠組みを取り払って考えるところに特徴があり、それらのアプローチはコーディネートすることで戦略となり得ると説明しました。
また技法(テクニック)、方法論(メソッド)、ツール(Tool)の3点から、ソフトウェアテストのトレンドを紹介しました。これらは一部であって伝え切れていないこともたくさんありますが、ポイントは網羅的にお伝えできたと思います。
本連載の内容が、皆さんの開発を改善する契機となることを共著の大西と共に願っています。
執筆者プロフィール
湯本剛 (Tsuyoshi Yumoto)
株式会社豆蔵 シニアコンサルタント。1991年に製造メーカーに就職し、原価管理、製品管理システム構築プロジェクトに参画。その後ソフトハウスにてパッケージソフト、プリンタドライバ、C/Sシステム、Webシステムなどソフトウェアテスト業務に携わる。現在は豆蔵にてソフトウェアテストのコンサルタントとして活動中。日本科学技術連盟SQiPステアリング委員、JSTQB技術委員、s-open幹事、NPO法人ソフトウェアテスト技術振興協会理事。
『出典:システム開発ジャーナル Vol.6(2008年9月発刊)』
本稿は原稿執筆時点での内容に基づいているため、現在の状況とは異なる場合があります。ご了承ください。