Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

海外のSeleniumカンファレンスではどんな発表がされているのか2014

12,833 views

Published on

第2回日本Seleniumユーザーコミュニティ勉強会(http://seleniumjp.connpass.com/event/9222/)の発表資料です。

Published in: Software
  • Be the first to comment

海外のSeleniumカンファレンスではどんな発表がされているのか2014

  1. 1. 海外のSeleniumカンファレンスでは どんな発表がされているのか 2014 2014/10/18 株式会社TRIDENT 伊藤望
  2. 2. 自己紹介  伊藤 望  会社  株式会社TRIDENT 代表取締役  テスト自動化の支援を行うベンチャー  www.trident-qa.com (ブログあり)  コミュニティ  「日本Seleniumユーザーコミュニティ」を主宰  テスト自動化研究会
  3. 3. Selenium Conference  日本にも「Selenium勉強会」があるが、、  世界には「Selenium Conference」がある!  どんな様子なのか?  どんな発表が行われているのか?  どんなトレンドがあるのか?
  4. 4. Selenium Conference(SeConf)とは  2011年から毎年開催  世界中からSelenium開発者・ユーザーが集まる  3日間にわたるセッション&ワークショップ  Seleniumコミッター・プロジェクトリードによる講演  http://seleniumconf.org/
  5. 5. 開催歴  2011 4月 サンフランシスコ(アメリカ)  2012 4月 ロンドン(イギリス)  2013 6月 ボストン(アメリカ)  2014 9月 バンガロール(インド)
  6. 6. SeConf 2014  初のアジア開催(インド)  スケジュール  9/14:ワークショップ Day  9/15、9/16:セッション Day  定員:425名  参加費(セッション Day)  3,000~15,000ルピー  (約5,000~25,000円)
  7. 7. Conferenceの様子 http://seleniumconf.org/
  8. 8. セッションリスト http://confengine.com/selenium-conf-2014/schedule
  9. 9. セッションリスト  Selenium Gridのスケーリングと管理  GrouponのSelenium Grid拡張  WebDriverでウェブプラットフォームをテストする  W3Cの新プロジェクト  SeleniumとJoomlaオープンソース  JavaScript界におけるWebDriverとCucumber  取込みと拡張:Seleniumプロジェクトはどうやって世界最大の クローズド・ソース企業を参画させたか  MicrosoftのSeleniumプロジェクトへの参加  GebでよりよいSeleniumテスト http://confengine.com/selenium-conf-2014/schedule
  10. 10. セッションリスト  Seleniumテストをクラウド上のモバイル実機端末で実行する  Seleniumをあなたの手の平に:Appiumとモバイルテスト自動 化  機能テストで、アプリケーションをハッカーから守る  インジェクション攻撃をSeleniumでテスト  Page Objectを超えるデザインパターン: Page Object構築時に 使われるデザインパターンの探究  Page Objectパターンの危機  Page Objectをきちんとやる http://confengine.com/selenium-conf-2014/schedule
  11. 11. セッションリスト  正しいテストピラミッドを達成するためのSeleniumデトックス  大移動 - Salesforceはいかにして3万5千のSelenium RCテスト を移行したか  QTP/UFTからSeleniumへの移行 - 80%の実行時間削減  Allureフレームワーク - Seleniumテストのための、水晶のよう にクリアな結果レポート [どんなプログラミング言語にも使え る]  自分で情報を見つける方法  JavaScriptを介し、Seleniumテストの安定性を向上させる http://confengine.com/selenium-conf-2014/schedule
  12. 12. セッションリスト  モバイルとWebアプリケーションの機能テストのための Clojure  OSSを採用し早く失敗するために、エンタープライズのやり方 の上に築かれたドラゴンをどのように調教したか  クロスブラウザテスト自動化において重要なことが3つある - ロケーター、ロケーター、ロケーター - しかし、正しいロケー ターを見つけるにはどうすればよいだろうか?  Seleniumのノードには、宝の島から海賊が奪った戦利品より も素晴らしいお宝が眠っているる方法 http://confengine.com/selenium-conf-2014/schedule
  13. 13. セッション紹介  セッションプログラム・発表スライドを参考に作成  Conferenceサイトに動画もあり http://seleniumconf.org/docs/SeConf2014_ProgramGuide.pdf
  14. 14. セッション紹介 テストインフラ
  15. 15. テストインフラ Selenium Gridのスケーリングと管理 (Scaling and managing Selenium Grid) http://www.slideshare.net/dimakovalenko/scaling-and-managing-selenium-grid  Grouponのエンジニア  「Selenium Design Patterns and Best Practices」著者  Selenium Grid:  Seleniumの、多数のマシンでのテスト分散実行機能  Selenium Grid Extras:  Groupon発の、Selenium Grid拡張フレームワーク
  16. 16. テストインフラ  Selenium Grid Extras  https://github.com/groupon/Selenium-Grid-Extras  IEの保護モード設定を自動で設定  ブラウザやchromedriver.exe/iedriver.exeのKill  WebDriverの自動更新  全てのnodeの設定を1ヶ所に集約  Jenkinsプラグイン  テストのビデオ記録(開発中)
  17. 17. テストインフラ WebDriverでウェブプラットフォームをテストする (Testing the Web Platform with WebDriver) http://sny.no/2014/09/twpwd/  Mozillaのエンジニア  Test the Web Forward  http://testthewebforward.org/  Web標準のテストケースをコミュニティが作成  東京でもイベントが行われた  Test the Web ForwardでWebDriverを活用する方法
  18. 18. テストインフラ SeleniumとJoomlaオープンソース (Selenium and Joomla Open Source)  Joomla!コントリビュータ  Joomla!:  オープンソースのCMS(Webサイト構築・管理システム)  特に海外で人気  PHPUnit + Selenium WebDriverをJoomla!の開発プロ ジェクトで活用
  19. 19. セッション紹介 Seleniumプロジェクト
  20. 20. Seleniumプロジェクト JavaScript界のWebDriverとCucumber! (WebDriver and Cucumber in the JavaScript Land!) https://www.slideshare.net/slideshow/embed_code/38774592  WebDriverJS:  https://code.google.com/p/selenium/wiki/WebDriverJs  WebDriverの新しいJavaScriptバインディング  非同期コードでテストを記述  Cucumber.js:  https://github.com/cucumber/cucumber-js  振る舞い駆動テストフレームワークCucumberの JavaScript移植
  21. 21. Seleniumプロジェクト 取込みと拡張:Seleniumプロジェクトはどうやって 世界最大のクローズド・ソース企業を参画させたか (Embrace and Extend: How the Selenium Project Convinced the World's Largest Closed-Source Company to Participate)  Jim Evans氏  .NETバインディングとIEDriverの開発者  Salesforceのエンジニア  MicrosoftをSeleniumプロジェクトに参加させるまで  Internext Explorer Developer Channel  次期バージョンのIEの機能を試用できる  WebDriverの機能がIEに取り込まれている!
  22. 22. Seleniumプロジェクト GebでよりよいSeleniumテスト (Better Selenium Tests with Geb)  Geb:  http://www.gebish.org/  Java + Groovyで、WebDriverテストをもっと簡単に
  23. 23. セッション紹介 モバイル
  24. 24. モバイル Seleniumテストをクラウド上のモバイル実機端末で 実行する (Running Selenium tests on a cloud of real mobile devices) https://github.com/dhimil/selConf/blob/master/Selenium%20Conference.pdf?raw=true  BrowserStackのエンジニア  BrowserStack  クラウドのブラウザ手動/自動テスト環境を提供  なぜシミュレータでなく実機でテストすべきなのか
  25. 25. モバイル  シミュレータによるレイアウト崩れの例 https://github.com/dhimil/selConf/blob/master/Selenium%20Conference.pdf?raw=true
  26. 26. モバイル Seleniumをあなたの手の平に: Appiumとモバイルテスト自動化 (Selenium in the palm of your hand: Appium and automated mobile testing)  Sauce Labsのエンジニア  Sauce Labs  クラウドのブラウザ自動/手動テスト環境を提供  Appium:  Seleniumと同じコマンド体系でモバイルテストが可能
  27. 27. セッション紹介 セキュリティ
  28. 28. セキュリティ 機能テストで、アプリケーションをハッカーから守る (Hacker-proof your app using Functional Tests) https://www.slideshare.net/slideshow/embed_code/38957882  LinkedInのエンジニア  Seleniumテスト中にセキュリティテストも実施  IronWASP  https://ironwasp.org/  オープンソース  Webサイトに脆弱性が無いかを調べるセキュリティス キャナー
  29. 29. セキュリティ インジェクション攻撃をSeleniumでテスト (Testing "Injection" Attacks with Selenium)  Webページから不正な入力を行い、攻撃を実行  SQLインジェクション  コマンドインジェクション  XSS(クロスサイトスクリプティング)
  30. 30. セッション紹介 ページオブジェクト
  31. 31. ページオブジェクト  ページオブジェクトデザインパターン  画面情報は1つのクラスに集約して管理 スクリプト スクリプト テスト対象画面 スクリプト スクリプト ページオブジェクト
  32. 32. ページオブジェクト Page Objectを超えるデザインパターン: Page Object 構築時に使われるデザインパターンの探究 (Design Patterns beyond the Page Object: An investigation into the design patterns used while building page objects) https://github.com/codedsk/seleniumconf2014/tree/master/presentations  Page Objectにプラスアルファ  WebFormパターン  多数の入力項目を持つ画面の扱い  ItemListパターン  表・リスト形式でデータを表示する画面の扱い  IframeWrapパターン  Iframeを含む画面の扱い
  33. 33. ページオブジェクト Page Objectパターンの危機 (Perils of Page-Object Pattern) http://www.slideshare.net/abagmar/perils-of-pageobject-pattern  ビジネスレイヤー ページオブジェクトパターン  ページオブジェクトの上にもう1つレイヤーを作る
  34. 34. ページオブジェクト Page Objectをきちんとやる (Page Objects Done Right) http://www.slideshare.net/orenrubin/page-objects-presentation-selenium-conference-2014-38767492  ページオブジェクトの基礎から応用まで
  35. 35. セッション紹介 マイグレーション
  36. 36. マイグレーション 正しいテストピラミッドを達成するための Seleniumデトックス (Selenium DeTox for Achieving the Right Testing Pyramid) http://www.slideshare.net/nashjain/i-dea-s-testing-pyramid  保守コストが低く、素早く実行できる単体テストの 比率を増やすのが、目指すべき姿
  37. 37. マイグレーション 大移動 - Salesforceはいかにして3万5千の Selenium RCテストを移行したか (Migrating the herd - How Salesforce is migrating 35,000 Selenium RC tests)  単体テスト等の、より高速なレイヤーに移行  Selenium RC(Selenium 1)から、 WebDriver(Selenium 2)に移行
  38. 38. マイグレーション ケーススタディ - QTP/UFTからSeleniumへの移行 – 80%の実行時間削減 (Case Study - QTP/UFT to Selenium Migration - 80% reduced execution time)  QTP/UFT:  HP社の商用テストツール  商用ツールでは(おそらく)一番有名
  39. 39. セッション紹介 その他
  40. 40. その他 Allureフレームワーク - 水晶のようにクリアな Seleniumテスト結果レポート [どんな言語でも使える] (Allure framework - crystal clear reports for your selenium tests [in any language])  Yandex(ロシアの検索・ポータルサイト大手)のエン ジニア  Allureフレームワーク  http://allure.qatools.ru/  オープンソース  見やすいHTMLレポート
  41. 41. その他  Allureフレームワークのレポート http://allure.qatools.ru/
  42. 42. その他 自分で情報を見つける方法 (How To Find Information On Your Own) http://www.slideshare.net/tourdedave/how-to-find-selenium-information-on-your-own  「The Selenium Guidebook」著者  Seleniumの役立つ情報リンク集
  43. 43. その他 JavaScriptを介し、Seleniumテストの安定性を 向上させる (Increase Selenium tests stability via JavaScript) http://www.slideshare.net/khroliz/increase-selenium-tests-stability-via-java-script  タイミング問題などの、テストがたまに失敗する不 安定要因を減らす  JavaScript呼び出しを活用し、非同期まわりの問題 を改善  ただし、手動操作と100%同じにならないリスクあり
  44. 44. その他 モバイルとWebアプリケーションの 機能テストのためのClojure (Clojure for functional testing of Mobile and Web apps) http://www.slideshare.net/MayurJadhav5/clojureseleniumconf  Clojure:  関数型プログラミング言語  Lispの流れを汲む  Calabash、Appium、WebDriverなどのテストツール をClojureでラップして利用
  45. 45. その他 OSSを使い早く失敗するために、エンタープライズの 手法の上に築かれたドラゴンをどう調教したか (How we trained our dragon built on enterprise practices to adopt and fail fast with OSS)  大企業のモバイルテストを、オープンソースツール を構築した話
  46. 46. その他 クロスブラウザテスト自動化において重要なことが3つある - ロケーター、ロケーター、ロケーター - しかし正しいロケー ターを見つけるにはどうすればよいだろうか? (There are three things that matter in cross-browser test automation- locator, locator, locator - But how do you find the right one?)  ロケーター:  findElement(By.id(“search_keyword”)).click() ロケーター  特定のブラウザやバージョンでロケーターがうまく 動かない場合の対処
  47. 47. その他 Seleniumのノードには、宝の島から海賊が奪った戦 利品よりも素晴らしいお宝が眠っている (There is more treasure in Selenium nodes than in all the pirate's loot on Treasure Island.)  SeleniumのノードのログとOSレベルのメトリクスを 収集し、テスト結果解析に活用
  48. 48. 思ったこと  Selenium IDEの発表が全然無い https://groups.google.com/forum/#!topic/selenium-developers/eVfDHbgOflE
  49. 49. まとめ  結構いい情報があった(と思う)  スライドの上がっていない発表が多いので、動画 の方も頑張りたい
  50. 50. ご清聴ありがとう ございました

×