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.

SeleniumConf16 UK参加報告

2,427 views

Published on

2016/12/18 第4回 日本Seleniumユーザーコミュニティ勉強会 で発表したSeleniumConf16 UKの参加報告資料です。
(発表者:石川真也@hifive Team, NSSOL)

Published in: Engineering

SeleniumConf16 UK参加報告

  1. 1. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. SeleniumConf’16 UK 参加報告 技術本部 システム研究開発センター 石川 真也 2016/12/18
  2. 2. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 自己紹介 2  石川 真也(@meganetaaan)  新日鉄住金ソリューションズ(入社3年目)  システム研究開発センター所属  「Webのちからで業務アプリを作る」  Seleniumベースのテストライブラリ「Pitalium」開発中 – 私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇のすべて  子育てエンジニア(3年目)  息子(2歳)
  3. 3. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 今日の内容 3  概要  SeleniumConf’16 UK 基本情報  開催地・会場の雰囲気  参加目的  セッション紹介  セッション概要  セッション分類  (分類ごとに)おもしろかったセッション紹介  こぼれ話(時間があれば)
  4. 4. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 概要 4
  5. 5. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. SeleniumConf’16 UK 基本情報 5  Selenium Conf ‘16 UK  日程:  11/14 9:00-17:00 ワークショップ  11/15-16 9:00-17:00 セッション  会場:  The Mermaid Conference & Event Centre London, UK  参加者:  300名程度 – テストエンジニア – 品質保証担当者  Webサイト:  http://2016.seleniumconf.co.uk/  セッションの動画を全編公開中 地図データ©2016 Google
  6. 6. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 開催地:London, UK 6
  7. 7. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 開催地:Mermaid theatre, London, UK 7
  8. 8. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 開催地:Mermaid theatre, London, UK 8
  9. 9. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 開催地:Mermaid theatre, London, UK 9 Jonathan Lipps (AppiumのProject Lead)
  10. 10. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 開催地:Mermaid theatre, London, UK 10 Pitaliumを紹介しました
  11. 11. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. セッション紹介 11
  12. 12. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. セッション概要 12  全30セッション  キーノート  通常セッション  クロージングパネル – Seleniumコミッターによる討論  2トラック  分類は無く、 様々な話題がまぜこぜ キーノート トラック1 トラック2 キーノート Day1 11/14 メイン会場 サブ会場 キーノート トラック1 トラック2 パネル Day2 11/15
  13. 13. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. セッション(勝手に)分類 13 Tech 技術的トピック Biz 業務で使うために まず始めてみた話 課題を解決した話 こんなことも できる!TIPS Selenium/Appium 最新情報セッション Seleniumコミッターによる 最新情報やロードマップの 解説 UIテスト以外の使い方 Seleniumハック 一からSeleniumを 始めてみた時の体験談 開発や運用保守における 課題を解決した話 AA BB CC DD
  14. 14. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. Selenium/Appium最新情報A 14
  15. 15. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. A Selenium/Appium最新情報 15  Selenium3.0について  W3CのWebDriver仕様と各ブラウザベンダーの動向  Appium  js.foundationへの移管  StarDriver構想  Selenium IDEの今後
  16. 16. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. Selenium3.0について 16  2016/10/13リリース  「(一昨年の今頃)クリスマスまでに出すって言いましたけど」  「確かにクリスマスまでに出したよね!」  古いAPI(Selenium Core)を削除  「W3C標準仕様としての」WebDriverAPIに準拠していく StarDriver Enterprise Appium to the Future www.youtube.com/watch?v=e61OhZzbsEI
  17. 17. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. W3CのWebDriver仕様 17  SeleniumはW3CのWebDriver仕様に準拠する  https://www.w3.org/TR/webdriver/  ブラウザベンダ自身がWebDriver仕様に沿ったドライバを 開発する  ブラウザの更新への追従はドライバ開発者(≒ベンダ自身)が行う  Seleniumとドライバのリリースサイクルを切り分けられる Selenium Chrome Driver Firefox Driver Internet Exlorer Driver Chrome Firefox Internet Explorer W3C WebDriver
  18. 18. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. Appium:js.foundationへの移管 18  js.foundation:Linux財団傘下の非営利団体  jQuery, ESLint, Mocha, webpack等  Sause Labは今後も積極的にコミットすると表明  Appiumの継続性を担保するひとつの材料 StarDriver Enterprise Appium to the Future www.youtube.com/watch?v=e61OhZzbsEI
  19. 19. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. Appium:StarDriver構想 19  「WebDriverProtocolを介してあらゆるデバイスを自動化 する」  IoTデバイスのテストも可能になるかも  *Driver→StarDriver StarDriver Enterprise Appium to the Future www.youtube.com/watch?v=e61OhZzbsEI
  20. 20. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. StarDriver Enterprise Appium to the Future 20 Appium JSONWP Server UiAutomator UiAutomator2 WinAppDriver XCUITest Selendroid Instruments/ UIAutomation Youi.tv appium Appium JSONWP Server UiAutomator UiAutomator2 WinAppDriver XCUITest Selendroid Instruments/ UIAutomation Youi.tv appium XXDriver YYDriver StarDriver Enterprise Appium to the Future www.youtube.com/watch?v=e61OhZzbsEI
  21. 21. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. Selenium IDEの今後 21  Selenium IDEが無くなるかもしれない件  Committers Panelでの一幕  「Selenium IDEは今後どうなりますか?」の質問に対し  「今年中に最後のリリースをする予定」  さらにコミッターはSelenium IDEの開発に消極的なもよう
  22. 22. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. Committers Panel 22  各コミッターの発言要旨  年内に最後のリリースをする – (IDEに対応した)古いFirefoxを使いつつ、移行を検討してほしい  テスト自動化の間口を広げるためにIDEは貢献している – 特に、日本でのシェア・ニーズは把握している  しかし、我々はコードが書きたくて開発をしている  IDEが良いと思うなら輪に加わって、議論して!
  23. 23. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. こんなこともできる!TIPSB 23
  24. 24. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. B こんなこともできる!TIPS 24  Robots: The Nuclear Option  Selenium経由でロボットを動かしてスマホを操作させる  Let's Talk Security - Beyond Scanning  セキュリティテスト  Measuring Web Performance Using Selenium  パフォーマンス測定  The State of Browser Automation with JavaScript  動画や音声のテスト  スクレイピング  Chrome Driver Jailbreak(Lightning Talkより)  ドライバとブラウザの間にプロキシを噛ませて WebDriver単体でできないこと(開発者ツール操作等)をする
  25. 25. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. Robots: The Nuclear Option 25 Robots The Nuclear Option https://www.youtube.com/watch?v=hyIMGy38E4s  なぜロボット?  手動テストの柔軟性  自動化の信頼性  ユースケース  アプリの操作中に電話の着信があって中断、開き直す  端末の電源ON→アプリ実行  ユーザのスワイプジェスチャでアプリを起動
  26. 26. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. Robots: The Nuclear Option 26 Robots The Nuclear Option https://www.youtube.com/watch?v=hyIMGy38E4s 購入はこちら: https://www.tindie.com/products/hugs/tapster/
  27. 27. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. まず始めてみた話C 27
  28. 28. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. C まず始めてみた話 28  CIは大前提  自動化をどう始めるか?のHowTo  自動化の文化を根付かせる組織論  自分の境遇に近い人のセッションが参考になりそう  小規模/大規模?  既にあるマニュアルテストを自動化/最初から自動化?  Building a Test Engineering Culture  テスト自動化の文化を根付かせるための組織論  Refactoring for Testability: Breaking the Cycle of Doom  アジャイルの現場で自動化テストを始めるためのHowTo  How to Get Automation Included in Your Definition of Done  アジャイルのスプリント内に自動化のプロセスを「完了」させるた めの取り組み
  29. 29. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 課題を解決した話D 29
  30. 30. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. D 課題を解決した話 30  大規模・長期間テストを回す上での課題の解決 不安定な(flaky) テストを無くしたい… スクリプトの保守性を 上げたい… テスト実行が遅い…
  31. 31. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 不安定な(flaky)テストを無くしたい 31  flaky test: 同じコードで成功/失敗どちらにもなるテスト  https://testing.googleblog.com/2016/05/flaky-tests-at-google-and- how-we.html  原因は様々  ネットワーク  複数ブラウザが協調するテスト  アプリケーション側のnon-deterministicなバグ  解決へのアプローチ  環境毎の成功・失敗の統計を取って不安定なテストを突き止める – Big Data Makes the Flake Go Away – Test trend analysis: Towards robust, reliable and timely tests  テスト自動化のインフラを改善する – Reliability Patterns for Large-scale Selenium Tests
  32. 32. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. Big Data Makes the Flake Go Away 32 Big Data Makes the Flake Go Away www.youtube.com/watch?v=oRIci6n566w テスト毎のリトライ数の統計 「リトライしたら成功してしまった」→flaky!
  33. 33. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. スクリプトの保守性を上げたい 33  スクリプトを読みやすく、保守しやすくするための工夫  The Screenplay Pattern - a SOLID alternative to Page Objects  PageObjectの改良版「Screenplay Pattern」の紹介  Selenium tests, the Object Oriented way  アサーションを画面内のコンポーネント毎にまとめる工夫
  34. 34. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. Screenplay Pattern 34  PageObject PatternはSOLID原則に反している  単一責任原則(Single Responsibility Principle) – ページの要素を特定する – ページの要素を介してタスクを実行する  開放/閉鎖原則(Open Closed Principle) – タスクを増やす度にPageObjectを変更する必要がある – タスクの追加に対して開いていない The Screenplay Pattern - a SOLID alternative to Page Objects www.youtube.com/watch?v=8f8tdZBvAbI
  35. 35. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. Screenplay Pattern 35  Modelling the problem not the solution @RunWith(SerenityRunner.class) public class AddNewTodos { Actor james = Actor.named("James"); @Managed private WebDriver hisBrowser; @Before public void jamesCanBrowseTheWeb() { james.can(BrowseTheWeb.with(hisBrowser)); } @Test public void should_be_able_to_add_a_todo_item() { givenThat(james).wasAbleTo(Start.withAnEmptyTodoList()); when(james).attemptsTo(AddATodoItem.called("Buy some milk")); then(james).should(seeThat(TheItems.displayed(), hasItem("Buy some milk"))); } } @RunWith(SerenityRunner.class) public class AddNewTodos { Actor james = Actor.named("James"); @Managed private WebDriver hisBrowser; @Before public void jamesCanBrowseTheWeb() { james.can(BrowseTheWeb.with(hisBrowser)); } @Test public void should_be_able_to_add_a_todo_item() { givenThat(james).wasAbleTo(Start.withAnEmptyTodoList()); when(james).attemptsTo(AddATodoItem.called("Buy some milk")); then(james).should(seeThat(TheItems.displayed(), hasItem("Buy some milk"))); } } https://www.infoq.com/articles/Beyond-Page-Objects-Test-Automation-Serenity-Screenplay
  36. 36. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. まとめ 36  Seleniumの最新動向を把握できた  テスト自動化の事例、ソリューションを収集できた  セッションの録画を見返したい  キャプション(英語)も付いている  参加者やコミッターとの交流ができた  Web経由ではできない体験!
  37. 37. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 終わりに 37  Selenium IDEの今後について考えたい!  Selenium Confで発表したい!  次回はテキサス州オースティンで開催(2017/4/3~5)  セッション:募集中(~2017/1/17)  LT:現地で募集。誰でも参加可能。  プレゼンスを上げていけばいずれはSeleniumConf@Tokyoも…!  意見交換しましょう!
  38. 38. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 聴講したセッション一覧 38  Zen and the Art of Open Source Maintenance  Reliability Patterns for Large-scale Selenium Tests  Making Cross-Browser Tests Beautiful  Distributed Testing and Test Reporting  Advanced Appium  Building a Test Engineering Culture  The Screenplay Pattern  Think inside Container  Robots: The Nuclear Option  A Programmer's Guide to Humans  Turning iOS End-to-End Testing up to 11  Selenium tests, the Object Oriented way  Is it or is it not really visible... Selenium's flawed vision  Test trend analysis: Towards robust, reliable and timely tests  Measuring Web Performance Using Selenium  Refactoring for Testability: Breaking th Cycle of Doom  Committers panel
  39. 39. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 商標について 39  NS Solutions、NS(ロゴ)は、新日鉄住金ソリューションズ 株式会社の登録商標です。  hifive、hifive(ロゴ)、Pitalium、Pitalium(ロゴ)は、新日鉄住金 ソリューションズ株式会社の登録商標です。  Internet Explorerは、米国 Microsoft Corporation の米国および その他の国における登録商標です。  その他本文記載の会社名及び製品名は、それぞれ各社の商標又は 登録商標です。

×