Anatomy

ANATOMY BLOG

マクロ視点のアクセス解析と品質管理ツール「ANATOMY(アナトミー)」のブログです

2015年9月17日木曜日

Seleniumの回帰テストとサイトクローンの違い

回帰テストを自動化する有名なツールとしてSeleniumがあります。
今回は同じ回帰テストを自動化するツールのサイトクローンとSeleniumでは何が違うかを紹介したいと思います。



Seleniumの場合

Seleniumで回帰テストを行うには、基本的にユーザー操作を専用の表記でテストケースをプログラミングしていく事で、細かい制御や処理、アサーションを実現していきます。

プログラムがよくわからない・すぐに試したい人向けには、FirefoxのプラグインであるSelenium IDEを使えば、ブラウザ上で画面操作をし、遷移していくだけで自動的にユーザー操作が記録(プログラミング)されます。

プログラミングされたクリックや入力等のアクションを実行する事でブラウザ上の操作を再現し、アプリケーションのテストを行います。Seleniumの場合はクリック等のユーザー操作を再現しているので、UIの動作テストも同時に行えます。

プログラミングされたユーザー操作をそのまま逐次実行するので、JavaScript等で画面表示の制御をしている場合や、Ajaxの結果、画面の状態が変わる等の場合は、ユーザ操作の間に適切なwaitを入れる等をしてテストスクリプトの調整を行います。


SeleniumIDEの画面



サイトクローンの場合

サイトクローンで回帰テストをする場合も、SeleniumIDEと同じようにブラウザ上で画面遷移をするだけで、自動でURL等の情報が記録されます。

ただ、Seleniumのようにクリックや入力等のユーザー操作を記録するのではなく、ページ遷移時に発生するリクエスト情報(リクエストメソッド・パラメータ・ヘッダ)を記録しておきます。

回帰テスト時はユーザー操作ではなく、記録したリクエスト情報から以前と全く同じリクエスト情報を再現させることでアプリケーションの動作・表示のテストを行います。

また、サイトクローンではページの表示完了を自動で判断し次のページへ遷移します。
ユーザー操作は再現しないので、waitの調整等は必要ありません。

サイトクローンの画面



Seleniumで正しく動作するユーザー操作を作成するのが手間、難しいと感じるのであれば、一度サイトクローンをお試しください。

Related Posts Plugin for WordPress, Blogger...