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

10,101 views

Published on

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

Published in: Software
0 Comments
10 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
10,101
On SlideShare
0
From Embeds
0
Number of Embeds
4,821
Actions
Shares
0
Downloads
25
Comments
0
Likes
10
Embeds 0
No embeds

No notes for slide

海外の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. ご清聴ありがとう ございました

×