SlideShare a Scribd company logo
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
5分でわかる
1
VISUAL TESTING
FOR HTML5
技術本部 システム研究開発センター
イノベーティブアプリケーション研究部
石川 真也
WHAT, WHY & HOW?
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
Who
2
石川 真也(@meganetaaan)
UI技術の研究をしています
音声/ 画像入力を含むUI全般に
興味があります
HTML5企業Webシステムのための
開発プラットフォーム
Visual Testing Automation
★★★☆☆☆
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
WHAT VISUAL TESTING?
3
WHY
HOW
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
VISUAL TESTINGとは何か
見た目のテスト
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
VISUAL TESTINGとは何か(ここでは)
Webアプリケーションの見た目の
リグレッションテストの自動化
正解画像 実際の画像
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
正解画像 実際の画像
VISUAL TESTINGとは何か(ここでは)
WHY?
HOW?
Webアプリケーションの見た目の
リグレッションテストの自動化
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
WHY VISUAL TESTING?
7
WHAT
HOW
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
なぜVISUAL TESTINGが必要か
画面を見てみないとわからない
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
画面を見てみないとわからない
 リッチ化になったHTML5ならではの…
 スタイル崩れ(CSSのバグ)
 SVG/Canvas/WebGL…の描画結果
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
どうせ見ないとわからないなら
10
 少しでも自動化できれば負担減!!
