Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Selenium

1.710 Aufrufe

Veröffentlicht am

  • Als Erste(r) kommentieren

Selenium

  1. 1. Selenium2012/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 CoreSeleniumの中心的な機能 7
  8. 8. Selenium IDEFirefoxのプラグインブラウザ操作を記録テストコード自動生成 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 endend 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. 参考文献SeleniumHQhttp://seleniumhq.org/Selenium日本語ドキュメントhttp://oss.infoscience.co.jp/seleniumhq/docs/04_selenese_commands.htmlPowerpointテンプレートhttp://sagittarius.dip.jp/toshi/template.php 24
  25. 25. ご清聴ありがとうございました 25

×