エンタープライズ開発での
Selenium活用事例
2014 Jan.18
第1回 日本Seleniumユーザーコミュニティ勉強会
Lightning Talks
自己紹介 self-introduction
 大田尾

一作
isaac otao

 Since 2006

Selenium 0.7
本家Wiki wiki.openqa.org
 日本語訳Contribute
CodeZine/翔泳社 webzine
 記事執筆
Now, 2013
 Selenium2記事執筆
Agenda
1. Selenium活用の工夫
2. エンタープライズ事例
Seleniumの大変さ
Difficulties in Selenium

 テストコード作成・保

守に時間がかかる
 初回テストの工数
 ソース変更時の対応
現場での工夫
Customize Selenium at Project

 データ駆動テスト(入力

&検証)
 ScreenShotを1行で
 DB初期化/エクスポート
など
データ駆動テスト
Data Driven Test

 Excelを利用し、複数の

ケースの入力・検証

画面項目
(ツールが自動で
画面から取得)

入力データ
(テスターが
入力)
データ駆動テスト
Data Driven Test

 1行で複数ケースを実施
 正常系、境界値、etc
ScreenShotを1行で
ScreenShot wrapper method

<素のSeleniumの場合>
File scrFile = ((TakesScreenshot)driver).
getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile,

new File("c:¥¥ProjectA¥¥IE8¥¥
検索結果画面.png"));

毎回フォルダや
ファイル名を指定
するのは大変!
ScreenShotを1行で
ScreenShot wrapper method

<ラッパーメソッドを作成>
TestUtil.saveScreenshot(driver,

“ 検索結果画面");

たった一行書く
だけで自動で
フォルダをわけ
て保存できる!
社内ライブラリ化
customized Selenium in our corp.

 現場での工夫・カスタ

マイズを集結し、社内
ライブラリ化
 手順書等も作成して社
内展開
ここ1-2年の社内事例
Enterprise Case in 2012-2013

 金融グループ会社イントラ更改
 ECサイト向け決済サービス基盤
 小売業向け商品管理・販売シス

テム
 電子マネー交換システム
など10件弱(+検討中)
事例①クレジット入会システム
Case1: Credit admission system

 クレジットカードの申込情報を

入力する画面
 PC4000項目のうち3000項目、
携帯4000項目のうち3000項目
に適用
 画面操作とキャプチャ取得を自
動化、検証は目視
事例①クレジット入会システム
Case1: Credit admission system

<結果>
 PC向け(IE7,8,9)は同じテス
トコードで実施できた
 テストコードを書くのに2人月
 手動で実施するよりも工数がか
かり、工数削減には至らず
 品質はある程度確保できた
事例①クレジット入会システム
Case1: Credit admission system

<課題>
 IEで実施時、1回目だけなぜか項
目が見つからない例外発生(未
解決のまま運用でカバー)
 携帯用はPC用から書き換え必要
 Android対応途上(まだ使える
レベルではない)
事例②カード加盟店管理システム
Case2: member store management system

 カード加盟店申込のワークフロ

ーシステム
 開発FWはintra-mart利用
 オフショア開発の受入れに
Seleniumを適用
 エビデンス取得として画面キャ
プチャ機能を利用
事例②カード加盟店管理システム
Case2: member store management system

<結果>
 受入試験を平均3回実施し、非
適用時予測値に対して約40%の
工数削減
 JUnit経験者が多数いたこと、
Javaスキルが高い担当者が実施
したことにより効果が出た
事例②カード加盟店管理システム
Case2: member store management system

<課題>
 Popup機能との連動が不安定(
最終的には実施できたが)
 ログイン/ログアウトによるセッ
ション制御が難しい
 SSO環境では検証できない
適用見送り事例
inapplicable case

 某大手ERP
 ERPツールが生成するHTMLは

「inputタグにname属性が無
い」「id属性がアクセスの度に動
的に変動」→カスタマイズ必要
 期間期間が短く、カスタマイズ
の時間が取れないため見送り
事例よりまとめ
consideration at cases

 1回の実施では30%~2倍以

上の工数がかかる。
 長期的継続利用で回収を見込む
 仕様変更時などに、デグレを発
見できた。
 人的ミスの排除、ツール化によ
る試験実施方法の属人性排除
本日のまとめ
in conclusion

 Web系企業だけでなく

エンタープライズ企業
システムでもSelenium
 全てを適用しようとせ
ず、部分適用から
ご静聴ありがとうございました
Thank you!

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