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