SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
SeleniumConf’16 UK
参加報告
技術本部 システム研究開発センター
石川 真也
2016/12/18
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
自己紹介
2
 石川 真也(@meganetaaan)
 新日鉄住金ソリューションズ(入社3年目)
 システム研究開発センター所属
 「Webのちからで業務アプリを作る」
 Seleniumベースのテストライブラリ「Pitalium」開発中
– 私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇のすべて
 子育てエンジニア(3年目)
 息子(2歳)
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
今日の内容
3
 概要
 SeleniumConf’16 UK 基本情報
 開催地・会場の雰囲気
 参加目的
 セッション紹介
 セッション概要
 セッション分類
 (分類ごとに)おもしろかったセッション紹介
 こぼれ話(時間があれば)
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
概要
4
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
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
開催地:London, UK
6
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
開催地:Mermaid theatre, London, UK
7
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
開催地:Mermaid theatre, London, UK
8
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
開催地:Mermaid theatre, London, UK
9
Jonathan Lipps
(AppiumのProject Lead)
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
開催地:Mermaid theatre, London, UK
10
Pitaliumを紹介しました
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
セッション紹介
11
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
セッション概要
12
 全30セッション
 キーノート
 通常セッション
 クロージングパネル
– Seleniumコミッターによる討論
 2トラック
 分類は無く、
様々な話題がまぜこぜ
キーノート
トラック1 トラック2
キーノート
Day1
11/14
メイン会場 サブ会場
キーノート
トラック1 トラック2
パネル
Day2
11/15
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
セッション(勝手に)分類
13
Tech
技術的トピック
Biz
業務で使うために
まず始めてみた話
課題を解決した話
こんなことも
できる!TIPS
Selenium/Appium
最新情報セッション
Seleniumコミッターによる
最新情報やロードマップの
解説
UIテスト以外の使い方
Seleniumハック
一からSeleniumを
始めてみた時の体験談
開発や運用保守における
課題を解決した話
AA
BB
CC
DD
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
Selenium/Appium最新情報A
14
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
A Selenium/Appium最新情報
15
 Selenium3.0について
 W3CのWebDriver仕様と各ブラウザベンダーの動向
 Appium
 js.foundationへの移管
 StarDriver構想
 Selenium IDEの今後
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
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
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
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
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
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
Selenium IDEの今後
21
 Selenium IDEが無くなるかもしれない件
 Committers Panelでの一幕
 「Selenium IDEは今後どうなりますか?」の質問に対し
 「今年中に最後のリリースをする予定」
 さらにコミッターはSelenium IDEの開発に消極的なもよう
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
Committers Panel
22
 各コミッターの発言要旨
 年内に最後のリリースをする
– (IDEに対応した)古いFirefoxを使いつつ、移行を検討してほしい
 テスト自動化の間口を広げるためにIDEは貢献している
– 特に、日本でのシェア・ニーズは把握している
 しかし、我々はコードが書きたくて開発をしている
 IDEが良いと思うなら輪に加わって、議論して!
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
こんなこともできる!TIPSB
23
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単体でできないこと(開発者ツール操作等)をする
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→アプリ実行
 ユーザのスワイプジェスチャでアプリを起動
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/
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
まず始めてみた話C
27
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
 アジャイルのスプリント内に自動化のプロセスを「完了」させるた
めの取り組み
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
課題を解決した話D
29
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
D 課題を解決した話
30
 大規模・長期間テストを回す上での課題の解決
