流儀3 テストスクリプトを自動生成 [機能テスト]

 これまで機能テストの自動化ツールについてはあまり利用が進んでいなかった。エス・キュー・シーの倉田克徳氏(代表取締役社長)はその理由を「特に受託開発などは、同じテストを3~4回程度実施する現場でないと、自動化ツールの導入コストと、その効果が見合わない」と指摘する。

 しかし、スマートデバイスの台頭でその状況が大きく変わりつつある。iOS、Androidのスマートフォン、タブレット端末について、各メーカーやモデル、ブラウザーのバージョンに応じて同じ機能テストを実施する必要が出てきたからだ。すべて手作業でやっていては、工数が爆発的に増えてしまう。そこで積極的に自動化ツールを導入する現場が増えてきた。

 ところが、機能テスト自動化ツールを使いこなすには超えるべきハードルがある。特に大きいのは画面操作を手順化したコード「テストスクリプト」の作成だ。テスト対象に合わせて再利用可能なテストスクリプトを保守するのが面倒という問題もある。

 情報処理推進機構(IPA)の佐々木方規氏(技術本部 ソフトウェア高信頼化センター ソフトウェアグループ 研究員)は「SIベンダーを中心にテストスクリプトを自動生成する取り組みが広がっている」と言う。

キーワード駆動テストで楽々保守

 そうした取り組みをしている1社がNTTデータだ。同社の熊川一平氏(技術開発本部 ソフトウェア工学推進センタ 主任)は「キーワード駆動テストと呼ぶ手法を使ってExcelに書いたテストシナリオを、テストスクリプトに自動変換している」と話す。

 その流れはこんな具合だ(図5)。まず、画面操作の手順をテストシナリオとして作成。次にこのテストシナリオをExcelシートに1行ずつ記述する。この際、操作対象(名詞)と操作内容(動詞)を「キーワード」としてあらかじめ定義しておく。例えば「[次へ]ボタン」「クリック」などだ。その上で、このキーワードを組み合わせてテストシナリオを記述する。

図5●変換ツールで機能テスト自動化ツールのテストスクリプトを自動生成
図5●変換ツールで機能テスト自動化ツールのテストスクリプトを自動生成
図はNTTデータが実施している例。Excelファイルにキーワードで記述されたテストは、別のテストシナリオへの流用や追加開発時の変更が容易
[画像のクリックで拡大表示]

 作成したテストシナリオは、NTTデータのグループ企業で開発した自動変換ツール「Open2Test」に読み込ませ、テストスクリプトに自動変換する。Open2Testは、複数のテストツールに対応しており、例えばPCのブラウザーは「Selenium」、スマートフォンは「Appium」といった自動化ツール用のテストスクリプトを生成できる。

 テストシナリオを変更する保守が容易なのも特徴だ。「データ照会」のテストシナリオの一部キーワードを変更すれば、「データ削除」のテストシナリオとして流用できる。

 キーワード駆動テストの実現方法は企業によってさまざま。インテックは「Excelシートをそのままテスト仕様書として使えることを重視した」(先端技術研究所 副参事の加藤康記氏)。そのためキーワードを組み合わせた自然言語としてテストシナリオを書けるようにしている。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。