Ja sst東北2013
Transcript of Ja sst東北2013
Selenium×
Jenkinsソフトウェアテストシンポジウム 2013 東北
JaSST’13 Tohoku
今日のおはなし
Selenium×Jenkinsを使ってWebアプリケーションの受入テストを自動化した事例紹介をします
SeleniumとはWebアプリケーションのテストを自動化するツール群Webブラウザの操作を自動化することで、Webアプリケーションのテストを行う
Webブラウザの操作を記録してテストケースを作成する
Selenium IDEテストケースを実行する
Selenium RC/WebDriver複数のPCを使ってテストを行う
Selenium Grid
SeleniumIDE
ブラウザの操作をSeleniumのテストケースとして記録するツールFirefoxのアドオンとして提供
JenkinsとはオープンソースのCIサーバ(Java製)今やCIサーバの代名詞的存在開発者は日本人の川口耕介さん
CI:Continuous Integration継続的インテグレーション
簡単に言うと
超高機能cron
5秒でわかった気になる継続的インテグレーション
常にビルドせよ!
60秒で補足する継続的インテグレーション
名言あらわる
https://twitter.com/naoya_ito/status/332664039563993089
『現代ソフトウェア開発 の三本柱 1.バージョン管理 2.テスティング 3.自動化』
TDDBC(テスト駆動開発Boot Camp)より
なんでも自動化しよう
くわしくは書籍で...
Selenium×
Jenkinsによる化学反応
ところで...
どうやってSeleniumを現場適用したのか?どうやってJenkinsを現場適用したのか?
気になりますよね...
|ω・̀)チラッ
残念ながらわたしの一存で決めました
(・ω<)☆
主な原動力面倒はキライ
(` ・ω・́)ゞ
プログラマの三大美徳
怠惰短気傲慢
でも、すべてがそう上手く行くことは無いですよね...
(́ Д⊂ヽ
主な阻害要因
文化と
習慣
変革する側には
説得力が必要(` ・ω・́)ゞ
能書きはここでおしまいです
次から事例紹介へ
_(:3」∠)_
実現したかったこと
Seleniumのテストの起動を自動化したいできれば複数のWebブラウザでの動作テストも行いたい
ちなみに...(これまた自分の好みで)
テストケースのフォーマットはHTML(Selenese)を利用
seleniumhqプラグインhttps://wiki.jenkins-ci.org/display/JENKINS/Seleniumhq+Plugin
(́ Д⊂ヽ
Javaで受入テストは難しい
(・ω<)
HTMLなら可能性はある
(ご主人さま)
MASTER(奴隷)
slave
Jenkinsはおどろくほど簡単に、マスタ/スレイブ構成を構築できる
テスト対象サーバ
スレイブ1 WindowsXP+IE6
スレイブ2 Windows7+IE8
マスターJenkins
構築したシステムの構成
まとめ
良い点:‣Selenium&Seleneseは、Webアプリケーションのテストを自動化するお手軽な方法‣Jenkinsと組み合わせることで、テストをほぼ完全に自動化できる‣構築/運用コスト 約0円 (電気代は除く)
悪い点:
あえて言えば...
‣Seleniumのクセが強い‣ツールの性格上、各WebブラウザのJavaScript実装の影響を受ける‣ Selenium自体が万能ではない
今後の課題
‣受入テストの範囲/定義‣テストケースが不良債権化するのを如何に防ぐか‣Selenium/Jenkinsの普及(CI環境の属人化の防止)
それでも、自動化して損することは少ない
大切なのはバランス(割り切りとも言う)
なんでも自動化しよう
ご静聴ありがとうございました