SlideShare a Scribd company logo
1 of 43
Download to read offline
テスト自動化の闇と向き合う
新日鉄住金ソリューションズ
石川 真也
(Selenium歴 9ヶ月)
Copyright © 2015 NS Solutions Corporation, All rights reserved. 1
ブラウザテスト
Copyright © 2015 NS Solutions Corporation, All rights reserved. 2
Copyright © 2015 NS Solutions Corporation, All rights reserved. 3
Internet Explorer 7
Internet Explorer 8
Internet Explorer 9
Internet Explorer 10
Internet Explorer 11
Microsoft Edge
Firefox
Google Chrome
Safari
Safari(iOS)
Google Chrome(Android)
・アプリにアクセス
・ログイン
・カートに商品を追加
・配送先を選択
・支払い方法を選択
・注文の確認
・購入完了
・アプリにアクセス
・ログイン
・カートに商品を追加
・配送先を選択
・支払い方法を選択
・注文の確認
・購入完了
・アプリにアクセス
・ログイン
・カートに商品を追加
・配送先を選択
・支払い方法を選択
・注文の確認
・購入完了
・アプリにアクセス
・ログイン
・カートに商品を追加
・配送先を選択
・支払い方法を選択
・注文の確認
・購入完了
・アプリにアクセス
・ログイン
・カートに商品を追加
・配送先を選択
・支払い方法を選択
・注文の確認
・購入完了
・アプリにアクセス
・ログイン
・カートに商品を追加
・配送先を選択
・支払い方法を選択
・注文の確認
・購入完了
・アプリにアクセス
・ログイン
・カートに商品を追加
・配送先を選択
・支払い方法を選択
・注文の確認
・購入完了
・アプリにアクセス
・ログイン
・カートに商品を追加
・配送先を選択
・支払い方法を選択
・注文の確認
・購入完了
・アプリにアクセス
・ログイン
・カートに商品を追加
・配送先を選択
・支払い方法を選択
・注文の確認
・購入完了
自動化したい
テスト自動化
Copyright © 2015 NS Solutions Corporation, All rights reserved. 4
Copyright © 2015 NS Solutions Corporation, All rights reserved. 5
Selenium
Selenium-特徴
 OSS(Apache2.0)
 様々なブラウザに対応
 豊富な言語バインディング
 Java, C#, Python, Ruby, JavaScript etc.
 豊富な支援ツール
 Selenium grid:並列実行
 Selenium IDE:画面操作の記録
 Appium:iOS, Androidのテスト
