Successfully reported this slideshow.
Your SlideShare is downloading. ×

Selenium

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
Selenium勉強会
Selenium勉強会
Loading in …3
×

Check these out next

1 of 25 Ad

More Related Content

Slideshows for you (20)

Viewers also liked (18)

Advertisement

Similar to Selenium (20)

Advertisement

Selenium

  1. 1. Selenium 2012/04/26 竹内 孝志 1
  2. 2. 本日の内容 • Seleniumについて – Seleniumとは? – SeleniumProjectの紹介 • プロジェクトでの使用例 – システム構成 – 今後の改善案 2
  3. 3. Seleniumとは? • Webアプリケーション自動テストツー ル • オープンソースソフトウェア • マルチブラウザに対応 3
  4. 4. Webアプリケーション自動テストツール 青:selenium 赤:sahi 4
  5. 5. 歴史 アジャイルソフトウェア開発に特化した世界的なITコンサルタン ト業者 ThoughtWorks(そうとわーくす)が開発 年代 リリース 2004年 Selenium開発スタート 2006年 SeleniumIDEリリース 2007年 SeleniumRCリリース 2011年 Selenium2(SeleniumWebDriver)リリース 5
  6. 6. Selenium Project • Selenium Core • Selenium IDE • Selenium RC • Selenium Grid • Selenium on Rails • CubicTest • Bromine • Selenium2(WebDriver) 6
  7. 7. Selenium Core Seleniumの中心的な機能 7
  8. 8. Selenium IDE Firefoxのプラグイン ブラウザ操作を記録 テストコード自動生成 8
  9. 9. Selenium RC リモートでブラウ ザ 操作を実行 9
  10. 10. 構成 SeleniumIDEで テストコードを生 成 SeleniumRCで テストコードを実 行 10 ※公式より
  11. 11. 対応ブラウザ ブラウザ Selenium-IDE Selenium-RC オペレーティングシステム 1.0 Beta-1 および 1.0 ブラウザの起動、テストの Firefox 3 Beta-2: テストの記録と再 Windows, Linux, Mac 実行 生 1.0 Beta-1: テストの記録 ブラウザの起動、テストの Firefox 2 Windows, Linux, Mac と再生 実行 IE 8 開発中 Windows Selenium-RC を介したテ ブラウザの起動、テストの IE 7 Windows ストの実行のみ* 実行 Selenium-RC を介したテ ブラウザの起動、テストの Safari 3 Mac ストの実行のみ 実行 Selenium-RC を介したテ ブラウザの起動、テストの Safari 2 Mac ストの実行のみ 実行 Selenium-RC を介したテ ブラウザの起動、テストの Opera 9 Windows, Linux, Mac ストの実行のみ 実行 Selenium-RC を介したテ ブラウザの起動、テストの Opera 8 Windows, Linux, Mac ストの実行のみ 実行 Selenium-RC を介したテ ブラウザの起動、テストの Google Chrome ストの実行のみ Windows 実行 (Windows) Selenium-RC を介したテ 上記以外 部分的サポートが可能** 該当OS ストの実行のみ 11
  12. 12. メリット・デメリット • メリット – 再テストの際に手間が少ない – 別ブラウザのテストが簡単にできる • デメリット – マニュアルが不十分なため複雑な操作ができない – 画面に少しでも修正が入ると改修が必要になる 12
  13. 13. プロジェクトでの使用例 実例 ) 大規模データベース・マッチングサイト 毎月機能追加に伴うリリースを行ってお り、 その際に発生する回帰テストに Seleniumを用いている。 13
  14. 14. 開発サイクル 1ヶ月 1ヶ月 1ヶ月 分析 分析 分析 設計 設計 設計 開発 開発 開発 テスト テスト テスト 毎月回帰テストを行う 14
  15. 15. テストの構成(1) 1 2 ④作業者が結果を確認 ①コマンドプロンプトか ら 回帰テストを実行開始 ruby Selenium- WebDriver Rspec ②テストユニットを呼び出 ③Seleniumがブラウザを操 す 作 15
  16. 16. テストの構成(2) ruby テスト テストケー ブラウザ操 データ生成 ス実行 作 (Rspec) (Selenium - WebDriver) テス ト デー タ DB 16
  17. 17. テストの構成(3) テストユニット describe "テストケース1" do it_should_behave_like "ログイン" it_should_behave_like "閲覧" it_should_behave_like "ログアウト" end describe "テストケース2" do it_should_behave_like "ログイン" Seleniumによるブラウザ操作 it_should_behave_like "問い合わせ" shared_examples_for "ログイン" do |mail_address| it_should_behave_like "ログアウト" it "ログインができること" do end sleep 3 describe "テストケース3" do @browser.text_field(:name, "loginId").set "matatabi@nekomail.com" it_should_behave_like "ログイン" @browser.text_field(:name, "password").set "hogehoge"it_should_behave_like "購入" @browser.element(:xpath => "//div[2]/div[2]/div[4]/div/div[3]/input").click "ログアウト" it_should_behave_like sleep 3 end end end 17
  18. 18. 現在の運用 • 良い点 – テストコードがRubyで簡潔に記述され理解しやす い。 – テストデータを自動生成できる。 • 悪い点 – ローカルから実行するため特別な環境が必要。 – 僅かな画面変更でテストコードの修正が発生。 – テスト結果の確認が手作業で手間がかかる。 18
  19. 19. 今後の改善 • 環境に依存せず誰でも実行可能にす る。 • 修正に少しでも強いコードに書き換え る。 • テスト結果を簡単に確認できるように する。 19
  20. 20. 環境に依存しないようにす る Jenkinsが設置してあるサーバーに環境を構築し、 ボタン一つで実行可能にする。 びるど でぷろい 回帰テスト ワンクリックテ スト 20
  21. 21. 修正に強いコード XPathで指定しているところをidで指定する。 修正前) @browser.element(:xpath => "/html/body/div[5]/div/input").click 修正後) @browser.element(:xpath => "//input[@id=‘nekoButton']").click ※アプリケーションの作り上不可能な箇所は諦める。 21
  22. 22. 確認作業の単純化 確認作業もSeleniumで実施し、 作業者はSeleniumが取得した 画面キャプチャーを確認するだけにする。 testcord Seleniumのテストコードがブラウ ザ画面のキャプチャーを保存 22
  23. 23. まとめ • Seleniumはアジャイル開発業者ThoughtWorks が開発した • 最も旬なWebアプリケーション開発ツールで ある。 • 我々のプロジェクトでは主要機能の回帰テス トのみに使用している。 • 今後は誰でも簡単に実施できるよう改善する。 23
  24. 24. 参考文献 SeleniumHQ http://seleniumhq.org/ Selenium日本語ドキュメント http://oss.infoscience.co.jp/seleniumhq/docs/04_selenese_commands.html Powerpointテンプレート http://sagittarius.dip.jp/toshi/template.php 24
  25. 25. ご清聴ありがとうございました 25

×