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.

エンタープライズ開発でのSelenium活用事例

9,976 views

Published on

第1回 日本Seleniumユーザーコミュニティ 勉強会LT

Published in: Technology
  • Be the first to comment

エンタープライズ開発でのSelenium活用事例

  1. 1. エンタープライズ開発での Selenium活用事例 2014 Jan.18 第1回 日本Seleniumユーザーコミュニティ勉強会 Lightning Talks
  2. 2. 自己紹介 self-introduction  大田尾 一作 isaac otao  Since 2006 Selenium 0.7
  3. 3. 本家Wiki wiki.openqa.org  日本語訳Contribute
  4. 4. CodeZine/翔泳社 webzine  記事執筆
  5. 5. Now, 2013  Selenium2記事執筆
  6. 6. Agenda 1. Selenium活用の工夫 2. エンタープライズ事例
  7. 7. Seleniumの大変さ Difficulties in Selenium  テストコード作成・保 守に時間がかかる  初回テストの工数  ソース変更時の対応
  8. 8. 現場での工夫 Customize Selenium at Project  データ駆動テスト(入力 &検証)  ScreenShotを1行で  DB初期化/エクスポート など
  9. 9. データ駆動テスト Data Driven Test  Excelを利用し、複数の ケースの入力・検証 画面項目 (ツールが自動で 画面から取得) 入力データ (テスターが 入力)
  10. 10. データ駆動テスト Data Driven Test  1行で複数ケースを実施  正常系、境界値、etc
  11. 11. ScreenShotを1行で ScreenShot wrapper method <素のSeleniumの場合> File scrFile = ((TakesScreenshot)driver). getScreenshotAs(OutputType.FILE); FileUtils.copyFile(scrFile, new File("c:¥¥ProjectA¥¥IE8¥¥ 検索結果画面.png")); 毎回フォルダや ファイル名を指定 するのは大変!
  12. 12. ScreenShotを1行で ScreenShot wrapper method <ラッパーメソッドを作成> TestUtil.saveScreenshot(driver, “ 検索結果画面"); たった一行書く だけで自動で フォルダをわけ て保存できる!
  13. 13. 社内ライブラリ化 customized Selenium in our corp.  現場での工夫・カスタ マイズを集結し、社内 ライブラリ化  手順書等も作成して社 内展開
  14. 14. ここ1-2年の社内事例 Enterprise Case in 2012-2013  金融グループ会社イントラ更改  ECサイト向け決済サービス基盤  小売業向け商品管理・販売シス テム  電子マネー交換システム など10件弱(+検討中)
  15. 15. 事例①クレジット入会システム Case1: Credit admission system  クレジットカードの申込情報を 入力する画面  PC4000項目のうち3000項目、 携帯4000項目のうち3000項目 に適用  画面操作とキャプチャ取得を自 動化、検証は目視
  16. 16. 事例①クレジット入会システム Case1: Credit admission system <結果>  PC向け(IE7,8,9)は同じテス トコードで実施できた  テストコードを書くのに2人月  手動で実施するよりも工数がか かり、工数削減には至らず  品質はある程度確保できた
  17. 17. 事例①クレジット入会システム Case1: Credit admission system <課題>  IEで実施時、1回目だけなぜか項 目が見つからない例外発生(未 解決のまま運用でカバー)  携帯用はPC用から書き換え必要  Android対応途上(まだ使える レベルではない)
  18. 18. 事例②カード加盟店管理システム Case2: member store management system  カード加盟店申込のワークフロ ーシステム  開発FWはintra-mart利用  オフショア開発の受入れに Seleniumを適用  エビデンス取得として画面キャ プチャ機能を利用
  19. 19. 事例②カード加盟店管理システム Case2: member store management system <結果>  受入試験を平均3回実施し、非 適用時予測値に対して約40%の 工数削減  JUnit経験者が多数いたこと、 Javaスキルが高い担当者が実施 したことにより効果が出た
  20. 20. 事例②カード加盟店管理システム Case2: member store management system <課題>  Popup機能との連動が不安定( 最終的には実施できたが)  ログイン/ログアウトによるセッ ション制御が難しい  SSO環境では検証できない
  21. 21. 適用見送り事例 inapplicable case  某大手ERP  ERPツールが生成するHTMLは 「inputタグにname属性が無 い」「id属性がアクセスの度に動 的に変動」→カスタマイズ必要  期間期間が短く、カスタマイズ の時間が取れないため見送り
  22. 22. 事例よりまとめ consideration at cases  1回の実施では30%~2倍以 上の工数がかかる。  長期的継続利用で回収を見込む  仕様変更時などに、デグレを発 見できた。  人的ミスの排除、ツール化によ る試験実施方法の属人性排除
  23. 23. 本日のまとめ in conclusion  Web系企業だけでなく エンタープライズ企業 システムでもSelenium  全てを適用しようとせ ず、部分適用から
  24. 24. ご静聴ありがとうございました Thank you!

×