IT業界には「Excelスクショ」なる言葉がある。情報システムのGUIテストにおいて、顧客からテスト実施の証拠となる「エビデンス」の提出を求められる。これに応えるため、テスト実施時にスクリーンショットを取得して、画像をExcelシートに貼り付けていく。これがExcelスクショだ。IT現場で問題視されがちな非効率な作業の代名詞だが、ここ1~2年で改善の兆しが見えてきた。

 エンジニアリング手法やツールの進化によって、テスト作業は以前よりも効率化できる余地がある。しかし、Excelスクショがはびこる現場では、なかなか効率化ができない。単純作業の要素が強いため、テスト実施者のモチベーションも下がる。

 単純で工夫のいらないテストエビデンスの作成方法であるため、少なからぬ現場がExcelスクショを脱せられていない。Webアプリケーションを例にすると、次のような作業となる。

 まず、テスト用のPCでWebブラウザーとExcelを起動しておく。続いて、Webブラウザーを開いてテストケースで指定された業務上の操作を実施する。ボタンを押したりといった操作をしたら、プリントスクリーンボタンを押す。その後、Excelに切り替えて、スクリーンショットを貼り付ける。こうした、Webブラウザーでの操作、スクリーンショットの取得、Excelへの貼り付けといった作業をテスト中に繰り返す。

注 スクリーンショットの貼り付け先はWordやPowerPointでもいいはず。画像ファイルをフォルダーに入れておくという方法もある。多くの現場でExcelが使われているのは、大きく二つの理由があると推定される。一つめは「アウトプットとしての体裁を整えようとした場合、エビデンスの数が多いほどExcelの方が扱いやすい」という理由だ。Excelだとテスト結果を簡単に一つのファイルにまとめられる。テストケースごとにExcelのシートを分け、画像を貼り付ければいい。テスト結果の一覧、実施者、日付といった情報をまとめた表を追加したい場合も多いが、そうした表を直感的に作成できる。二つめは「どのPCにも入っているし、作業者に熟練を要求しない」という理由だ。ExcelはMicrosoft Officeの安価なエディションでも利用できる。PowerPointはある程度以上のエディションでないと利用できない。また、Excelはページサイズをほぼ無制限に拡大縮小できる。「改ページプレビュー」で枠を調整するだけでいい。

 Excelスクショが“地獄”と化すのが、レガシーマイグレーションのプロジェクトだ。「現行踏襲」という要件を満たしているか確かめるため、現行システムと新システムで同じ業務の流れの打鍵テストを実行して、両者に違いがないことを見る。つまり、一つの業務の流れに対してExcelスクショの作業を2回実施する。さらに新旧システムでテスト結果の画像を比較しなければならない。

 NTTコムウェアでテストを担当する瀬賀 剛氏(北海道支店 試験品質管理部 担当課長)は「多い場合は何千枚もの画像を取得する。テストは不毛な作業の繰り返しといった感が強くなり、現場には疲弊感が漂った」と話す。

 テストのエビデンスはユーザー企業に納品するテスト工程の成果物だ。作らないというわけにはいかない。

SIベンダーに向いたテスト自動化が見えてきた

 こうしたExcelスクショ問題にも終わりが見えてきた。NTTコムウェアの瀬賀氏の現場はその一例だ。「テストの自動化」と「手動テストの効率化」を実施して、テスト作業の効率化を進めている。

 自動化では、画面テスト自動化ツールと画像比較ツールを使う。画面テスト自動化ツールは、テスト用のスクリプトに沿って画面上の打鍵を自動的に実行する。実行時にスクリーンショットも自動で取得する。画像比較ツールは2枚の画像を比較して、差分を強調表示する。

 瀬賀氏は画面テスト自動化ツールにはオープンソースの「Selenium」、画像比較はオープンソースの「ImageMagick」を利用する。これらのツールをラッピングしたUIを内製し、ツールの実行、レポートの出力を簡単に利用できるようにしている。

画面テスト自動化ツールの試験結果レポート画面
画面テスト自動化ツールの試験結果レポート画面
(出所:NTTコムウェア)
[画像のクリックで拡大表示]

 スクリーンショットは現行システムの画像、新システムの画像、比較結果の画像を自動的にExcelに貼り付ける。「自動テストで取得したスクリーンショットはそのままエビデンスになるし、新旧の違いを強調表示するので目視でのチェックが簡単になる」(瀬賀氏)。

エビデンス(現行システム、新システム、その差分)がExcelに貼り付けられたところ
エビデンス(現行システム、新システム、その差分)がExcelに貼り付けられたところ
(出所:NTTコムウェア)
[画像のクリックで拡大表示]

 脱Excelスクショで何が変わったのか。瀬賀氏は「テストチームの雰囲気が明るくなり、モチベーションも大きく向上した」と話す。それまでテスト実施自体は単純作業で、「1日何件のチェックをできた」「何件の問題を指摘できた」といった数字にしかモチベーションを持てなかった。これに加えて、「スクリプトをチューニングしてさらにテストを効率化した」というモチベーションを持って働けるようになった。

 テストの品質も向上した。「現行システムに対する操作と、新システムに対する操作が同一という信頼性が高い。さらに画像比較ツールを利用するので、目視での見逃しが起こりづらくなった」(瀬賀氏)。

 こうしたテスト手順に変わったのは「ここ1~2年」(瀬賀氏)と最近のことだ。「テスト自動化ツールには5年くらい前に手を付けていた」(瀬賀氏)にも関わらず、なぜ定着まで時間が掛かったのか。これは一品モノの開発を手掛けるという、SIベンダーの事業特性による。

 パッケージソフトやWebサービスの業界は早くから画面テスト自動化ツールを利用していた。同じプロダクト/サービスを保守するため、拡張開発のたびに同じテストを実行する。そのため、テスト用のスクリプトは何度も使い回せる。一方、SI業界が手掛けるのはそうしたシステムばかりではない。「テスト用スクリプトを作成したが、作成に掛けた手間の元を取れなかったことが少なからずある」(瀬賀氏)。

 そうした経験を通じて、SI業界でのテスト自動化の適応領域が見えてきた。一つは前述したレガシーマイグレーション。もう一つはシステムの維持管理作業だ。システムの維持管理も担当する場合は、セキュリティパッチの適用後のテストなどで開発段階で作成したテスト用スクリプトを使い回せる。