イチから分かる、テスト自動化とSelenium
今日は、テスト自動化と、ブラウザ自動テストツールSeleniumについて、知らない方でも分かるようイチから解説したスライドを作ったのでご紹介します。
このスライドは、2014年2月28日に開催された「Enterprise × HTML5 Conference」の発表スライドに、時間の関係で省略した多数の未発表ページを加えたものです。
イチから分かる解説についてはこれで終わりですが、せっかくですのでスライドの見どころをご紹介しましょう。
ビジネスにおけるテスト自動化の価値
テストを自動化する目的については色々あるかと思いますが、スライドでは、ビジネスのスピードを加速させるという点に絞って説明しています。
Seleniumと関連ツール群の紹介
スライドでは、Seleniumの他に周辺ツールなどの様々な関連トピックについても説明しています。
まずはモバイルテスト。スマートフォンの普及やデバイスの多様化に伴い、Seleniumにおいても「モバイル」は重要なテーマとなっています。
サードパーティ製のツールの中から、iOSとAndroidの両方で使えるAppiumを取り上げました。
続いて、カンファレンスの主題でもあった「HTML5」。
HTML5アプリケーションの特徴の1つに、ページ遷移を伴わず単一ページ内で処理を完結する「シングルページアプリケーション(SPA)」ということがあげられ、カンファレンスでもSPAというキーワードが各所で使われていました。
SPAにおいてSeleniumをどのように活用していくかも、今後考えていかなければならない課題だと感じました。※1
言語は限定されますが、CapybaraやGebを使うとスクリプトをより簡潔に記述できます。
Selenium以外のOSS(オープンソースソフトウェア)と組み合わせることで、もっと色々なことができます。
続いてJenkins。
JenkinsがSeleniumの機能を補完するというより、Jenkinsが呼び出す様々なツール群の1つにSeleniumがあるというのが正しい位置付けです。
複数端末での並列実行により、テスト時間を短縮できます。
「クラウド」×「Selenium」の組み合わせも、今後より普及していくのではないでしょうか。
PhantomJSは、ここ数年で筆者の周囲でも耳にすることが増えました。
これらの各トピックについては、また機会をみて掘り下げていきたいと思います。
テスト自動化を成功させるために
最後に、テストを自動化する上での注意点。
よくある誤解として、この3つを取り上げました。
テストの自動化は大変ですが、うまく組織に浸透させることで大きなメリットが得られると思うのです。
まずはオープンソースを使って、小さく始めてみてはいかがでしょうか。
注釈・出典
具体的には、Wait処理をどのように記述するか、単一ページのページオブジェクトをどのように作成するか、といった点が課題になると感じています。