Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

「Selenium実践入門」で学ぶテスト自動化の世界

8 206 vues

Publié le

2016/2/6 第3回日本Seleniumユーザーコミュニティ勉強会 (http://seleniumjp.connpass.com/event/24206/) の発表スライドです。

Publié dans : Technologie
  • Soyez le premier à commenter

「Selenium実践入門」で学ぶテスト自動化の世界

  1. 1. 「Selenium実践入門」で学ぶ   テスト自動化の世界 2016/2/6   株式会社TRIDENT   伊藤望  
  2. 2. About  Me p  伊藤 望(いとう のぞみ)   p  株式会社TRIDENT  代表取締役   n  テスト自動化の支援を行うベンチャー   n  www.trident-­‐qa.com  (Seleniumブログあり)   p  執筆  
  3. 3. About  Me   最近やっていること その1 p  CodeZine  Academy  「Selenium  Boot  Camp」   n  Seleniumについて、1日で基礎から学ぶ講座  
  4. 4. About  Me   最近やっていること その2 p  Sahagin   n  WebDriver  /  Appium  /  Gebのレポートツール   p  少しずつ利用拡大中   n  hMp://www.slideshare.net/hayabusa333/sahagin-­‐49899019            (現場にsahaginを取り入れた話)   n  hMp://qiita.com/hiroshitoda/items/ddT88T2aeb2bbc3393            (Seleniumの薄っすい話1:俺とSahagin)  
  5. 5. 本日のトピック 1.  Seleniumテスト自動化の世界   2.  「Selenium実践入門」ってどんな本?   3.  「Selenium実践入門」各章ピックアップ
  6. 6. 1.  Seleniumテスト自動化の世界   2.  「Selenium実践入門」ってどんな本?   3.  「Selenium実践入門」各章ピックアップ
  7. 7. Selenium p  オープンソースの画面テストツール   p  仕組み Webサーバ クライアント端末 Selenium ブラウザ HTTP通信 操作
  8. 8. Seleniumテスト自動化の世界 p  ひと昔前と最近の比較   p  「Selenium実践入門の立ち位置」  
  9. 9. ひと昔前のテスト自動化 p  2008年頃   n  私はWindowsアプリのテストツールを開発していた  
  10. 10. ひと昔前のテスト自動化 p  CI  (継続的インテグレーション)  ツールの利用は まだまだ少ない   n  テスト実行は多くて1日1回   n  リリースサイクルはあまり早くない  
  11. 11. p  商用ツールの存在感が大きかった   n  Selenium  RC  /  IDEはあったが、安定運用が難しかった   n  多くの事例は、ツールベンダーのサイト掲載のもの   ひと昔前のテスト自動化
  12. 12. p  開発プロセスから分離された自動テスト   n  エディタ:自動テストツールの専用エディタ   n  管理DB:自動テストツールの独自DB   n  ジョブ管理:自動テストツールの機能   n  実行:自動テストツールの機能   n  結果確認:自動テストツールの画面   ひと昔前のテスト自動化
  13. 13. その後.. hMp://www.indeed.com/jobtrends  
  14. 14. 最近のテスト自動化 p  2016年   n  私はSelenium  WebDriverを使っている  
  15. 15. 最近のテスト自動化 p  CIツールは非常にメジャーになった   n  Commit・Pushの度にテスト実行することも   n  アジャイルやクラウドの普及でリリースサイクルが短く  
  16. 16. p  オープンソースの存在感が大きくなった   n  Selenium  WebDriverになって、かなり安定した   n  国内ユーザ企業からの事例発信が増えた   最近のテスト自動化
  17. 17. ネットで見つけた   Selenium・Appium活用例   p  hMp://tech.recruit-­‐mp.co.jp/front-­‐end/post-­‐6786/                        (Webページを監視して表示崩れが起きていないか検出できるE2Eテストを実装しました)  2015/11/10   p  hMps://speakerdeck.com/shotaakasaka/20151020-­‐seleniummian-­‐qiang-­‐hui-­‐at-­‐saibouzu                      (本当にメンテナブルなSeleniumについて考えてみた)  2015/10/20   p  hMps://speakerdeck.com/deme0607/da-­‐gui-­‐mo-­‐web-­‐sabisufalse-­‐burauzatesutozi-­‐dong-­‐hua-­‐gao-­‐su-­‐hua                      (大規模 Web  サービスの ブラウザテスト自動化・高速化)  2015/5/25   p  hMps://moneyforward.com/engineers_blog/2014/12/25/mfcloud_dev_process/                      ([MFクラウド会計]ユーザーの声がサービスに届くまで)  2014/12/25   p  hMp://techblog.yahoo.co.jp/aps/Selenium-­‐01/                      (Seleniumを使用したテスト自動化の取り組みを紹介します)  2014/9/19   p  hMp://techlife.cookpad.com/entry/2014/09/16/120059                      (iOSアプリデザインリニューアルの舞台裏の舞台裏)  2014/9/16   p  hMps://speakerdeck.com/naoya/kaizen-­‐placorm-­‐inc-­‐niokeruyun-­‐yong-­‐zi-­‐dong-­‐hua                      (KAIZEN  placorm  Inc.  における運用自動化)  2014/6/20   p  hMp://labs.gree.jp/blog/2014/02/10584/                      (レガシーなプロダクトにテストで向き合う話)  2014/2/20   p  hMp://blog.cybozu.io/entry/5499                      (失敗からはじめるSelenium)  2013/8/20   p  hMp://shanon-­‐tech.blogspot.jp/2011/11/selenium.html                      (Jenkins,  Seleniumを使った自動テストの課題とこれからの取り組み)  2011/11   p  hMp://alpha.mixi.co.jp/entry/2011/10784/                      (Jenkins  はじめました +  ほか3つ)  2011/06/02  
  18. 18. p  開発プロセスと統合された自動テスト   n  エディタ:IDE(Eclipseなど)   n  管理DB:バージョン管理ツール(Gitなど)   n  ジョブ管理:CIツール   n  実行:ビルドツール・CIツール   n  結果確認:CIツール   最近のテスト自動化
  19. 19. 「Selenium実践入門」の立ち位置 p  WebDriverによる、エンジニア主体の自動化   n  Selenium  IDEは補助ツールとして活用   p  Seleniumの使い方にとどまらない、より実践的な内容を   n  CI、運用、活用事例
  20. 20. 1.  Seleniumテスト自動化の世界   2.  「Selenium実践入門」ってどんな本?   3.  「Selenium実践入門」各章ピックアップ
  21. 21. 「Selenium実践入門」概要 p  2016/2/2発売   p  著者   n  伊藤望   n  戸田広   n  沖田邦夫   n  宮田淳平   n  長谷川淳   n  清水直樹   n  Vishal  Banthia  
  22. 22. 「Selenium実践入門」概要 p  セットアップはJava・Ruby・C#・JavaScript・Python   p  コマンドの解説はJava   p  巻末チートシート   n  Java・Ruby・C#・JavaScript・Pythonの主要コマンド文法  
  23. 23. 「Selenium実践入門」が目指したこと 1.  ずっと手元におきたい1冊   2.  幅広いトピックを網羅  
  24. 24. 1. ずっと手元におきたい1冊   この本ならではのコンテンツ p  APIドキュメントでは分からない、様々なノウハウ   n  ファイルダイアログ、Basic認証、HTTPヘッダ、HTML5、…   p  ややこしいマイナー機能も丁寧に解説   n  ウィンドウ・タブ、ブラウザログ、@FindBy、…   p  うろ覚え文法にチートシート   n  よく使うCSSセレクタ・XPath   n  コマンド文法  
  25. 25. 1. ずっと手元におきたい1冊   実運用で役立つコンテンツ p  13章「運用」   n  運用時に気をつけること   p  14、15章「事例」   n  役割分担、業務フロー、本格運用での課題、…  
  26. 26. 2. 幅広いトピックを網羅   Geb・FluentLenium・Capybara p  WebDriverをラップして、シンプルに書けるようにした ライブラリ   n  Geb:Groovy   n  FluentLenium:Java   n  Capybara:Ruby   p  けっこうメジャーになってきた  
  27. 27. p  スマホ対応したWebサイトのテストを想定   n  PCブラウザでエージェント偽装してテスト   n  Appiumを使ってテスト   2. 幅広いトピックを網羅   モバイル
  28. 28. p  WebDriverテスト実行に一通り必要なJenkinsの設定   p  Selenium  Grid  +  Jenkinsによる分散実行   2. 幅広いトピックを網羅   CI
  29. 29. 1.  Seleniumテスト自動化の世界   2.  「Selenium実践入門」ってどんな本?   3.  「Selenium実践入門」各章ピックアップ  
  30. 30. 「Selenium実践入門」   各章ピックアップ 1.  テスト自動化とそのメリット   2.  Seleniumの概要   3.  WebDriver入門   4.  WebDriverコマンド徹底解説   5.  WebDriverコマンドの                実践的活用   6.  スクリプトの効率的な                メンテナンス   7.  Geb   8.  FluentLenium   9.  Capybara   10.  Selenium  IDE   11.  スマートフォンのテストと Appium   12.  CI環境での利用   13.  運用   14.  サイボウズの事例   15.  DeNAの事例
  31. 31. 「Selenium実践入門」   各章ピックアップ 1.  テスト自動化とそのメリット   2.  Seleniumの概要   3.  WebDriver入門   4.  WebDriverコマンド徹底解説   5.  WebDriverコマンドの                実践的活用   6.  スクリプトの効率的な                メンテナンス   7.  Geb   8.  FluentLenium   9.  Capybara   10.  Selenium  IDE   11.  スマートフォンのテストと Appium   12.  CI環境での利用   13.  運用   14.  サイボウズの事例   15.  DeNAの事例
  32. 32. 1章「テスト自動化とそのメリット」 p  テスト自動化のメリットについて分かりやすく   p  この章を書いた意味   n  テスト自動化に関心の無い、あなたの上司・同僚・部下に 渡して読んでもらうため!   n  そんな気持ちで書きました   n  なので難しい用語は使っていません  
  33. 33. 「Selenium実践入門」   各章ピックアップ 1.  テスト自動化とそのメリット   2.  Seleniumの概要   3.  WebDriver入門   4.  WebDriverコマンド徹底解説   5.  WebDriverコマンドの                実践的活用   6.  スクリプトの効率的な                メンテナンス   7.  Geb   8.  FluentLenium   9.  Capybara   10.  Selenium  IDE   11.  スマートフォンのテストと Appium   12.  CI環境での利用   13.  運用   14.  サイボウズの事例   15.  DeNAの事例
  34. 34. 4章「WebDriverコマンド徹底解説」   5章「WebDriverコマンドの実践的活用」 p  WebDriverの各コマンドを掘り下げて解説   p  この本の核となる章   p  普段使わないコマンド・挙動がアンドキュメントなコ マンドも多く、大変だった..
  35. 35. 「Selenium実践入門」   各章ピックアップ 1.  テスト自動化とそのメリット   2.  Seleniumの概要   3.  WebDriver入門   4.  WebDriverコマンド徹底解説   5.  WebDriverコマンドの                実践的活用   6.  スクリプトの効率的な                メンテナンス   7.  Geb   8.  FluentLenium   9.  Capybara   10.  Selenium  IDE   11.  スマートフォンのテストと Appium   12.  CI環境での利用   13.  運用   14.  サイボウズの事例   15.  DeNAの事例
  36. 36. 7章「Geb」 p  最近話題の、Groovyのラッパーライブラリ   p  Java開発者がGroovy  +  Gradle  +  Gebにチャレンジする ケースを想定   n  GroovyとGradleのセットアップから解説   n  Gebでよく見るGroovyの文法も解説   p  Gebトピックを含む本は世界初?   じゃなかった...
  37. 37. 「Selenium実践入門」   各章ピックアップ 1.  テスト自動化とそのメリット   2.  Seleniumの概要   3.  WebDriver入門   4.  WebDriverコマンド徹底解説   5.  WebDriverコマンドの                実践的活用   6.  スクリプトの効率的な                メンテナンス   7.  Geb   8.  FluentLenium   9.  Capybara   10.  Selenium  IDE   11.  スマートフォンのテストと Appium   12.  CI環境での利用   13.  運用   14.  サイボウズの事例   15.  DeNAの事例
  38. 38. 8章「FluentLenium」 p  Javaのラッパーライブラリ   p  Gebっぽい。Groovyの利用が難しい場合におすすめ   p  FluentLeniumトピックを含む本なら世界初では?   ではなかった...
  39. 39. 「Selenium実践入門」   各章ピックアップ 1.  テスト自動化とそのメリット   2.  Seleniumの概要   3.  WebDriver入門   4.  WebDriverコマンド徹底解説   5.  WebDriverコマンドの                実践的活用   6.  スクリプトの効率的な                メンテナンス   7.  Geb   8.  FluentLenium   9.  Capybara   10.  Selenium  IDE   11.  スマートフォンのテストと Appium   12.  CI環境での利用   13.  運用   14.  サイボウズの事例   15.  DeNAの事例
  40. 40. 9章「Capybara」 p  Rubyのラッパーライブラリ   p  内部のライブラリはSelenium以外も利用可   p  Capybaraトピックを含む本は?   Capybara本があった...
  41. 41. 「Selenium実践入門」   各章ピックアップ 1.  テスト自動化とそのメリット   2.  Seleniumの概要   3.  WebDriver入門   4.  WebDriverコマンド徹底解説   5.  WebDriverコマンドの                実践的活用   6.  スクリプトの効率的な                メンテナンス   7.  Geb   8.  FluentLenium   9.  Capybara   10.  Selenium  IDE   11.  スマートフォンのテストと Appium   12.  CI環境での利用   13.  運用   14.  サイボウズの事例   15.  DeNAの事例
  42. 42. 12章「CI環境での利用」 p  Jenkinsを利用   n  テスト用ジョブに必要なセットアップ   n  マスタ・スレーブ環境   n  RemoteWebDriver   n  Seleniumプラグインによる分散実行   p   Travis  CIやCircleCIを使っている人は?   p  ブログ書きました   n  hMp://blog.trident-­‐qa.com/2015/12/selenium-­‐on-­‐circle-­‐ci/          (CircleCIクラウド環境でSeleniumテストを実行する)  
  43. 43. 「Selenium実践入門」   各章ピックアップ 1.  テスト自動化とそのメリット   2.  Seleniumの概要   3.  WebDriver入門   4.  WebDriverコマンド徹底解説   5.  WebDriverコマンドの                実践的活用   6.  スクリプトの効率的な                メンテナンス   7.  Geb   8.  FluentLenium   9.  Capybara   10.  Selenium  IDE   11.  スマートフォンのテストと Appium   12.  CI環境での利用   13.  運用   14.  サイボウズの事例   15.  DeNAの事例
  44. 44. 14章「サイボウズの事例」 p  日本でも早くからSeleniumを本格利用していたサイボウ ズの事例   p  開発プロセスにおける   n  各段階でのテスト活動(仕様決定、テスト作成、テスト実装、…)   n  QAと開発の役割分担   p  本格運用で発生した課題   n  実行時間の改善など  
  45. 45. 「Selenium実践入門」   各章ピックアップ 1.  テスト自動化とそのメリット   2.  Seleniumの概要   3.  WebDriver入門   4.  WebDriverコマンド徹底解説   5.  WebDriverコマンドの                実践的活用   6.  スクリプトの効率的な                メンテナンス   7.  Geb   8.  FluentLenium   9.  Capybara   10.  Selenium  IDE   11.  スマートフォンのテストと Appium   12.  CI環境での利用   13.  運用   14.  サイボウズの事例   15.  DeNAの事例
  46. 46. 15章「DeNAの事例」 p   SWETグループを作りテスト自動化に取り組むDeNAの 事例   p  ブラウザテストとネイティブアプリテスト   p  様々なノウハウ・工夫   n  テスト並列実行のノウハウ   n  テストのメンテナンス性を高めるノウハウ   n  テスト用アプリの工夫  
  47. 47. まとめ
  48. 48. Selenium実践入門が、   みなさんのずっと手元におきたい   1冊になれば幸いです
  49. 49. ご清聴ありがとうございました

×