画像を比較する👓(自動)
差分を見る👀
画像を撮る📷(自動)
結果を見る👀(手動)
画像を撮る📷(自動)
Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 11
https://www.htmlhifive.com/conts/web/view/pitalium-sample/three-dimensions
サンプルコード公開中
WebGL(three.js)の画面のテストをやってみた
Canvasも、WebGLも、PDFも 。Point!
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
HOW VISUAL TESTING?
12
WHAT
WHY
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
どのようにVISUAL TESTINGを行うか
13
画像を撮る📷
画像を比較👓
差分を見る👀
OK NG
一致している?
差分を許容
できる?Yes
No
Yes
No
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
画像を撮る📷
14
Selenium特有のハマりどころに注意
参考:私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
(https://www.slideshare.net/shimodanssol/selenium-54768429)
Point!
 Selenium
 ブラウザ自動化ツールのデファクトスタンダード
– W3C標準のプロトコル
– 豊富な言語バインディング・周辺ツール
– マルチブラウザ対応
 スクリーンショットも取得できる
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
画像を比較する👓
15
 比較の仕方は様々
 Pixel Perfect :1ピクセル毎の厳密な比較
 Fuzzy :2画像の類似度を用いた曖昧な比較
 Full Page :ページ全体
 Partial Match :ページの一部のみ比較
 Partial Exclude :ページの一部を除外して比較
Point!
1pxのズレを許容できるか?
“画面の見た目のテストで難しいのは,この比較がファジー(曖昧)
でよいところはファジーな状態で通して,正確であるべきところは
正確であるかを見なければならない,というところですね。”
コミッターが語るSeleniumのいま,そして未来 ―「Selenium Committer Day 2017」レポート
(https://gihyo.jp/news/report/2017/07/2601)
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
差分を見る👀
16
 結果の管理の仕方は様々
 レポートを生成
 専用のWebUI
 差分の見せ方は様々
 Marker
 2-up
 Quick Flip
 Swipe
 Onion Skin
 Edge Overlap
Point!
手動のステップは排除しきれない
• 用法・容量を守る
• いかに快適にするかがUX的勘所
• 「誰が見ても崩れている」を自動推定してくれないかなあ
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
WHAT ✓
WHY ✓
HOW ✓
→LET’S TRY!
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
VISUAL TESTINGのためのツールを
(残り時間の限り)紹介
18
Applitools Eyes
SI Toolkit for Web Testing
reg-suit

Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
Applitools Eyes
19
 Visual Testing Automation Service
 群を抜いて多機能
 フリープランあり。まず試すならこれかも
https://applitools.com/
📷 👓 👀
Selenium
Java
Ruby
Python
PHP
C#
JavaScript
Appium
SEBuilder
Pixel Perfect
Fuzzy
Full Page
Partial
Match
Exclude
Web UI
Diff View
Marker
2-UP
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
SI Toolkit for Web Testing
20
 「現場の"いいね"が詰まった自動テストツールです。」
 プログラミング不要で簡単に使える
 ブラウザ操作を記録してテスト作成
 Microsoft Excelでテストを書ける!!!
https://sitoolkit.org/sit-wt.html
📷 👓 👀
Microsoft Excel
Selenium IDE
Pixel Perfect
Full Page
Partial
Exclude
HTML report
Diff View
Marker
2-UPAppium
⚖Apache-2.0
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
reg-suit
21
 画像比較、画像管理に特化したシンプルなツール
 スクリーンショット取得は他ツールと組み合わせ前提
 UIコンポーネント単体でのvisual testing(karma-nightmare)
 GitHub連携
 プラグイン機構
https://reg-viz.github.io/reg-suit/
📷 👓 👀
GitHubPixel Perfect
Fuzzy Diff View
2-UP
Swipe
Onion Skin
⚖MIT
Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 22
 本気のマルチデバイス対応
 Full Page Screenshotを全デバイスで撮るための涙ぐましい努力(主観)
– Seleniumで撮ったスクリーンショットがブラウザごとにばらばら問題
(https://qiita.com/meganetaaan/items/b11338d2867c8c8f072a)
 画像比較機能が充実
 差分の原因を推定(フォントの違い?位置のずれ?要素の出現・消失?)
https://www.htmlhifive.com/conts/web/view/pitalium/
📷 👓 👀
Selenium
Java
Appium
Web UIPixel Perfect
Fuzzy
Full Page
Partial
Match
Exclude
Diff View
Marker
2-UP
Quick Flip
Slider
Onion Skin
⚖Apache-2.0
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
まとめ
23
 VISUAL TESTING やっていきましょう!
 Pitalium ぜひお試しください!
Copyright ©2017 NS Solutions Corporation. All Rights Reserved.
商標について
24
 NS Solutions、NS(ロゴ)は、新日鉄住金ソリューションズ
株式会社の登録商標です。
 hifive、hifive(ロゴ)、Pitalium、Pitalium(ロゴ)は、新日鉄住金
ソリューションズ株式会社の登録商標です。
 Microsoft Excelは、米国 Microsoft Corporation の米国および
その他の国における登録商標です。
 HTML5 Logo by W3C.
 その他本文記載の会社名及び製品名は、それぞれ各社の商標又は
登録商標です。

More Related Content

What's hot (20)

SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告
Osamu Shimoda
 
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
Osamu Shimoda
 
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
JustSystems Corporation
 
JustTechTalk#10windowsアプリでのテスト自動化事例
JustTechTalk#10windowsアプリでのテスト自動化事例JustTechTalk#10windowsアプリでのテスト自動化事例
JustTechTalk#10windowsアプリでのテスト自動化事例
JustSystems Corporation
 
JISAAwards2013講演会資料(hifive)
JISAAwards2013講演会資料(hifive)JISAAwards2013講演会資料(hifive)
JISAAwards2013講演会資料(hifive)
Osamu Shimoda
 
ブラウザテスト自動化入門
ブラウザテスト自動化入門ブラウザテスト自動化入門
ブラウザテスト自動化入門
takahiro sakuma
 
ジャストシステムのDevOps実例 今後の取り組み
ジャストシステムのDevOps実例 今後の取り組みジャストシステムのDevOps実例 今後の取り組み
ジャストシステムのDevOps実例 今後の取り組み
JustSystems Corporation
 
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
Nozomi Ito
 
開発ツール「Wijmo」と「SpreadJS」からみる業務アプリケーションの変遷とこれから
開発ツール「Wijmo」と「SpreadJS」からみる業務アプリケーションの変遷とこれから開発ツール「Wijmo」と「SpreadJS」からみる業務アプリケーションの変遷とこれから
開発ツール「Wijmo」と「SpreadJS」からみる業務アプリケーションの変遷とこれから
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
 
APIテスト自動化とテストピラミッド
APIテスト自動化とテストピラミッドAPIテスト自動化とテストピラミッド
APIテスト自動化とテストピラミッド
友隆 浅黄
 
事例からわかる!テスト自動化導入パターン
事例からわかる!テスト自動化導入パターン事例からわかる!テスト自動化導入パターン
事例からわかる!テスト自動化導入パターン
友隆 浅黄
 
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストSTFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
Toshiyuki Hirata
 
継続的E2Eテスト
継続的E2Eテスト継続的E2Eテスト
継続的E2Eテスト
友隆 浅黄
 
iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介
Shunsuke Maeda
 
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
Yahoo!デベロッパーネットワーク
 
OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様
ManageEngine, Zoho Corporation
 
エンタープライズへのアジャイル開発の導入事例
エンタープライズへのアジャイル開発の導入事例エンタープライズへのアジャイル開発の導入事例
エンタープライズへのアジャイル開発の導入事例
Shozaburo Yoshihara
 
そろそろ(おまえらの)DevOpsについて一言いっておくか
そろそろ(おまえらの)DevOpsについて一言いっておくかそろそろ(おまえらの)DevOpsについて一言いっておくか
そろそろ(おまえらの)DevOpsについて一言いっておくか
Takashi Takebayashi
 
Vue Fes Japan 2018 LINE株式会社 LunchスポンサーLT
Vue Fes Japan 2018 LINE株式会社 LunchスポンサーLTVue Fes Japan 2018 LINE株式会社 LunchスポンサーLT
Vue Fes Japan 2018 LINE株式会社 LunchスポンサーLT
LINE Corporation
 
Ulsアジャイル推進室 エンタープライズアジャイルがやってくる! 20160312
Ulsアジャイル推進室 エンタープライズアジャイルがやってくる! 20160312Ulsアジャイル推進室 エンタープライズアジャイルがやってくる! 20160312
Ulsアジャイル推進室 エンタープライズアジャイルがやってくる! 20160312
Shozaburo Yoshihara
 
SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告
Osamu Shimoda
 
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
Osamu Shimoda
 
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
JustSystems Corporation
 
JustTechTalk#10windowsアプリでのテスト自動化事例
JustTechTalk#10windowsアプリでのテスト自動化事例JustTechTalk#10windowsアプリでのテスト自動化事例
JustTechTalk#10windowsアプリでのテスト自動化事例
JustSystems Corporation
 
JISAAwards2013講演会資料(hifive)
JISAAwards2013講演会資料(hifive)JISAAwards2013講演会資料(hifive)
JISAAwards2013講演会資料(hifive)
Osamu Shimoda
 
ブラウザテスト自動化入門
ブラウザテスト自動化入門ブラウザテスト自動化入門
ブラウザテスト自動化入門
takahiro sakuma
 
ジャストシステムのDevOps実例 今後の取り組み
ジャストシステムのDevOps実例 今後の取り組みジャストシステムのDevOps実例 今後の取り組み
ジャストシステムのDevOps実例 今後の取り組み
JustSystems Corporation
 
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
Nozomi Ito
 
APIテスト自動化とテストピラミッド
APIテスト自動化とテストピラミッドAPIテスト自動化とテストピラミッド
APIテスト自動化とテストピラミッド
友隆 浅黄
 
事例からわかる!テスト自動化導入パターン
事例からわかる!テスト自動化導入パターン事例からわかる!テスト自動化導入パターン
事例からわかる!テスト自動化導入パターン
友隆 浅黄
 
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストSTFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
Toshiyuki Hirata
 
継続的E2Eテスト
継続的E2Eテスト継続的E2Eテスト
継続的E2Eテスト
友隆 浅黄
 
iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介
Shunsuke Maeda
 
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
Yahoo!デベロッパーネットワーク
 
OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様
ManageEngine, Zoho Corporation
 
エンタープライズへのアジャイル開発の導入事例
エンタープライズへのアジャイル開発の導入事例エンタープライズへのアジャイル開発の導入事例
エンタープライズへのアジャイル開発の導入事例
Shozaburo Yoshihara
 
そろそろ(おまえらの)DevOpsについて一言いっておくか
そろそろ(おまえらの)DevOpsについて一言いっておくかそろそろ(おまえらの)DevOpsについて一言いっておくか
そろそろ(おまえらの)DevOpsについて一言いっておくか
Takashi Takebayashi
 
Vue Fes Japan 2018 LINE株式会社 LunchスポンサーLT
Vue Fes Japan 2018 LINE株式会社 LunchスポンサーLTVue Fes Japan 2018 LINE株式会社 LunchスポンサーLT
Vue Fes Japan 2018 LINE株式会社 LunchスポンサーLT
LINE Corporation
 
Ulsアジャイル推進室 エンタープライズアジャイルがやってくる! 20160312
Ulsアジャイル推進室 エンタープライズアジャイルがやってくる! 20160312Ulsアジャイル推進室 エンタープライズアジャイルがやってくる! 20160312
Ulsアジャイル推進室 エンタープライズアジャイルがやってくる! 20160312
Shozaburo Yoshihara
 

Similar to 5分でわかるVISUAL TESTING FOR HTML5 (20)

iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
 
Build 2017 更新情報 Cognitive Services 編
Build 2017 更新情報 Cognitive Services 編Build 2017 更新情報 Cognitive Services 編
Build 2017 更新情報 Cognitive Services 編
Atsushi Yokohama (BEACHSIDE)
 
Azure IaaS 環境で安心してシステム開発する方法を教えます
Azure IaaS 環境で安心してシステム開発する方法を教えますAzure IaaS 環境で安心してシステム開発する方法を教えます
Azure IaaS 環境で安心してシステム開発する方法を教えます
wintechq
 
Ossを使ったazureでのdev ops
Ossを使ったazureでのdev opsOssを使ったazureでのdev ops
Ossを使ったazureでのdev ops
裕貴 荒井
 
音声によるデバイスWebAPIの操作
音声によるデバイスWebAPIの操作音声によるデバイスWebAPIの操作
音声によるデバイスWebAPIの操作
Device WebAPI Consortium
 
AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』
Ryohei Sogo
 
Agile japan2010 rakuten様プレゼン資料
Agile japan2010 rakuten様プレゼン資料Agile japan2010 rakuten様プレゼン資料
Agile japan2010 rakuten様プレゼン資料
Akiko Kosaka
 
[_gaTracker]GAのここがすき。ここがきらい。
[_gaTracker]GAのここがすき。ここがきらい。[_gaTracker]GAのここがすき。ここがきらい。
[_gaTracker]GAのここがすき。ここがきらい。
Toru Enomoto
 
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
Works Applications
 
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechconMobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
DeNA
 
Androidマーケティングに不可欠な15の活動(改) 20111222
Androidマーケティングに不可欠な15の活動(改) 20111222Androidマーケティングに不可欠な15の活動(改) 20111222
Androidマーケティングに不可欠な15の活動(改) 20111222
Hiromitsu Ishimori
 
ux_team_of_one
ux_team_of_oneux_team_of_one
ux_team_of_one
Yahoo!デベロッパーネットワーク
 
効果音管理でラクしたい人のための Unity実装テクニック
効果音管理でラクしたい人のための Unity実装テクニック効果音管理でラクしたい人のための Unity実装テクニック
効果音管理でラクしたい人のための Unity実装テクニック
Kinose Tomohito
 
New Integration "X" 新インテグレーションソリューション
New Integration "X" 新インテグレーションソリューションNew Integration "X" 新インテグレーションソリューション
New Integration "X" 新インテグレーションソリューション
motani_kamakura
 
AbemaTVのUIデザイン 僕なりの運用の心得
AbemaTVのUIデザイン 僕なりの運用の心得AbemaTVのUIデザイン 僕なりの運用の心得
AbemaTVのUIデザイン 僕なりの運用の心得
Shunsuke Matsumoto
 
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていることYahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!デベロッパーネットワーク
 
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向
Tsutomu Ogasawara
 
はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情 はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情
Monaca
 
2015SendenKaigi_AdverTimes
2015SendenKaigi_AdverTimes2015SendenKaigi_AdverTimes
2015SendenKaigi_AdverTimes
Ohkawa Tetsuji
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
 
Azure IaaS 環境で安心してシステム開発する方法を教えます
Azure IaaS 環境で安心してシステム開発する方法を教えますAzure IaaS 環境で安心してシステム開発する方法を教えます
Azure IaaS 環境で安心してシステム開発する方法を教えます
wintechq
 
Ossを使ったazureでのdev ops
Ossを使ったazureでのdev opsOssを使ったazureでのdev ops
Ossを使ったazureでのdev ops
裕貴 荒井
 
音声によるデバイスWebAPIの操作
音声によるデバイスWebAPIの操作音声によるデバイスWebAPIの操作
音声によるデバイスWebAPIの操作
Device WebAPI Consortium
 
AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』
Ryohei Sogo
 
Agile japan2010 rakuten様プレゼン資料
Agile japan2010 rakuten様プレゼン資料Agile japan2010 rakuten様プレゼン資料
Agile japan2010 rakuten様プレゼン資料
Akiko Kosaka
 
[_gaTracker]GAのここがすき。ここがきらい。
[_gaTracker]GAのここがすき。ここがきらい。[_gaTracker]GAのここがすき。ここがきらい。
[_gaTracker]GAのここがすき。ここがきらい。
Toru Enomoto
 
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
Works Applications
 
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechconMobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
DeNA
 
Androidマーケティングに不可欠な15の活動(改) 20111222
Androidマーケティングに不可欠な15の活動(改) 20111222Androidマーケティングに不可欠な15の活動(改) 20111222
Androidマーケティングに不可欠な15の活動(改) 20111222
Hiromitsu Ishimori
 
効果音管理でラクしたい人のための Unity実装テクニック
効果音管理でラクしたい人のための Unity実装テクニック効果音管理でラクしたい人のための Unity実装テクニック
効果音管理でラクしたい人のための Unity実装テクニック
Kinose Tomohito
 
New Integration "X" 新インテグレーションソリューション
New Integration "X" 新インテグレーションソリューションNew Integration "X" 新インテグレーションソリューション
New Integration "X" 新インテグレーションソリューション
motani_kamakura
 
AbemaTVのUIデザイン 僕なりの運用の心得
AbemaTVのUIデザイン 僕なりの運用の心得AbemaTVのUIデザイン 僕なりの運用の心得
AbemaTVのUIデザイン 僕なりの運用の心得
Shunsuke Matsumoto
 
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていることYahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!デベロッパーネットワーク
 
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向
Tsutomu Ogasawara
 
はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情 はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情
Monaca
 
2015SendenKaigi_AdverTimes
2015SendenKaigi_AdverTimes2015SendenKaigi_AdverTimes
2015SendenKaigi_AdverTimes
Ohkawa Tetsuji
 
Ad

5分でわかるVISUAL TESTING FOR HTML5

  • 1. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 5分でわかる 1 VISUAL TESTING FOR HTML5 技術本部 システム研究開発センター イノベーティブアプリケーション研究部 石川 真也 WHAT, WHY & HOW?
  • 2. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. Who 2 石川 真也(@meganetaaan) UI技術の研究をしています 音声/ 画像入力を含むUI全般に 興味があります HTML5企業Webシステムのための 開発プラットフォーム Visual Testing Automation ★★★☆☆☆
  • 3. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. WHAT VISUAL TESTING? 3 WHY HOW
  • 4. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. VISUAL TESTINGとは何か 見た目のテスト
  • 5. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. VISUAL TESTINGとは何か(ここでは) Webアプリケーションの見た目の リグレッションテストの自動化 正解画像 実際の画像
  • 6. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 正解画像 実際の画像 VISUAL TESTINGとは何か(ここでは) WHY? HOW? Webアプリケーションの見た目の リグレッションテストの自動化
  • 7. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. WHY VISUAL TESTING? 7 WHAT HOW
  • 8. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. なぜVISUAL TESTINGが必要か 画面を見てみないとわからない
  • 9. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 画面を見てみないとわからない  リッチ化になったHTML5ならではの…  スタイル崩れ(CSSのバグ)  SVG/Canvas/WebGL…の描画結果
  • 10. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. どうせ見ないとわからないなら 10  少しでも自動化できれば負担減!! 画像を比較する👓(自動) 差分を見る👀 画像を撮る📷(自動) 結果を見る👀(手動) 画像を撮る📷(自動)
  • 11. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 11 https://www.htmlhifive.com/conts/web/view/pitalium-sample/three-dimensions サンプルコード公開中 WebGL(three.js)の画面のテストをやってみた Canvasも、WebGLも、PDFも 。Point!
  • 12. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. HOW VISUAL TESTING? 12 WHAT WHY
  • 13. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. どのようにVISUAL TESTINGを行うか 13 画像を撮る📷 画像を比較👓 差分を見る👀 OK NG 一致している? 差分を許容 できる?Yes No Yes No
  • 14. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 画像を撮る📷 14 Selenium特有のハマりどころに注意 参考:私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て (https://www.slideshare.net/shimodanssol/selenium-54768429) Point!  Selenium  ブラウザ自動化ツールのデファクトスタンダード – W3C標準のプロトコル – 豊富な言語バインディング・周辺ツール – マルチブラウザ対応  スクリーンショットも取得できる
  • 15. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 画像を比較する👓 15  比較の仕方は様々  Pixel Perfect :1ピクセル毎の厳密な比較  Fuzzy :2画像の類似度を用いた曖昧な比較  Full Page :ページ全体  Partial Match :ページの一部のみ比較  Partial Exclude :ページの一部を除外して比較 Point! 1pxのズレを許容できるか? “画面の見た目のテストで難しいのは,この比較がファジー(曖昧) でよいところはファジーな状態で通して,正確であるべきところは 正確であるかを見なければならない,というところですね。” コミッターが語るSeleniumのいま,そして未来 ―「Selenium Committer Day 2017」レポート (https://gihyo.jp/news/report/2017/07/2601)
  • 16. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 差分を見る👀 16  結果の管理の仕方は様々  レポートを生成  専用のWebUI  差分の見せ方は様々  Marker  2-up  Quick Flip  Swipe  Onion Skin  Edge Overlap Point! 手動のステップは排除しきれない • 用法・容量を守る • いかに快適にするかがUX的勘所 • 「誰が見ても崩れている」を自動推定してくれないかなあ
  • 17. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. WHAT ✓ WHY ✓ HOW ✓ →LET’S TRY!
  • 18. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. VISUAL TESTINGのためのツールを (残り時間の限り)紹介 18 Applitools Eyes SI Toolkit for Web Testing reg-suit 
  • 19. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. Applitools Eyes 19  Visual Testing Automation Service  群を抜いて多機能  フリープランあり。まず試すならこれかも https://applitools.com/ 📷 👓 👀 Selenium Java Ruby Python PHP C# JavaScript Appium SEBuilder Pixel Perfect Fuzzy Full Page Partial Match Exclude Web UI Diff View Marker 2-UP
  • 20. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. SI Toolkit for Web Testing 20  「現場の"いいね"が詰まった自動テストツールです。」  プログラミング不要で簡単に使える  ブラウザ操作を記録してテスト作成  Microsoft Excelでテストを書ける!!! https://sitoolkit.org/sit-wt.html 📷 👓 👀 Microsoft Excel Selenium IDE Pixel Perfect Full Page Partial Exclude HTML report Diff View Marker 2-UPAppium ⚖Apache-2.0
  • 21. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. reg-suit 21  画像比較、画像管理に特化したシンプルなツール  スクリーンショット取得は他ツールと組み合わせ前提  UIコンポーネント単体でのvisual testing(karma-nightmare)  GitHub連携  プラグイン機構 https://reg-viz.github.io/reg-suit/ 📷 👓 👀 GitHubPixel Perfect Fuzzy Diff View 2-UP Swipe Onion Skin ⚖MIT
  • 22. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 22  本気のマルチデバイス対応  Full Page Screenshotを全デバイスで撮るための涙ぐましい努力(主観) – Seleniumで撮ったスクリーンショットがブラウザごとにばらばら問題 (https://qiita.com/meganetaaan/items/b11338d2867c8c8f072a)  画像比較機能が充実  差分の原因を推定(フォントの違い?位置のずれ?要素の出現・消失?) https://www.htmlhifive.com/conts/web/view/pitalium/ 📷 👓 👀 Selenium Java Appium Web UIPixel Perfect Fuzzy Full Page Partial Match Exclude Diff View Marker 2-UP Quick Flip Slider Onion Skin ⚖Apache-2.0
  • 23. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. まとめ 23  VISUAL TESTING やっていきましょう!  Pitalium ぜひお試しください!
  • 24. Copyright ©2017 NS Solutions Corporation. All Rights Reserved. 商標について 24  NS Solutions、NS(ロゴ)は、新日鉄住金ソリューションズ 株式会社の登録商標です。  hifive、hifive(ロゴ)、Pitalium、Pitalium(ロゴ)は、新日鉄住金 ソリューションズ株式会社の登録商標です。  Microsoft Excelは、米国 Microsoft Corporation の米国および その他の国における登録商標です。  HTML5 Logo by W3C.  その他本文記載の会社名及び製品名は、それぞれ各社の商標又は 登録商標です。