不安定な(flaky)
テストを無くしたい…
スクリプトの保守性を
上げたい…
テスト実行が遅い…
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
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!
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
 アサーションを画面内のコンポーネント毎にまとめる工夫
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
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
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
まとめ
36
 Seleniumの最新動向を把握できた
 テスト自動化の事例、ソリューションを収集できた
 セッションの録画を見返したい
 キャプション(英語)も付いている
 参加者やコミッターとの交流ができた
 Web経由ではできない体験!
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
終わりに
37
 Selenium IDEの今後について考えたい!
 Selenium Confで発表したい!
 次回はテキサス州オースティンで開催(2017/4/3~5)
 セッション:募集中(~2017/1/17)
 LT:現地で募集。誰でも参加可能。
 プレゼンスを上げていけばいずれはSeleniumConf@Tokyoも…!
 意見交換しましょう!
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
Copyright ©2016 NS Solutions Corporation. All Rights Reserved.
商標について
39
 NS Solutions、NS(ロゴ)は、新日鉄住金ソリューションズ
株式会社の登録商標です。
 hifive、hifive(ロゴ)、Pitalium、Pitalium(ロゴ)は、新日鉄住金
ソリューションズ株式会社の登録商標です。
 Internet Explorerは、米国 Microsoft Corporation の米国および
その他の国における登録商標です。
 その他本文記載の会社名及び製品名は、それぞれ各社の商標又は
登録商標です。

Más contenido relacionado

La actualidad más candente

OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化Nozomi Ito
 
20141018 selenium appium_cookpad
20141018 selenium appium_cookpad20141018 selenium appium_cookpad
20141018 selenium appium_cookpadKazuaki Matsuo
 
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストSTFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストToshiyuki Hirata
 
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化JustSystems Corporation
 
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜Nozomi Ito
 
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化Nozomi Ito
 
Appiumを用いたwebブラウザ自動テスト
Appiumを用いたwebブラウザ自動テストAppiumを用いたwebブラウザ自動テスト
Appiumを用いたwebブラウザ自動テストyumi_chappy
 
Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。Naoto Kishino
 
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
実践で学ぶ、効率的な自動テストスクリプトのメンテナンスNozomi Ito
 
ブラウザテスト自動化入門
ブラウザテスト自動化入門ブラウザテスト自動化入門
ブラウザテスト自動化入門takahiro sakuma
 
Appiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみるAppiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみるNozomi Ito
 
「GebとSpockではじめるシステムテスト自動化」
「GebとSpockではじめるシステムテスト自動化」「GebとSpockではじめるシステムテスト自動化」
「GebとSpockではじめるシステムテスト自動化」Hiroyuki Ohnaka
 
Stack2017 自動化困難な状況での活動方法
Stack2017 自動化困難な状況での活動方法Stack2017 自動化困難な状況での活動方法
Stack2017 自動化困難な状況での活動方法Tatsuya Ishikawa
 
JavaScript Unit Test Why? What? How?
JavaScript Unit Test Why? What? How?JavaScript Unit Test Why? What? How?
JavaScript Unit Test Why? What? How?Teppei Sato
 
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオンkyon mm
 
テスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決することテスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決することyuichi_kuwahara
 
Automation test.ssf alpha
Automation test.ssf alphaAutomation test.ssf alpha
Automation test.ssf alpharyuji koyama
 

La actualidad más candente (20)

OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
 
20141018 selenium appium_cookpad
20141018 selenium appium_cookpad20141018 selenium appium_cookpad
20141018 selenium appium_cookpad
 
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストSTFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
 
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
 
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
 
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
 
Appiumを用いたwebブラウザ自動テスト
Appiumを用いたwebブラウザ自動テストAppiumを用いたwebブラウザ自動テスト
Appiumを用いたwebブラウザ自動テスト
 
Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。
 
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
 
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
 
ブラウザテスト自動化入門
ブラウザテスト自動化入門ブラウザテスト自動化入門
ブラウザテスト自動化入門
 
Appiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみるAppiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみる
 
Ai for software testing
Ai for software testingAi for software testing
Ai for software testing
 
「GebとSpockではじめるシステムテスト自動化」
「GebとSpockではじめるシステムテスト自動化」「GebとSpockではじめるシステムテスト自動化」
「GebとSpockではじめるシステムテスト自動化」
 
Stack2017 自動化困難な状況での活動方法
Stack2017 自動化困難な状況での活動方法Stack2017 自動化困難な状況での活動方法
Stack2017 自動化困難な状況での活動方法
 
