ページオブジェクトパターンによる自動テストメンテナンスの効率化
ダウンロード数: 231回
年度 : 2012年
発表場所 : SQiPシンポジウム
執筆者 :
藤澤 正通(ネクスト)
紹介文 :
テストを自動化する際には、その自動化システムを構築する初期投資と、テスト対象の変化に柔軟に追随する保守の容易性が重要な要素となります。本発表はwebシステムリグレッションシステムの場合の事例ですが、これ以外のところでも、テストスクリプトの構築方法は参考に出来ると思います。
テストを自動化する際には、その自動化システムを構築する初期投資と、テスト対象の変化に柔軟に追随する保守の容易性が重要な要素となります。本発表はwebシステムリグレッションシステムの場合の事例ですが、これ以外のところでも、テストスクリプトの構築方法は参考に出来ると思います。
概要 :
GUI テストの自動化において問題となるのは、ユーザーインターフェースの変更に追従するためのメンテナンス工数の確保とモチベーションの維持である。特にウェブアプリケーションの世界においては UI の変更が頻繁に行われるため、スクリプトのメンテナンス容易性というのは非常に大きなテ ーマである。弊社では昨年より「Selenium」という自動テストツールを採用し、回帰テストの自動化に取り組んできた。Selenium は「キャプチャ&リプレイ」方式による記録・実行が容易なツールであるが、生成されたスクリプトのメンテナンスは容易であるとは言えず、テスト範囲が拡大するに従ってメンテナンスにかかる工数が許容できない規模となってきた。そこでテストスクリプトの作成方法を、キ ャプチャ&リプレイ方式からプログラミング言語による記述に変更し、また同時にテストスクリプトの構造として、「シナリオ」と「ウェブページへのアクセス」を別々のスクリプトに分割する「Page Object Pattern」を採用した。この手法によりテストスクリプト記述を最小限に抑えることが可能となり、テストスクリプトの作成・メテナンスの手間の大幅な削減が期待できる。本発表では 「Page Object Pattern」の考え方、実現方法と弊社での工夫と成果を述べる。
GUI テストの自動化において問題となるのは、ユーザーインターフェースの変更に追従するためのメンテナンス工数の確保とモチベーションの維持である。特にウェブアプリケーションの世界においては UI の変更が頻繁に行われるため、スクリプトのメンテナンス容易性というのは非常に大きなテ ーマである。弊社では昨年より「Selenium」という自動テストツールを採用し、回帰テストの自動化に取り組んできた。Selenium は「キャプチャ&リプレイ」方式による記録・実行が容易なツールであるが、生成されたスクリプトのメンテナンスは容易であるとは言えず、テスト範囲が拡大するに従ってメンテナンスにかかる工数が許容できない規模となってきた。そこでテストスクリプトの作成方法を、キ ャプチャ&リプレイ方式からプログラミング言語による記述に変更し、また同時にテストスクリプトの構造として、「シナリオ」と「ウェブページへのアクセス」を別々のスクリプトに分割する「Page Object Pattern」を採用した。この手法によりテストスクリプト記述を最小限に抑えることが可能となり、テストスクリプトの作成・メテナンスの手間の大幅な削減が期待できる。本発表では 「Page Object Pattern」の考え方、実現方法と弊社での工夫と成果を述べる。