PR

失敗3 変更に対応しにくいテストスクリプト

 テスト自動化では、テストスクリプトのメンテナンスしやすさも重要なポイントとなる。仕様確定後でも細かな変更は発生する。「画面項目が増えた」「機能に変更があった」「業務フローが変更になった」などは開発現場では日常的だ。項目の追加や変更に応じて、テストスクリプトを更新する必要がある。

 漫然とテストスクリプトを作成すると、テストシナリオごと、画面ごとに個別に操作を定義するような記述になりがちだ。ただ、これだと項目の追加や変更があるたびに、テストスクリプトの複数箇所を修正しなければならない。この手間がかかりすぎると、工数不足でテストスクリプトが保守されなくなっていく。

 そのため、保守性を高めるテストスクリプトの書き方が重要となる。具体的には、テストスクリプトの「共通部品化」を実施する。共通部品とは、システム上でよく使われる業務フロー単位でテストスクリプトを構築することだ。共通部品は複数のテストシナリオや画面で使い回す。共通部品を修正すれば複数のシナリオに修正が適用されるため、システム更新時のテストスクリプト修正工数を最小限にとどめられる。

 共通部品化の方法は難易度が高く専門性が高いため、ここで深くは解説しない。その代わり、1つの例として「ページオブジェクトの共通部品化」を紹介しよう。下図の画面Aと画面Bは異なる画面だ。そして、赤枠で囲った検索エリアは画面構成のプログラム上で、同一のオブジェクトを使用しているとする。

ページオブジェクトの共通部品化
ページオブジェクトの共通部品化
[画像のクリックで拡大表示]

 ページオブジェクトの共通部品化をしていない場合は、画面Aと画面Bで同じオブジェクトを指定するテストスクリプトを書かなければならない。ページオブジェクトを共通部品化した場合は、共通部品のオブジェクトを指定するだけでいい。システムの更新時は共通部品のオブジェクトを修正すれば済み、画面Aと画面Bで個別にテストスクリプトを修正する必要がない。少ない工数でテストスクリプトを保守できる。