JavaScript Unit Test Why? What? How?
JavaScript Unit Test Why? What? How?JavaScript Unit Test Why? What? How?
JavaScript Unit Test Why? What? How?
 
Stac2014 石川
Stac2014 石川Stac2014 石川
Stac2014 石川
 
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
 
テスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決することテスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決すること
 
Automation test.ssf alpha
Automation test.ssf alphaAutomation test.ssf alpha
Automation test.ssf alpha
 

Destacado

2016 Seleniumゆく年くる年 @ 第4回 日本Seleniumユーザーコミュニティ勉強会
2016 Seleniumゆく年くる年 @ 第4回 日本Seleniumユーザーコミュニティ勉強会2016 Seleniumゆく年くる年 @ 第4回 日本Seleniumユーザーコミュニティ勉強会
2016 Seleniumゆく年くる年 @ 第4回 日本Seleniumユーザーコミュニティ勉強会Hiroshi Toda
 
5分でわかるVISUAL TESTING FOR HTML5
5分でわかるVISUAL TESTING FOR HTML55分でわかるVISUAL TESTING FOR HTML5
5分でわかるVISUAL TESTING FOR HTML5Osamu Shimoda
 
20161222 selenium adventcalender
20161222 selenium adventcalender20161222 selenium adventcalender
20161222 selenium adventcalenderNaoya Kojima
 
JISAAwards2013講演会資料(hifive)
JISAAwards2013講演会資料(hifive)JISAAwards2013講演会資料(hifive)
JISAAwards2013講演会資料(hifive)Osamu Shimoda
 
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料Osamu Shimoda
 
ゲームだけじゃないHTML5
ゲームだけじゃないHTML5ゲームだけじゃないHTML5
ゲームだけじゃないHTML5Osamu Shimoda
 
WordPressの構造を理解しよう
WordPressの構造を理解しようWordPressの構造を理解しよう
WordPressの構造を理解しようKanako Kobayashi
 
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」Osamu Shimoda
 
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015Kotaro Ogino
 
キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015Toru Koido
 

Destacado (10)

2016 Seleniumゆく年くる年 @ 第4回 日本Seleniumユーザーコミュニティ勉強会
2016 Seleniumゆく年くる年 @ 第4回 日本Seleniumユーザーコミュニティ勉強会2016 Seleniumゆく年くる年 @ 第4回 日本Seleniumユーザーコミュニティ勉強会
2016 Seleniumゆく年くる年 @ 第4回 日本Seleniumユーザーコミュニティ勉強会
 
5分でわかるVISUAL TESTING FOR HTML5
5分でわかるVISUAL TESTING FOR HTML55分でわかるVISUAL TESTING FOR HTML5
5分でわかるVISUAL TESTING FOR HTML5
 
20161222 selenium adventcalender
20161222 selenium adventcalender20161222 selenium adventcalender
20161222 selenium adventcalender
 
JISAAwards2013講演会資料(hifive)
JISAAwards2013講演会資料(hifive)JISAAwards2013講演会資料(hifive)
JISAAwards2013講演会資料(hifive)
 
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
 
ゲームだけじゃないHTML5
ゲームだけじゃないHTML5ゲームだけじゃないHTML5
ゲームだけじゃないHTML5
 
WordPressの構造を理解しよう
WordPressの構造を理解しようWordPressの構造を理解しよう
WordPressの構造を理解しよう
 
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
 
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
 
キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015
 

Similar a SeleniumConf16 UK参加報告

AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2近藤 繁延
 
Open stack概要とよくある議論
Open stack概要とよくある議論Open stack概要とよくある議論
Open stack概要とよくある議論shintaro mizuno
 
SeleniumConf Chicago 参加報告
SeleniumConf Chicago 参加報告SeleniumConf Chicago 参加報告
SeleniumConf Chicago 参加報告aha_oretama
 
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストEclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストAtsuhiro Kubo
 
