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

50
海外のSeleniumカンファレンスでは どんな発表がされているのか 2014 2014/10/18 株式会社TRIDENT 伊藤望

Upload: nozomi-ito

Post on 20-Jun-2015

4.403 views

Category:

Software


9 download

DESCRIPTION

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

TRANSCRIPT

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

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

2014/10/18

株式会社TRIDENT

伊藤望

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

自己紹介

伊藤 望

会社

株式会社TRIDENT 代表取締役

テスト自動化の支援を行うベンチャー

www.trident-qa.com (ブログあり)

コミュニティ

「日本Seleniumユーザーコミュニティ」を主宰

テスト自動化研究会

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

Selenium Conference

日本にも「Selenium勉強会」があるが、、

世界には「Selenium Conference」がある!

どんな様子なのか?

どんな発表が行われているのか?

どんなトレンドがあるのか?

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

Selenium Conference(SeConf)とは

2011年から毎年開催

世界中からSelenium開発者・ユーザーが集まる

3日間にわたるセッション&ワークショップ

Seleniumコミッター・プロジェクトリードによる講演

http://seleniumconf.org/

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

開催歴

2011 4月 サンフランシスコ(アメリカ)

2012 4月 ロンドン(イギリス)

2013 6月 ボストン(アメリカ)

2014 9月 バンガロール(インド)

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

SeConf 2014

初のアジア開催(インド)

スケジュール

9/14:ワークショップ Day

9/15、9/16:セッション Day

定員:425名

参加費(セッション Day)

3,000~15,000ルピー

(約5,000~25,000円)

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

Conferenceの様子

http://seleniumconf.org/

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

セッションリスト

Selenium Gridのスケーリングと管理 GrouponのSelenium Grid拡張

WebDriverでウェブプラットフォームをテストする W3Cの新プロジェクト

SeleniumとJoomlaオープンソース

JavaScript界におけるWebDriverとCucumber

取込みと拡張:Seleniumプロジェクトはどうやって世界最大のクローズド・ソース企業を参画させたか MicrosoftのSeleniumプロジェクトへの参加

GebでよりよいSeleniumテスト

http://confengine.com/selenium-conf-2014/schedule

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

セッションリスト

Seleniumテストをクラウド上のモバイル実機端末で実行する

Seleniumをあなたの手の平に:Appiumとモバイルテスト自動化

機能テストで、アプリケーションをハッカーから守る

インジェクション攻撃をSeleniumでテスト

Page Objectを超えるデザインパターン: Page Object構築時に使われるデザインパターンの探究

Page Objectパターンの危機

Page Objectをきちんとやる

http://confengine.com/selenium-conf-2014/schedule

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

セッションリスト

正しいテストピラミッドを達成するためのSeleniumデトックス

大移動 - Salesforceはいかにして3万5千のSelenium RCテストを移行したか

QTP/UFTからSeleniumへの移行 - 80%の実行時間削減

Allureフレームワーク - Seleniumテストのための、水晶のようにクリアな結果レポート [どんなプログラミング言語にも使える]

自分で情報を見つける方法

JavaScriptを介し、Seleniumテストの安定性を向上させる

http://confengine.com/selenium-conf-2014/schedule

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

セッションリスト

モバイルとWebアプリケーションの機能テストのためのClojure

OSSを採用し早く失敗するために、エンタープライズのやり方の上に築かれたドラゴンをどのように調教したか

クロスブラウザテスト自動化において重要なことが3つある - ロケーター、ロケーター、ロケーター - しかし、正しいロケーターを見つけるにはどうすればよいだろうか?

Seleniumのノードには、宝の島から海賊が奪った戦利品よりも素晴らしいお宝が眠っているる方法

http://confengine.com/selenium-conf-2014/schedule

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

セッション紹介

http://seleniumconf.org/docs/SeConf2014_ProgramGuide.pdf

セッションプログラム・発表スライドを参考に作成

Conferenceサイトに動画もあり

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

セッション紹介

テストインフラ

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

テストインフラ

Selenium Grid Extras

https://github.com/groupon/Selenium-Grid-Extras

IEの保護モード設定を自動で設定

ブラウザやchromedriver.exe/iedriver.exeのKill

WebDriverの自動更新

全てのnodeの設定を1ヶ所に集約

Jenkinsプラグイン

テストのビデオ記録(開発中)

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

テストインフラ

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を活用する方法

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

テストインフラ

SeleniumとJoomlaオープンソース (Selenium and Joomla Open Source)

Joomla!コントリビュータ

Joomla!:

オープンソースのCMS(Webサイト構築・管理システム)

特に海外で人気

PHPUnit + Selenium WebDriverをJoomla!の開発プロジェクトで活用

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

セッション紹介

Seleniumプロジェクト

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

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移植

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

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に取り込まれている!

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

Seleniumプロジェクト

GebでよりよいSeleniumテスト (Better Selenium Tests with Geb)

Geb:

http://www.gebish.org/

Java + Groovyで、WebDriverテストをもっと簡単に

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

セッション紹介

モバイル

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

モバイル

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