Microsoft Edgeにも!
Copyright © 2015 NS Solutions Corporation, All rights reserved. 6
→間口の広さ
Selenium-コード例
public class Example {
public static void main(String[] args) {
WebDriver driver = new HtmlUnitDriver();
driver.get("http://www.google.com");
WebElement element = driver.findElement(By.name("q"));
element.sendKeys("Cheese!");
element.submit();
System.out.println("Page title is: " + driver.getTitle());
driver.quit();
}
}
フォーム操作
ページリクエスト
値の取得
Copyright © 2015 NS Solutions Corporation, All rights reserved. 7
テスト自動化の闇
Copyright © 2015 NS Solutions Corporation, All rights reserved. 8
の闇スクリプト保守
Copyright © 2015 NS Solutions Corporation, All rights reserved. 9
Selenium IDEを使えば
ブラウザ操作を記録できて便利!
Copyright © 2015 NS Solutions Corporation, All rights reserved. 10
どんどんテストスクリプトを
作ろう!
Copyright © 2015 NS Solutions Corporation, All rights reserved. 11
driver.get(baseUrl +
"/myVideoRental/FrontController");
driver.findElement(By.name("shop
_id")).clear();
driver.findElement(By.name("shop
_id")).sendKeys("01");
driver.findElement(By.id("Display
MenuLogic")).click();
assertEquals("貸出・返却メ
ニュー画面", driver.getTitle());
driver.get(baseUrl +
"/myVideoRental/FrontController");
driver.findElement(By.name("shop
_id")).clear();
driver.findElement(By.name("shop
_id")).sendKeys("01");
driver.findElement(By.id("Display
MenuLogic")).click();
assertEquals("貸出・返却メ
ニュー画面", driver.getTitle());
driver.get(baseUrl +
"/myVideoRental/FrontController");
driver.findElement(By.name("shop
_id")).clear();
driver.findElement(By.name("shop
_id")).sendKeys("01");
driver.findElement(By.id("Display
MenuLogic")).click();
assertEquals("貸出・返却メ
ニュー画面", driver.getTitle());
driver.get(baseUrl +
"/myVideoRental/FrontController");
driver.findElement(By.name("shop
_id")).clear();
driver.findElement(By.name("shop
_id")).sendKeys("01");
driver.findElement(By.id("Display
MenuLogic")).click();
assertEquals("貸出・返却メ
ニュー画面", driver.getTitle());
driver.get(baseUrl +
"/myVideoRental/FrontController");
driver.findElement(By.name("shop
_id")).clear();
driver.findElement(By.name("shop
_id")).sendKeys("01");
driver.findElement(By.id("Display
MenuLogic")).click();
assertEquals("貸出・返却メ
ニュー画面", driver.getTitle());
driver.get(baseUrl +
"/myVideoRental/Fron
driver.findElement(By
_id")).clear();
driver.findElement(By
_id")).sendKeys("01
driver.findElement(By
MenuLogic")).click(
assertEquals("
ニュー画面", driver.ge
Copyright © 2015 NS Solutions Corporation, All rights reserved. 12
「ここのフォームの配置
変えといたから」
Copyright © 2015 NS Solutions Corporation, All rights reserved. 13
えっ
driver.get(baseUrl +
"/myVideoRental/FrontController");
driver.findElement(By.name("shop
_id")).clear();
driver.findElement(By.name("shop
_id")).sendKeys("01");
driver.findElement(By.id("Display
MenuLogic")).click();
assertEquals("貸出・返却メ
ニュー画面", driver.getTitle());
driver.get(baseUrl +
"/myVideoRental/FrontController");
driver.findElement(By.name("shop
_id")).clear();
driver.findElement(By.name("shop
_id")).sendKeys("01");
driver.findElement(By.id("Display
MenuLogic")).click();
assertEquals("貸出・返却メ
ニュー画面", driver.getTitle());
driver.get(baseUrl +
"/myVideoRental/FrontController");
driver.findElement(By.name("shop
_id")).clear();
driver.findElement(By.name("shop
_id")).sendKeys("01");
driver.findElement(By.id("Display
MenuLogic")).click();
assertEquals("貸出・返却メ
ニュー画面", driver.getTitle());
driver.get(baseUrl +
"/myVideoRental/FrontController");
driver.findElement(By.name("shop
_id")).clear();
driver.findElement(By.name("shop
_id")).sendKeys("01");
driver.findElement(By.id("Display
MenuLogic")).click();
assertEquals("貸出・返却メ
ニュー画面", driver.getTitle());
driver.get(baseUrl +
"/myVideoRental/FrontController");
driver.findElement(By.name("shop
_id")).clear();
driver.findElement(By.name("shop
_id")).sendKeys("01");
driver.findElement(By.id("Display
MenuLogic")).click();
assertEquals("貸出・返却メ
ニュー画面", driver.getTitle());
driver.get(baseUrl +
"/myVideoRental/Fron
driver.findElement(By
_id")).clear();
driver.findElement(By
_id")).sendKeys("01
driver.findElement(By
MenuLogic")).click(
assertEquals("
ニュー画面", driver.ge
Copyright © 2015 NS Solutions Corporation, All rights reserved. 14
Selenium IDEが吐くコードの例
WebElement element = driver.findElement(
By.cssSelector("#content > table > tbody > tr:nth-child(4) > td:nth-child(2)“));
↑Idがcontentの要素の中の
↑table要素の中の
↑tbody要素の中の
↑4番めのtr要素の中の
↑2番めのtd要素
Copyright © 2015 NS Solutions Corporation, All rights reserved. 15
DOM要素の配置が変わると台無し
DOMツリー上の位置で操作する要素を特定
えっこれ全部修正ですか?
driver.get(baseUrl +
"/myVideoRental/FrontController");
driver.findElement(By.name("shop
_id")).clear();
driver.findElement(By.name("shop
_id")).sendKeys("01");
driver.findElement(By.id("Display
MenuLogic")).click();
assertEquals("貸出・返却メ
ニュー画面", driver.getTitle());
driver.get(baseUrl +
"/myVideoRental/FrontController");
driver.findElement(By.name("shop
_id")).clear();
driver.findElement(By.name("shop
_id")).sendKeys("01");
driver.findElement(By.id("Display
MenuLogic")).click();
assertEquals("貸出・返却メ
ニュー画面", driver.getTitle());
driver.get(baseUrl +
"/myVideoRental/FrontController");
driver.findElement(By.name("shop
_id")).clear();
driver.findElement(By.name("shop
_id")).sendKeys("01");
driver.findElement(By.id("Display
MenuLogic")).click();
assertEquals("貸出・返却メ
ニュー画面", driver.getTitle());
driver.get(baseUrl +
"/myVideoRental/FrontController");
driver.findElement(By.name("shop
_id")).clear();
driver.findElement(By.name("shop
_id")).sendKeys("01");
driver.findElement(By.id("Display
MenuLogic")).click();
assertEquals("貸出・返却メ
ニュー画面", driver.getTitle());
driver.get(baseUrl +
"/myVideoRental/FrontController");
driver.findElement(By.name("shop
_id")).clear();
driver.findElement(By.name("shop
_id")).sendKeys("01");
driver.findElement(By.id("Display
MenuLogic")).click();
assertEquals("貸出・返却メ
ニュー画面", driver.getTitle());
driver.get(baseUrl +
"/myVideoRental/Fron
driver.findElement(By
_id")).clear();
driver.findElement(By
_id")).sendKeys("01
driver.findElement(By
MenuLogic")).click(
assertEquals("
ニュー画面", driver.ge
Copyright © 2015 NS Solutions Corporation, All rights reserved. 16
orz
Copyright © 2015 NS Solutions Corporation, All rights reserved. 17
スクリプト保守の闇と向き合う
• テストを意識した設計
• 要素のクラス、id体系
• テストスクリプトで工夫
• PageObjectパターン
• ページごとの操作を抽象化
Copyright © 2015 NS Solutions Corporation, All rights reserved. 18
driver.get(baseUrl +
"/myVideoRental/Fron
tController");
driver.findElement(By.
name("shop_id")).cl
ear();
Copyright © 2015 NS Solutions Corporation, All rights reserved. 19
driver.get(baseUrl +
"/myVideoRental/Fron
tController");
driver.findElement(By.
name("shop_id")).cl
ear();
driver.get(baseUrl +
"/myVideoRental/Fron
tController");
driver.findElement(By.
name("shop_id")).cl
ear();
driver.get(baseUrl +
"/myVideoRental/Fron
tController");
driver.findElement(By.
name("shop_id")).cl
ear();
driver.get(baseUrl +
"/myVideoRental/Fron
tController");
driver.findElement(By.
name("shop_id")).cl
ear();
driver.get(baseUrl +
"/myVideoRental/Fron
tController");
driver.findElement(By.
name("shop_id")).cl
ear();
LoginPage
.class
void login(user, passwd)
void logout()
boolean isLoggedIn()
PageObjectパターン
の闇「たまに失敗」
Copyright © 2015 NS Solutions Corporation, All rights reserved. 20
スクリプトも完成したし、
今やこのテストは完全に
自動化された!
Copyright © 2015 NS Solutions Corporation, All rights reserved. 21
ほらね、ちゃんと動いてる!
driver.get(baseUrl +
"/myVideoRental/FrontController");
driver.findElement(By.name("shop
_id")).clear();
driver.findElement(By.name("shop
_id")).sendKeys("01");
driver.findElement(By.id("Display
MenuLogic")).click();
assertEquals("貸出・返却メ
ニュー画面", driver.getTitle());
Copyright © 2015 NS Solutions Corporation, All rights reserved. 22
あれ、このテスト…
たまに失敗してる…? driver.get(baseUrl +
"/myVideoRental/FrontController");
driver.findElement(By.name("shop
_id")).clear();
driver.findElement(By.name("shop
_id")).sendKeys("01");
driver.findElement(By.id("Display
MenuLogic")).click();
assertEquals("貸出・返却メ
ニュー画面", driver.getTitle());
Copyright © 2015 NS Solutions Corporation, All rights reserved. 23
Copyright © 2015 NS Solutions Corporation, All rights reserved. 24
たまに失敗するのはなぜ?
• クリックしようとした要素が不可視状態だった
• ネットワークが遅くてタイムアウト
• ブラウザのキャッシュがのこっていた
• DBの状態がかわっていた
• 信仰心がたりない
• etc. etc. etc.
Copyright © 2015 NS Solutions Corporation, All rights reserved. 25
「このテストが失敗するのは
よくあることだから大丈夫」
Copyright © 2015 NS Solutions Corporation, All rights reserved. 26
driver.get(baseUrl +
"/myVideoRental/FrontCon
troller");
driver.findElement(By.na
me("shop_id")).clear();
driver.findElement(By.na
me("shop_id")).sendKe
ys("01");
(大丈夫じゃない)
orz
Copyright © 2015 NS Solutions Corporation, All rights reserved. 27
たまに失敗の闇と向き合う
• 同じ条件ならいつでも失敗 or いつでも成功
するテストがよいテスト!
• 事前条件をそろえる
• AP, DB, ブラウザ状態の初期化
• 適切にwaitする
• PageObjectパターンとの組み合わせも◎
Copyright © 2015 NS Solutions Corporation, All rights reserved. 28
の闇ブラウザ依存
Copyright © 2015 NS Solutions Corporation, All rights reserved. 29
ページのレイアウト崩れが無いか
確認したい…
Copyright © 2015 NS Solutions Corporation, All rights reserved. 30
スクリーンショットを撮ろう!
Copyright © 2015 NS Solutions Corporation, All rights reserved. 31
File screenshotFile = ((Screenshot)driver).getScreenshotAs(file);
Copyright © 2015 NS Solutions Corporation, All rights reserved. 32
可視範囲のみ
いろんなバー映り込む
Copyright © 2015 NS Solutions Corporation, All rights reserved. 33
Internet Explorer Google Chrome Safari(iOS)
TakesScreenshot interface
For WebDriver extending TakesScreenshot, this makes a best effort
depending on the browser to return the following in order of
preference:
• Entire page
• Current window
• Visible portion of the current frame
• The screenshot of the entire display containing the browser
http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/TakesScreenshot.html
Copyright © 2015 NS Solutions Corporation, All rights reserved. 34
TakesScreenshot interface(意訳)
実装するときは下記の順でどれか返してくれればいいよ。
ブラウザによってベストエフォートで実装してね。
• ページ全体
• 現在のウインドウ
• 現在のフレームの可視範囲
• ブラウザも含むディスプレイ全体
http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/TakesScreenshot.html
Copyright © 2015 NS Solutions Corporation, All rights reserved. 35
orz
Copyright © 2015 NS Solutions Corporation, All rights reserved. 36
ブラウザ依存の闇と向き合う
世にある便利ツールを使おう!
(他力本願)
Copyright © 2015 NS Solutions Corporation, All rights reserved. 37
Seleniumベースのツール・サービス
• ラッパ /DSL
• SeleniumのAPIを使いやすくしてくれたり、
自然言語に近い形でテストを書けたりする
• クラウドサービス
• 色々なブラウザの実行環境が使えたり、
スクショや動画キャプチャ撮ってくれたりする
Copyright © 2015 NS Solutions Corporation, All rights reserved. 38
参考:Seleniumテストの自動化を推し進めるクラウドサービスまとめ
http://blog.htmlhifive.com/2014/12/09/selenium-cloud-services/
宣伝:弊社も作ってます
Pitalium
Copyright © 2015 NS Solutions Corporation, All rights reserved. 39
ピ タ リ ウ ム
by
OSS
(Apache2.0)
Copyright © 2015 NS Solutions Corporation, All rights reserved. 40
IE
Safari
Chrome
Pitalium
テスト自動化の闇テスト自動化の闇と向き合う
Copyright © 2015 NS Solutions Corporation, All rights reserved. 41
テスト自動化の闇と向き合うには
• テストしやすい設計
• テストスクリプトに一手間
• 便利ツール・サービスを使う
Copyright © 2015 NS Solutions Corporation, All rights reserved. 42
そして深まる闇
闇トークしたい方
hifiveブースへお越しください!
Copyright © 2015 NS Solutions Corporation, All rights reserved. 43
・ NS Solutions、NS(ロゴ)、NSSOLは、新日鉄住金ソリューションズ株式会社の登録商標です。
・ hifive、hifive(ロゴ)は、新日鉄住金ソリューションズ株式会社の登録商標です。
・ Pitaliumは、新日鉄住金ソリューションズ株式会社の商標です。
・ Javaは、米国ORACLE Corp.の登録商標です。
・ HTML5 Logo by W3C
・ その他本文記載の会社名及び製品名は、それぞれ各社の商標又は登録商標です。

More Related Content

What's hot

SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告Osamu Shimoda
 
5分でわかるVISUAL TESTING FOR HTML5
5分でわかるVISUAL TESTING FOR HTML55分でわかるVISUAL TESTING FOR HTML5
5分でわかるVISUAL TESTING FOR HTML5Osamu Shimoda
 
面白法人カヤックのウェブフロントエンド術
面白法人カヤックのウェブフロントエンド術面白法人カヤックのウェブフロントエンド術
面白法人カヤックのウェブフロントエンド術minoru nakanou
 
20170710 hifive-test-meetup
20170710 hifive-test-meetup20170710 hifive-test-meetup
20170710 hifive-test-meetupNaoya Kojima
 
hifiveで実現するエンタープライズHTML5システム開発
hifiveで実現するエンタープライズHTML5システム開発hifiveで実現するエンタープライズHTML5システム開発
hifiveで実現するエンタープライズHTML5システム開発Osamu Shimoda
 
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化JustSystems Corporation
 
事例からわかる!テスト自動化導入パターン
事例からわかる!テスト自動化導入パターン事例からわかる!テスト自動化導入パターン
事例からわかる!テスト自動化導入パターン友隆 浅黄
 
APIテスト自動化とテストピラミッド
APIテスト自動化とテストピラミッドAPIテスト自動化とテストピラミッド
APIテスト自動化とテストピラミッド友隆 浅黄
 
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015Yahoo!デベロッパーネットワーク
 
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストSTFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストToshiyuki Hirata
 
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #SeleniumjpSeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #SeleniumjpYahoo!デベロッパーネットワーク
 
アジャイル事例紹介
アジャイル事例紹介アジャイル事例紹介
アジャイル事例紹介hiko99
 
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオンkyon mm
 
エンタープライズへのアジャイル開発の導入事例
エンタープライズへのアジャイル開発の導入事例エンタープライズへのアジャイル開発の導入事例
エンタープライズへのアジャイル開発の導入事例Shozaburo Yoshihara
 
継続的E2Eテスト
継続的E2Eテスト継続的E2Eテスト
継続的E2Eテスト友隆 浅黄
 
ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312
ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312
ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312Yuki Tagami
 
Ulsアジャイル推進室 エンタープライズアジャイルがやってくる! 20160312
Ulsアジャイル推進室 エンタープライズアジャイルがやってくる! 20160312Ulsアジャイル推進室 エンタープライズアジャイルがやってくる! 20160312
Ulsアジャイル推進室 エンタープライズアジャイルがやってくる! 20160312Shozaburo Yoshihara
 
いまさらアジャイル巡業 In Tokyo アジャイルモデリング
いまさらアジャイル巡業 In Tokyo アジャイルモデリングいまさらアジャイル巡業 In Tokyo アジャイルモデリング
いまさらアジャイル巡業 In Tokyo アジャイルモデリングYuki Tagami
 

What's hot (20)

SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告
 
5分でわかるVISUAL TESTING FOR HTML5
5分でわかるVISUAL TESTING FOR HTML55分でわかるVISUAL TESTING FOR HTML5
5分でわかるVISUAL TESTING FOR HTML5
 
面白法人カヤックのウェブフロントエンド術
面白法人カヤックのウェブフロントエンド術面白法人カヤックのウェブフロントエンド術
面白法人カヤックのウェブフロントエンド術
 
20170710 hifive-test-meetup
20170710 hifive-test-meetup20170710 hifive-test-meetup
20170710 hifive-test-meetup
 
hifiveで実現するエンタープライズHTML5システム開発
hifiveで実現するエンタープライズHTML5システム開発hifiveで実現するエンタープライズHTML5システム開発
hifiveで実現するエンタープライズHTML5システム開発
 
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
 
事例からわかる!テスト自動化導入パターン
事例からわかる!テスト自動化導入パターン事例からわかる!テスト自動化導入パターン
事例からわかる!テスト自動化導入パターン
 
APIテスト自動化とテストピラミッド
APIテスト自動化とテストピラミッドAPIテスト自動化とテストピラミッド
APIテスト自動化とテストピラミッド
 
Unity(再)入門
Unity(再)入門Unity(再)入門
Unity(再)入門
 
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
 
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
 ぼく(たち)のかんがえた最新のJS開発環境 #scripty04 ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
 
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストSTFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
 
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #SeleniumjpSeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
 
アジャイル事例紹介
アジャイル事例紹介アジャイル事例紹介
アジャイル事例紹介
 
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
 
エンタープライズへのアジャイル開発の導入事例
エンタープライズへのアジャイル開発の導入事例エンタープライズへのアジャイル開発の導入事例
エンタープライズへのアジャイル開発の導入事例
 
継続的E2Eテスト
継続的E2Eテスト継続的E2Eテスト
継続的E2Eテスト
 
ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312
ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312
ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312
 
Ulsアジャイル推進室 エンタープライズアジャイルがやってくる! 20160312
Ulsアジャイル推進室 エンタープライズアジャイルがやってくる! 20160312Ulsアジャイル推進室 エンタープライズアジャイルがやってくる! 20160312
Ulsアジャイル推進室 エンタープライズアジャイルがやってくる! 20160312
 
いまさらアジャイル巡業 In Tokyo アジャイルモデリング
いまさらアジャイル巡業 In Tokyo アジャイルモデリングいまさらアジャイル巡業 In Tokyo アジャイルモデリング
いまさらアジャイル巡業 In Tokyo アジャイルモデリング
 

Similar to OSC京都 2015 LT 「テスト自動化の闇と向き合う」

その Web サイト、その Web アプリを最新の IE11 に対応しよう
その Web サイト、その Web アプリを最新の IE11 に対応しようその Web サイト、その Web アプリを最新の IE11 に対応しよう
その Web サイト、その Web アプリを最新の IE11 に対応しようOsamu Monoe
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbixsoftlayerjp
 
[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見Yosuke HASEGAWA
 
Android4.2徹底解剖!
Android4.2徹底解剖!Android4.2徹底解剖!
Android4.2徹底解剖!leverages_event
 
Windows Phone 7はじめました
Windows Phone 7はじめましたWindows Phone 7はじめました
Windows Phone 7はじめましたAkira Hatsune
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップKoichiro Sumi
 
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)JPCERT Coordination Center
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Kenichi Kambara
 
Ec cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナーEc cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナーAyumu Kawaguchi
 
【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記友隆 浅黄
 
goo基盤を支えるOpenstack
goo基盤を支えるOpenstackgoo基盤を支えるOpenstack
goo基盤を支えるOpenstackTomoya Hashimoto
 
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIあなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIWataru MIYAGUNI
 
fastlane x iOSアプリのCI
fastlane x iOSアプリのCIfastlane x iOSアプリのCI
fastlane x iOSアプリのCIToshiyuki Hirata
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1近藤 繁延
 
Internet Explorer 11 概要
Internet Explorer 11 概要Internet Explorer 11 概要
Internet Explorer 11 概要Yoshihisa Ozaki
 
5分でわかる!ownCloudアドオンの作り方
5分でわかる!ownCloudアドオンの作り方5分でわかる!ownCloudアドオンの作り方
5分でわかる!ownCloudアドオンの作り方Yuki Takahashi
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンスKaoru NAKAMURA
 
121117 metro styleapp_templateapp
121117 metro styleapp_templateapp121117 metro styleapp_templateapp
121117 metro styleapp_templateappTakayoshi Tanaka
 
ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~
ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~
ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~MakotoItoh
 
経営を支えるIT部門実現の記録2005
経営を支えるIT部門実現の記録2005経営を支えるIT部門実現の記録2005
経営を支えるIT部門実現の記録2005Makoto Shimizu
 

Similar to OSC京都 2015 LT 「テスト自動化の闇と向き合う」 (20)

その Web サイト、その Web アプリを最新の IE11 に対応しよう
その Web サイト、その Web アプリを最新の IE11 に対応しようその Web サイト、その Web アプリを最新の IE11 に対応しよう
その Web サイト、その Web アプリを最新の IE11 に対応しよう
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
 
[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見
 
Android4.2徹底解剖!
Android4.2徹底解剖!Android4.2徹底解剖!
Android4.2徹底解剖!
 
Windows Phone 7はじめました
Windows Phone 7はじめましたWindows Phone 7はじめました
Windows Phone 7はじめました
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
 
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
 
Ec cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナーEc cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナー
 
【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記
 
goo基盤を支えるOpenstack
goo基盤を支えるOpenstackgoo基盤を支えるOpenstack
goo基盤を支えるOpenstack
 
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIあなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
 
fastlane x iOSアプリのCI
fastlane x iOSアプリのCIfastlane x iOSアプリのCI
fastlane x iOSアプリのCI
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
 
Internet Explorer 11 概要
Internet Explorer 11 概要Internet Explorer 11 概要
Internet Explorer 11 概要
 
5分でわかる!ownCloudアドオンの作り方
5分でわかる!ownCloudアドオンの作り方5分でわかる!ownCloudアドオンの作り方
5分でわかる!ownCloudアドオンの作り方
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
 
121117 metro styleapp_templateapp
121117 metro styleapp_templateapp121117 metro styleapp_templateapp
121117 metro styleapp_templateapp
 
ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~
ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~
ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~
 
経営を支えるIT部門実現の記録2005
経営を支えるIT部門実現の記録2005経営を支えるIT部門実現の記録2005
経営を支えるIT部門実現の記録2005
 

Recently uploaded

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 

Recently uploaded (9)

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 

OSC京都 2015 LT 「テスト自動化の闇と向き合う」