「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界Nozomi Ito
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1近藤 繁延
 
Contrail deploy by Juju/MAAS
Contrail deploy by Juju/MAASContrail deploy by Juju/MAAS
Contrail deploy by Juju/MAASIkuo Kumagai
 
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介OSSラボ株式会社
 
Jsai2018
Jsai2018Jsai2018
Jsai2018MLSE
 
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都 Flex & Google App Engine for Java & ...
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都  Flex & Google App Engine for Java & ...2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都  Flex & Google App Engine for Java & ...
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都 Flex & Google App Engine for Java & ...Sadao Tokuyama
 
海外のSeleniumカンファレンスではどんな発表がされているのか2014
海外のSeleniumカンファレンスではどんな発表がされているのか2014海外のSeleniumカンファレンスではどんな発表がされているのか2014
海外のSeleniumカンファレンスではどんな発表がされているのか2014Nozomi Ito
 
ネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConViewネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConViewRakuten Group, Inc.
 
20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹
20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹
20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹Insight Technology, Inc.
 
アジャイル事例紹介
アジャイル事例紹介アジャイル事例紹介
アジャイル事例紹介hiko99
 
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~Kenji Hiranabe
 
完全版:「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
完全版:「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜完全版:「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
完全版:「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜Nozomi Ito
 
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
Optuna on Kubeflow Pipeline 分散ハイパラチューニングOptuna on Kubeflow Pipeline 分散ハイパラチューニング
Optuna on Kubeflow Pipeline 分散ハイパラチューニングTakashi Suzuki
 

Similar a SeleniumConf16 UK参加報告 (20)

160724 jtf2016sre
160724 jtf2016sre160724 jtf2016sre
160724 jtf2016sre
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
 
160901 osce2016sre
160901 osce2016sre160901 osce2016sre
160901 osce2016sre
 
Open stack概要とよくある議論
Open stack概要とよくある議論Open stack概要とよくある議論
Open stack概要とよくある議論
 
SeleniumConf Chicago 参加報告
SeleniumConf Chicago 参加報告SeleniumConf Chicago 参加報告
SeleniumConf Chicago 参加報告
 
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストEclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテスト
 
「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
 
Contrail deploy by Juju/MAAS
Contrail deploy by Juju/MAASContrail deploy by Juju/MAAS
Contrail deploy by Juju/MAAS
 
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
 
Jsai2018
Jsai2018Jsai2018
Jsai2018
 
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都 Flex & Google App Engine for Java & ...
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都  Flex & Google App Engine for Java & ...2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都  Flex & Google App Engine for Java & ...
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都 Flex & Google App Engine for Java & ...
 
海外のSeleniumカンファレンスではどんな発表がされているのか2014
海外のSeleniumカンファレンスではどんな発表がされているのか2014海外のSeleniumカンファレンスではどんな発表がされているのか2014
海外のSeleniumカンファレンスではどんな発表がされているのか2014
 
ネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConViewネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConView
 
20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹
20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹
20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹
 
アジャイル事例紹介
アジャイル事例紹介アジャイル事例紹介
アジャイル事例紹介
 
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
 
完全版:「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
完全版:「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜完全版:「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
完全版:「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
 
OpenStack環境の継続的インテグレーション
OpenStack環境の継続的インテグレーションOpenStack環境の継続的インテグレーション
OpenStack環境の継続的インテグレーション
 
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
Optuna on Kubeflow Pipeline 分散ハイパラチューニングOptuna on Kubeflow Pipeline 分散ハイパラチューニング
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
 