クラウドのブラウザ手動/自動テスト環境を提供

なぜシミュレータでなく実機でテストすべきなのか

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

モバイル

シミュレータによるレイアウト崩れの例

https://github.com/dhimil/selConf/blob/master/Selenium%20Conference.pdf?raw=true

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

モバイル

Seleniumをあなたの手の平に:

Appiumとモバイルテスト自動化 (Selenium in the palm of your hand: Appium and automated mobile testing)

Sauce Labsのエンジニア

Sauce Labs

クラウドのブラウザ自動/手動テスト環境を提供

Appium:

Seleniumと同じコマンド体系でモバイルテストが可能

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

セッション紹介

セキュリティ

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

セキュリティ

機能テストで、アプリケーションをハッカーから守る (Hacker-proof your app using Functional Tests)

https://www.slideshare.net/slideshow/embed_code/38957882

LinkedInのエンジニア

Seleniumテスト中にセキュリティテストも実施

IronWASP

https://ironwasp.org/

オープンソース

Webサイトに脆弱性が無いかを調べるセキュリティスキャナー

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

セキュリティ

インジェクション攻撃をSeleniumでテスト (Testing "Injection" Attacks with Selenium)

Webページから不正な入力を行い、攻撃を実行

SQLインジェクション

コマンドインジェクション

XSS(クロスサイトスクリプティング)

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

セッション紹介

ページオブジェクト

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

ページオブジェクトデザインパターン

画面情報は1つのクラスに集約して管理

テスト対象画面 スクリプト

スクリプト スクリプト

スクリプト

ページオブジェクト

ページオブジェクト

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

ページオブジェクト

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を含む画面の扱い

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

ページオブジェクト

Page Objectパターンの危機 (Perils of Page-Object Pattern)

http://www.slideshare.net/abagmar/perils-of-pageobject-pattern

ビジネスレイヤー ページオブジェクトパターン

ページオブジェクトの上にもう1つレイヤーを作る

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

セッション紹介

マイグレーション

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

マイグレーション

正しいテストピラミッドを達成するための

Seleniumデトックス (Selenium DeTox for Achieving the Right Testing Pyramid)

http://www.slideshare.net/nashjain/i-dea-s-testing-pyramid

保守コストが低く、素早く実行できる単体テストの比率を増やすのが、目指すべき姿

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

マイグレーション

大移動 - Salesforceはいかにして3万5千の

Selenium RCテストを移行したか (Migrating the herd - How Salesforce is migrating 35,000 Selenium RC tests)

単体テスト等の、より高速なレイヤーに移行

Selenium RC(Selenium 1)から、WebDriver(Selenium 2)に移行

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

マイグレーション

ケーススタディ - QTP/UFTからSeleniumへの移行 –

80%の実行時間削減 (Case Study - QTP/UFT to Selenium Migration - 80% reduced execution time)

QTP/UFT:

HP社の商用テストツール

商用ツールでは(おそらく)一番有名

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

セッション紹介

その他

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

その他

Allureフレームワーク - 水晶のようにクリアなSeleniumテスト結果レポート [どんな言語でも使える]

(Allure framework - crystal clear reports for your selenium tests [in any language])

Yandex(ロシアの検索・ポータルサイト大手)のエンジニア

Allureフレームワーク

http://allure.qatools.ru/

オープンソース

見やすいHTMLレポート

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

その他

Allureフレームワークのレポート

http://allure.qatools.ru/

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

その他

JavaScriptを介し、Seleniumテストの安定性を

向上させる (Increase Selenium tests stability via JavaScript)

http://www.slideshare.net/khroliz/increase-selenium-tests-stability-via-java-script

タイミング問題などの、テストがたまに失敗する不安定要因を減らす

JavaScript呼び出しを活用し、非同期まわりの問題を改善

ただし、手動操作と100%同じにならないリスクあり

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

その他

モバイルとWebアプリケーションの

機能テストのためのClojure (Clojure for functional testing of Mobile and Web apps)

http://www.slideshare.net/MayurJadhav5/clojureseleniumconf

Clojure:

関数型プログラミング言語

Lispの流れを汲む

Calabash、Appium、WebDriverなどのテストツールをClojureでラップして利用

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

その他

OSSを使い早く失敗するために、エンタープライズの手法の上に築かれたドラゴンをどう調教したか

(How we trained our dragon built on enterprise practices to adopt and fail fast with OSS)

大企業のモバイルテストを、オープンソースツールを構築した話

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

その他

クロスブラウザテスト自動化において重要なことが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()

特定のブラウザやバージョンでロケーターがうまく動かない場合の対処

ロケーター

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

その他

Seleniumのノードには、宝の島から海賊が奪った戦利品よりも素晴らしいお宝が眠っている

(There is more treasure in Selenium nodes than in all the pirate's loot on Treasure Island.)

SeleniumのノードのログとOSレベルのメトリクスを収集し、テスト結果解析に活用

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

まとめ

結構いい情報があった(と思う)

スライドの上がっていない発表が多いので、動画の方も頑張りたい

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

ご清聴ありがとう ございました