39
Selenium × Jenkins ソフトウェアテストシンポジウム 2013 東北 JaSST’13 Tohoku

Ja sst東北2013

  • Upload
    -

  • View
    3.145

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ja sst東北2013

Selenium×

Jenkinsソフトウェアテストシンポジウム 2013 東北

JaSST’13 Tohoku

Page 2: Ja sst東北2013

今日のおはなし

Selenium×Jenkinsを使ってWebアプリケーションの受入テストを自動化した事例紹介をします

Page 3: Ja sst東北2013

SeleniumとはWebアプリケーションのテストを自動化するツール群Webブラウザの操作を自動化することで、Webアプリケーションのテストを行う

Page 4: Ja sst東北2013

Webブラウザの操作を記録してテストケースを作成する

Selenium IDEテストケースを実行する

Selenium RC/WebDriver複数のPCを使ってテストを行う

Selenium Grid

Page 5: Ja sst東北2013

SeleniumIDE

ブラウザの操作をSeleniumのテストケースとして記録するツールFirefoxのアドオンとして提供

Page 6: Ja sst東北2013

JenkinsとはオープンソースのCIサーバ(Java製)今やCIサーバの代名詞的存在開発者は日本人の川口耕介さん

CI:Continuous Integration継続的インテグレーション 

Page 7: Ja sst東北2013

簡単に言うと

超高機能cron

Page 8: Ja sst東北2013

5秒でわかった気になる継続的インテグレーション

Page 9: Ja sst東北2013

常にビルドせよ!

Page 10: Ja sst東北2013

60秒で補足する継続的インテグレーション

Page 11: Ja sst東北2013

名言あらわる

https://twitter.com/naoya_ito/status/332664039563993089

Page 12: Ja sst東北2013

『現代ソフトウェア開発 の三本柱 1.バージョン管理 2.テスティング 3.自動化』

TDDBC(テスト駆動開発Boot Camp)より

Page 13: Ja sst東北2013

なんでも自動化しよう

Page 14: Ja sst東北2013

くわしくは書籍で...

Page 15: Ja sst東北2013

Selenium×

Jenkinsによる化学反応

Page 16: Ja sst東北2013

ところで...

Page 17: Ja sst東北2013

どうやってSeleniumを現場適用したのか?どうやってJenkinsを現場適用したのか?

Page 18: Ja sst東北2013

気になりますよね...

|ω・̀)チラッ

Page 19: Ja sst東北2013

残念ながらわたしの一存で決めました

(・ω<)☆

Page 20: Ja sst東北2013

主な原動力面倒はキライ

(` ・ω・́)ゞ

Page 21: Ja sst東北2013

プログラマの三大美徳

怠惰短気傲慢

Page 22: Ja sst東北2013

でも、すべてがそう上手く行くことは無いですよね...

(́ Д⊂ヽ

Page 23: Ja sst東北2013

主な阻害要因

文化と

習慣

Page 24: Ja sst東北2013

変革する側には

説得力が必要(` ・ω・́)ゞ

Page 25: Ja sst東北2013

能書きはここでおしまいです

次から事例紹介へ

_(:3」∠)_

Page 26: Ja sst東北2013

実現したかったこと

Seleniumのテストの起動を自動化したいできれば複数のWebブラウザでの動作テストも行いたい

Page 27: Ja sst東北2013

ちなみに...(これまた自分の好みで)

テストケースのフォーマットはHTML(Selenese)を利用

seleniumhqプラグインhttps://wiki.jenkins-ci.org/display/JENKINS/Seleniumhq+Plugin

Page 28: Ja sst東北2013

(́ Д⊂ヽ

Javaで受入テストは難しい

Page 29: Ja sst東北2013

(・ω<)

HTMLなら可能性はある

Page 30: Ja sst東北2013

(ご主人さま)

MASTER(奴隷)

slave

Page 31: Ja sst東北2013

Jenkinsはおどろくほど簡単に、マスタ/スレイブ構成を構築できる

Page 32: Ja sst東北2013

テスト対象サーバ

スレイブ1 WindowsXP+IE6

スレイブ2 Windows7+IE8

マスターJenkins

構築したシステムの構成

Page 33: Ja sst東北2013

まとめ

Page 34: Ja sst東北2013

良い点:‣Selenium&Seleneseは、Webアプリケーションのテストを自動化するお手軽な方法‣Jenkinsと組み合わせることで、テストをほぼ完全に自動化できる‣構築/運用コスト 約0円           (電気代は除く)

Page 35: Ja sst東北2013

悪い点:

あえて言えば...

‣Seleniumのクセが強い‣ツールの性格上、各WebブラウザのJavaScript実装の影響を受ける‣ Selenium自体が万能ではない

Page 36: Ja sst東北2013

今後の課題

‣受入テストの範囲/定義‣テストケースが不良債権化するのを如何に防ぐか‣Selenium/Jenkinsの普及(CI環境の属人化の防止)

Page 37: Ja sst東北2013

それでも、自動化して損することは少ない

大切なのはバランス(割り切りとも言う)

Page 38: Ja sst東北2013

なんでも自動化しよう

Page 39: Ja sst東北2013

ご静聴ありがとうございました