SeleniumConf16 UK参加報告

  • 1. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. SeleniumConf’16 UK 参加報告 技術本部 システム研究開発センター 石川 真也 2016/12/18
  • 2. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 自己紹介 2  石川 真也(@meganetaaan)  新日鉄住金ソリューションズ(入社3年目)  システム研究開発センター所属  「Webのちからで業務アプリを作る」  Seleniumベースのテストライブラリ「Pitalium」開発中 – 私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇のすべて  子育てエンジニア(3年目)  息子(2歳)
  • 3. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 今日の内容 3  概要  SeleniumConf’16 UK 基本情報  開催地・会場の雰囲気  参加目的  セッション紹介  セッション概要  セッション分類  (分類ごとに)おもしろかったセッション紹介  こぼれ話(時間があれば)
  • 4. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 概要 4
  • 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. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 開催地:London, UK 6
  • 7. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 開催地:Mermaid theatre, London, UK 7
  • 8. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 開催地:Mermaid theatre, London, UK 8
  • 9. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 開催地:Mermaid theatre, London, UK 9 Jonathan Lipps (AppiumのProject Lead)
  • 10. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 開催地:Mermaid theatre, London, UK 10 Pitaliumを紹介しました
  • 11. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. セッション紹介 11
  • 12. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. セッション概要 12  全30セッション  キーノート  通常セッション  クロージングパネル – Seleniumコミッターによる討論  2トラック  分類は無く、 様々な話題がまぜこぜ キーノート トラック1 トラック2 キーノート Day1 11/14 メイン会場 サブ会場 キーノート トラック1 トラック2 パネル Day2 11/15
  • 13. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. セッション(勝手に)分類 13 Tech 技術的トピック Biz 業務で使うために まず始めてみた話 課題を解決した話 こんなことも できる!TIPS Selenium/Appium 最新情報セッション Seleniumコミッターによる 最新情報やロードマップの 解説 UIテスト以外の使い方 Seleniumハック 一からSeleniumを 始めてみた時の体験談 開発や運用保守における 課題を解決した話 AA BB CC DD
  • 14. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. Selenium/Appium最新情報A 14
  • 15. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. A Selenium/Appium最新情報 15  Selenium3.0について  W3CのWebDriver仕様と各ブラウザベンダーの動向  Appium  js.foundationへの移管  StarDriver構想  Selenium IDEの今後
  • 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. 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. 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. 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. 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. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. Selenium IDEの今後 21  Selenium IDEが無くなるかもしれない件  Committers Panelでの一幕  「Selenium IDEは今後どうなりますか?」の質問に対し  「今年中に最後のリリースをする予定」  さらにコミッターはSelenium IDEの開発に消極的なもよう
  • 22. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. Committers Panel 22  各コミッターの発言要旨  年内に最後のリリースをする – (IDEに対応した)古いFirefoxを使いつつ、移行を検討してほしい  テスト自動化の間口を広げるためにIDEは貢献している – 特に、日本でのシェア・ニーズは把握している  しかし、我々はコードが書きたくて開発をしている  IDEが良いと思うなら輪に加わって、議論して!
  • 23. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. こんなこともできる!TIPSB 23
  • 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. 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. 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. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. まず始めてみた話C 27
  • 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. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 課題を解決した話D 29
  • 30. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. D 課題を解決した話 30  大規模・長期間テストを回す上での課題の解決 不安定な(flaky) テストを無くしたい… スクリプトの保守性を 上げたい… テスト実行が遅い…
  • 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. 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. 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. 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. 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. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. まとめ 36  Seleniumの最新動向を把握できた  テスト自動化の事例、ソリューションを収集できた  セッションの録画を見返したい  キャプション(英語)も付いている  参加者やコミッターとの交流ができた  Web経由ではできない体験!
  • 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. 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. Copyright ©2016 NS Solutions Corporation. All Rights Reserved. 商標について 39  NS Solutions、NS(ロゴ)は、新日鉄住金ソリューションズ 株式会社の登録商標です。  hifive、hifive(ロゴ)、Pitalium、Pitalium(ロゴ)は、新日鉄住金 ソリューションズ株式会社の登録商標です。  Internet Explorerは、米国 Microsoft Corporation の米国および その他の国における登録商標です。  その他本文記載の会社名及び製品名は、それぞれ各社の商標又は 登録商標です。