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

Post on 08-Jun-2015

3.224 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

エンタープライズ開発での

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を利用し、複数のケースの入力・検証

11

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

入力データ (テスターが

入力)

データ駆動テスト Data Driven Test

1行で複数ケースを実施

正常系、境界値、etc

12

ScreenShotを1行で ScreenShot wrapper method

13

13

<素のSeleniumの場合>

File scrFile = ((TakesScreenshot)driver).

getScreenshotAs(OutputType.FILE); FileUtils.copyFile(scrFile, new File("c:¥¥ProjectA¥¥IE8¥¥ 検索結果画面.png"));

毎回フォルダやファイル名を指定するのは大変!

ScreenShotを1行で ScreenShot wrapper method

14

14

たった一行書くだけで自動でフォルダをわけて保存できる!

<ラッパーメソッドを作成>

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!

top related