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