テスト自動化(4)キーワード駆動テスト

テストスクリプトのメンテナンスは、面倒?

こんにちは。

最近、コーディングが楽しいヒューマンクレスト浅黄です。

何をコーディングしているかというと、キーワード駆動的に動くJavaアプリを作っています。
なぜ作っているのか?

 テスト自動化したスクリプト(SeleniumならJava等)のメンテナンスは大変!
 →そもそも、テスターにとってスクリプト書く、修正するなどの行為そのものの敷居が高い!
  →テキストとか、エクセルとか、もっと人にやさしいインターフェースで自動化ができないか?
 と思ったのが事の発端でした。
どんな感じにしたいか?(構想)
 1.エクセルに一連の操作(シナリオ)を記載する。
 2.上記エクセルを読み込むと、自動的にブラウザを操作、テストする。
 →つまり、仕様変更等によるスクリプトの保守は、エクセルの修正だけにする。
  →簡単!
SOTP
 上記「テスト自動化エンジン」を作成する!
具体的な検討
 ・エクセルの1行が1操作やチェックになる
 ・複数のエクセルを読み込ませ、順次実行できる
 ・マルチブラウザに対応できる(IE,firefox,chrome,safari)
 ・補足的な事として
   ・ スクリーンショットが撮れる
   ・ 失敗時、メール送信ができる
   ・ 操作の待ち時間を設定できる
エクセルの内容
action
  • keyword:操作内容
  • targetKind:エレメントの検索方法
  • targetUniqueId:一意な識別子
  • inputValue:入力値など
  • CheckKey:期待値
想定する利用者は?
 まずは、自分。
 自分の仕事が楽になる事を目指します。
 その後、テスターが利用しやすいように改良していく。
現状は?というと鋭意作成中ですが、基本的な動作(クリックや入力など)、チェック(期待値)等は実行できるようになりました。
実際に開発経験がないテスターにも利用して頂き、多数のシナリオを作ることができました。
メンテナンスも、スクリプトを修正することなく、エクセルを操作するだけで可能となり、
コスト的も最小限で収める事が可能になりました。

 

しかし問題点(検討事項)として

・同一操作で入力値だけが違うテストの場合、エクセルが冗長になる
  →データ駆動の考え方を今後導入する
・動的なサイト(ページ)の場合、データの受け渡しがページ間で必要になるケースがある
  →エクセルに記載した固定値以外のデータ取り回しを検討する
・エクセルに記載する内容が若干難しい
 →WebエレメントとUIをマッピングするツールを作成する
・特殊な操作は、スクリプティングが必要
 などなど

 

今後、上記の問題点を解消しつつ、ブラッシュアップし、さらに生産性を高めたいと考えています。

このエントリーをはてなブックマークに追加