テストスクリプトのメンテナンスは、面倒?
こんにちは。
最近、コーディングが楽しいヒューマンクレスト浅黄です。
何をコーディングしているかというと、キーワード駆動的に動くJavaアプリを作っています。
なぜ作っているのか?
テスト自動化したスクリプト(SeleniumならJava等)のメンテナンスは大変!
→そもそも、テスターにとってスクリプト書く、修正するなどの行為そのものの敷居が高い!
→テキストとか、エクセルとか、もっと人にやさしいインターフェースで自動化ができないか?
と思ったのが事の発端でした。
どんな感じにしたいか?(構想)
1.エクセルに一連の操作(シナリオ)を記載する。
2.上記エクセルを読み込むと、自動的にブラウザを操作、テストする。
→つまり、仕様変更等によるスクリプトの保守は、エクセルの修正だけにする。
→簡単!
上記「テスト自動化エンジン」を作成する!
具体的な検討
・エクセルの1行が1操作やチェックになる
・複数のエクセルを読み込ませ、順次実行できる
・マルチブラウザに対応できる(IE,firefox,chrome,safari)
・補足的な事として
・ スクリーンショットが撮れる
・ 失敗時、メール送信ができる
・ 操作の待ち時間を設定できる
エクセルの内容
- keyword:操作内容
- targetKind:エレメントの検索方法
- targetUniqueId:一意な識別子
- inputValue:入力値など
- CheckKey:期待値
想定する利用者は?
まずは、自分。
自分の仕事が楽になる事を目指します。
その後、テスターが利用しやすいように改良していく。
現状は?というと鋭意作成中ですが、基本的な動作(クリックや入力など)、チェック(期待値)等は実行できるようになりました。
実際に開発経験がないテスターにも利用して頂き、多数のシナリオを作ることができました。
メンテナンスも、スクリプトを修正することなく、エクセルを操作するだけで可能となり、
コスト的も最小限で収める事が可能になりました。
しかし問題点(検討事項)として
・同一操作で入力値だけが違うテストの場合、エクセルが冗長になる
→データ駆動の考え方を今後導入する
・動的なサイト(ページ)の場合、データの受け渡しがページ間で必要になるケースがある
→エクセルに記載した固定値以外のデータ取り回しを検討する
・エクセルに記載する内容が若干難しい
→WebエレメントとUIをマッピングするツールを作成する
・特殊な操作は、スクリプティングが必要
などなど
今後、上記の問題点を解消しつつ、ブラッシュアップし、さらに生産性を高めたいと考えています。