テスト

ookoshi

Seleniumでの自動テストの運用方法

Posted Date: 2014-06-12 14:00
Author: / No Comments

こんにちは。品質管理グループのおおこしです。

今回は品質管理グループで行っている Selenium での自動テストの運用方法について書きます。
Selenium は Web アプリケーションのテストツールです。
セミナーでは導入についてよく聞きますが、現場でどのように運用しているかはあまり例を聞かないため、トライコーンの場合をまとめてみます。

日常的に行うこととして、最新状態の開発環境に対してスモークテストとして Selenium を毎朝実行しています。
毎日実行するのにはすぐに差異を見つけることと、テストデータを積み重ねる目的があります。
レポートを品質管理グループのメーリングリストに届くようにして出勤後に結果を確認しています。

失敗していたテストスイートについては内容を参照し、どのテストケースが失敗したかを確認した上で、再実行して再現確認と再現条件の特定をします。
バグであれば修正依頼をし、開発による変更ならテストケースの修正をします。

失敗するテストケースを放置すると修正が追うのが難しくなり、使われないテストケースになってしまうので早めの対応が大事です。
一般に指標として聞かれるのはケース数であったりレポートにカウントされる判定部分になりますが、トライコーンの開発で重視しているのは画面数です。テストのパターン数を増やすのも大事ですが、現在品質管理グループでは網羅性の向上を優先しています。
また、テストスイートはプロダクトの機能ごとにまとめるようにしています。これによりプロダクト側の機能の追加や修正に際し、機能ごとにテストスイートを作成したり修正していけば良いため、テストケース管理の見通しが良くなっています。

テストスイートおよびテスト対象サーバは setting.properties により切り替えを行えるようにしており、(1) 開発サーバに対しての最新のコードのテスト、(2) 本番サーバに対してのリリース版のコードのテスト、(3) テスト用に外部に提供しているサーバに対してのリリース版のコードのテスト、なども簡単に切り替え可能です。

lrwxrwxrwx 1 kreisel kreisel setting.properties -> setting.properties_lion_Kreisel
-rwxr-xr-x 1 kreisel kreisel setting.properties_apibeta_Kreisel
-rwxr-xr-x 1 kreisel kreisel setting.properties_apitest_Kreisel
-rwxr-xr-x 1 kreisel kreisel setting.properties_dev_Kreisel
-rwxr-xr-x 1 kreisel kreisel setting.properties_honban_Kreisel
-rwxr-xr-x 1 kreisel kreisel setting.properties_lion_Kreisel

このように切り替えが容易なため、日次の実行以外に、メンテナンスを行う際のリグレッションテストにも利用しています。リグレッションテスト時はステージング環境で、リリースするコードに対してテストを実施します。

なお、テストスイート及びそこに含まれるテストケースは Subversion で管理しています。

トライコーンのクライゼルやコトシロなどのプロダクトはバージョンアップを継続的に行う派生開発を行っているため、同じテストを何回も繰り返します。自動テストは作成やメンテナンスの工数はかかりますが、日々実行していることと、確実な結果が出せることで元がとれていると思います。

過去の資産が多いことから現在は Selenium 1 を継続利用していますが、Selenium 2 への移行も進めています。これからもプロダクトの開発に合わせた運用方法を探しながら進めていこうと思います。

Tags: , , ,

SATOO

こんにちは、SATOOです。

最近、弁当を作り始めました。
毎朝少しだけ早起きして、おかず仕込みに勤しむ毎日です。
職場で弁当を“作って”持ってきている男性はまだ私だけで、「弁当男子」の称号をほしいままにしています(本当か?)。

さて、Webアプリケーションテストの自動実行ツールとして有名な「Selenium」というツールがあります。
本体である「Selenium Core」はJavaScriptで書かれていて、JavaScriptによってWebブラウザを操作してテストを実行します。
「Selenium RC」を使えば、リモートでテストを実行できます。
さらにテストケースの作成には、「Selenium IDE」というFirefoxのアドオンを使うと便利で、Firefox上で行った操作を記録してテストケースが作れたりします。
非常に有用なツールと言えます。

続きを見る >>>

Tags: , , , , , ,