SlideShare a Scribd company logo
Copyright©2019 NTT Corp. All Rights Reserved.
Visual Regression Testing における
画⾯要素単位での差異検出⼿法
『ULTDiff』
⽇本電信電話株式会社
ソフトウェアイノベーションセンタ
安達 悠,丹野 治⾨,吉村 優
Copyright©2019 NTT Corp. All Rights Reserved. 2
アプリケーションのテストでは,画⾯の構成部品がレイ
アウト崩れなく正しく表⽰されていることを確認する必
要がある
新規開発だけでなく,改造や移⾏のタイミングでも確認
は必要である
画⾯の構成部品がデグレードなく正しく表⽰されている
ことを⽬視で確認することは⼤変
はじめに
• 機能の追加・修正
• サーバやフレームワークの更改
• OS・ミドルウェアのアップデート
Copyright©2019 NTT Corp. All Rights Reserved. 3
画⾯×環境の数だけ確認が必要
はじめに
新システム
改造や移⾏
機能の追加・修正
サーバやフレームワークの更改
OS・ミドルウェアのアップデート
現システム
様々な環境様々な環境
例えば,100画⾯のアプリ
を100端末で、1画⾯あた
り10分で確認していくと...
約220⼈⽇かかる!
×
さらに、誤り箇所を⽬視
で漏れなく検出し、開発
者へテスト結果報告する
のは意外に⼤変
Copyright©2019 NTT Corp. All Rights Reserved. 4
Visual Regression Testing とは?
新旧バージョンのアプリケーション画⾯のスクリーン
ショット画像を⽐較して差異を検出する⼿法
– 旧バージョンを正,新バージョンをテスト対象として,画像
間の差異を⾃動検出
– アプリケーションの実装技術には依存しないため,幅広いシ
ーンに適⽤できることが特⻑
Copyright©2019 NTT Corp. All Rights Reserved. 5
Visual Regression Testing ツール
ピクセル単位で画像を⽐較して差異を検出する⼿法
– DiffImg [1],Blinkdiff [2]
正しく表⽰された画⾯
(旧バージョン)
テスト対象の画⾯
(新バージョン)
差異検出結果
[1] https://ja.osdn.net/projects/sfnet_diffimg/
[2] https://github.com/yahoo/blink-diff
Copyright©2019 NTT Corp. All Rights Reserved. 6
提案⼿法
部品単位で画像を⽐較して差異を検出する⼿法
– ツール1の問題点を改良した技術
– ボタンや⼊⼒フォームなどの画⾯の構成部品を矩形として抽出し,
類似度の⾼い矩形同⼠を対応づけるのが特徴
変更
移動
消失
構成部品
(矩形)
(ULTDiff [3])
[3] 丹野 治⾨:画像処理を活⽤したUIレイアウト崩れ検出⽀援⼿法の提案,情報処理学会,
研究報告ソフトウェア⼯学,vol. 2016-SE-194,no.9,pp.1-8,2016年11⽉.
Copyright©2019 NTT Corp. All Rights Reserved. 7
様々な環境でアプリ画⾯の間違い探しを簡単に
UIレイアウトテスト技術ULTDiff
ソフトウェア
開発
設計して 製造して
実施者様々な環境
[誤り箇所の詳細]
①
②
③
④
① 消失
② 変更
③ 消失
④ 変更
[誤り箇所の詳細]
①
②
③
④
① 消失
② 変更
③ 消失
④ 変更
誤り箇所の詳細
① 変更
② 消失
テスト実⾏結果
スクリーン
ショット
②
①
テストする
⼿作業で⼤量の
テスト結果報告を作成
⽬視で⼤量の
テスト結果を確認
本技術により⽀援!
様々な環境ごとのアプリ画⾯における間違い(画⾯要素の位置ズ
レ、消失等)を⾃動検出し、テスト結果確認、報告を楽にします
8Copyright©2019 NTT Corp. All Rights Reserved.
NTT Confidential
ULTDiff 利⽤イメージ
正解画⾯ テスト対象画⾯
エンジン部
レイアウト差異検出機能
GUI部
(HTML形式)
テスト結果判定機能
ULTDiff 提供範囲
⼊⼒ 出⼒
HTMLファイルを起動して、ULTDiffによる差異判定結果のチェックを実施コマンドプロンプト等からエンジン部を実⾏

More Related Content

Similar to Visual Regression Testing における画面要素単位での差異検出手法

OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様
ManageEngine, Zoho Corporation
 
X dev 20121106
X dev 20121106X dev 20121106
X dev 20121106Ken Azuma
 
BluemixとIBM DevOps Servicesで始めるアプリケーション開発
BluemixとIBM DevOps Servicesで始めるアプリケーション開発BluemixとIBM DevOps Servicesで始めるアプリケーション開発
BluemixとIBM DevOps Servicesで始めるアプリケーション開発
IBMソリューション
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について
Ken Azuma
 
AppPot製品概要
AppPot製品概要AppPot製品概要
AppPot製品概要
Ryohei Sogo
 
システム運用集約化事例~定型的業務の削減~
システム運用集約化事例~定型的業務の削減~システム運用集約化事例~定型的業務の削減~
システム運用集約化事例~定型的業務の削減~
UNIRITA Incorporated
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について
Ken Azuma
 
02_運用コスト削減に向けた情報管理を!最新Hinemos ver.6.2の全体像
02_運用コスト削減に向けた情報管理を!最新Hinemos ver.6.2の全体像02_運用コスト削減に向けた情報管理を!最新Hinemos ver.6.2の全体像
02_運用コスト削減に向けた情報管理を!最新Hinemos ver.6.2の全体像
Hinemos
 
オープンクラウド導入の課題とデルのCloudStackソリューション
オープンクラウド導入の課題とデルのCloudStackソリューションオープンクラウド導入の課題とデルのCloudStackソリューション
オープンクラウド導入の課題とデルのCloudStackソリューション
Dell TechCenter Japan
 
進化を続けるIBM Bluemix 最新情報(2015年3月)
進化を続けるIBM Bluemix 最新情報(2015年3月)進化を続けるIBM Bluemix 最新情報(2015年3月)
進化を続けるIBM Bluemix 最新情報(2015年3月)
Noriyuki Egi
 
3-コンテナスターターパックのご紹介
3-コンテナスターターパックのご紹介3-コンテナスターターパックのご紹介
3-コンテナスターターパックのご紹介
KotaSato3
 
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
NTT DATA OSS Professional Services
 
【17-D-6】「ソフトウェアの収益増大のためのセキュリティソリューション」小池康幸氏
【17-D-6】「ソフトウェアの収益増大のためのセキュリティソリューション」小池康幸氏【17-D-6】「ソフトウェアの収益増大のためのセキュリティソリューション」小池康幸氏
【17-D-6】「ソフトウェアの収益増大のためのセキュリティソリューション」小池康幸氏Developers Summit
 
Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!Boss4434
 
オープンソース統合運用管理ツール『Hinemos』 --- その利便性及びインシデント管理について ---
オープンソース統合運用管理ツール『Hinemos』  --- その利便性及びインシデント管理について ---オープンソース統合運用管理ツール『Hinemos』  --- その利便性及びインシデント管理について ---
オープンソース統合運用管理ツール『Hinemos』 --- その利便性及びインシデント管理について ---Open Source Software Association of Japan
 
08 detailed explanation! hinemosver.6.2 overview publication_20191106
08 detailed explanation! hinemosver.6.2 overview publication_2019110608 detailed explanation! hinemosver.6.2 overview publication_20191106
08 detailed explanation! hinemosver.6.2 overview publication_20191106
Hinemos
 
第3回SIA研究会(例会)プレゼン資料
第3回SIA研究会(例会)プレゼン資料第3回SIA研究会(例会)プレゼン資料
第3回SIA研究会(例会)プレゼン資料Tae Yoshida
 
クラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えようクラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えよう
NTT Communications Technology Development
 
基幹システムでOSSは使えるのか?oss採用から見直す運用管理コスト
基幹システムでOSSは使えるのか?oss採用から見直す運用管理コスト基幹システムでOSSは使えるのか?oss採用から見直す運用管理コスト
基幹システムでOSSは使えるのか?oss採用から見直す運用管理コスト
UNIRITA Incorporated
 

Similar to Visual Regression Testing における画面要素単位での差異検出手法 (20)

OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様
 
X dev 20121106
X dev 20121106X dev 20121106
X dev 20121106
 
BluemixとIBM DevOps Servicesで始めるアプリケーション開発
BluemixとIBM DevOps Servicesで始めるアプリケーション開発BluemixとIBM DevOps Servicesで始めるアプリケーション開発
BluemixとIBM DevOps Servicesで始めるアプリケーション開発
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について
 
AppPot製品概要
AppPot製品概要AppPot製品概要
AppPot製品概要
 
システム運用集約化事例~定型的業務の削減~
システム運用集約化事例~定型的業務の削減~システム運用集約化事例~定型的業務の削減~
システム運用集約化事例~定型的業務の削減~
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について
 
02_運用コスト削減に向けた情報管理を!最新Hinemos ver.6.2の全体像
02_運用コスト削減に向けた情報管理を!最新Hinemos ver.6.2の全体像02_運用コスト削減に向けた情報管理を!最新Hinemos ver.6.2の全体像
02_運用コスト削減に向けた情報管理を!最新Hinemos ver.6.2の全体像
 
オープンクラウド導入の課題とデルのCloudStackソリューション
オープンクラウド導入の課題とデルのCloudStackソリューションオープンクラウド導入の課題とデルのCloudStackソリューション
オープンクラウド導入の課題とデルのCloudStackソリューション
 
進化を続けるIBM Bluemix 最新情報(2015年3月)
進化を続けるIBM Bluemix 最新情報(2015年3月)進化を続けるIBM Bluemix 最新情報(2015年3月)
進化を続けるIBM Bluemix 最新情報(2015年3月)
 
3-コンテナスターターパックのご紹介
3-コンテナスターターパックのご紹介3-コンテナスターターパックのご紹介
3-コンテナスターターパックのご紹介
 
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
 
保守運用コストの適正化事例 20120725
保守運用コストの適正化事例 20120725保守運用コストの適正化事例 20120725
保守運用コストの適正化事例 20120725
 
【17-D-6】「ソフトウェアの収益増大のためのセキュリティソリューション」小池康幸氏
【17-D-6】「ソフトウェアの収益増大のためのセキュリティソリューション」小池康幸氏【17-D-6】「ソフトウェアの収益増大のためのセキュリティソリューション」小池康幸氏
【17-D-6】「ソフトウェアの収益増大のためのセキュリティソリューション」小池康幸氏
 
Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!
 
オープンソース統合運用管理ツール『Hinemos』 --- その利便性及びインシデント管理について ---
オープンソース統合運用管理ツール『Hinemos』  --- その利便性及びインシデント管理について ---オープンソース統合運用管理ツール『Hinemos』  --- その利便性及びインシデント管理について ---
オープンソース統合運用管理ツール『Hinemos』 --- その利便性及びインシデント管理について ---
 
08 detailed explanation! hinemosver.6.2 overview publication_20191106
08 detailed explanation! hinemosver.6.2 overview publication_2019110608 detailed explanation! hinemosver.6.2 overview publication_20191106
08 detailed explanation! hinemosver.6.2 overview publication_20191106
 
第3回SIA研究会(例会)プレゼン資料
第3回SIA研究会(例会)プレゼン資料第3回SIA研究会(例会)プレゼン資料
第3回SIA研究会(例会)プレゼン資料
 
クラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えようクラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えよう
 
基幹システムでOSSは使えるのか?oss採用から見直す運用管理コスト
基幹システムでOSSは使えるのか?oss採用から見直す運用管理コスト基幹システムでOSSは使えるのか?oss採用から見直す運用管理コスト
基幹システムでOSSは使えるのか?oss採用から見直す運用管理コスト
 

Recently uploaded

アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
You&I
 
NIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしようNIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしよう
You&I
 
Grokking Simplicity探訪
Grokking Simplicity探訪Grokking Simplicity探訪
Grokking Simplicity探訪
Yoshitaka Kawashima
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
fisuda
 
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdfCO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
yamamotominami
 
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
ooishi1
 

Recently uploaded (6)

アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
 
NIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしようNIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしよう
 
Grokking Simplicity探訪
Grokking Simplicity探訪Grokking Simplicity探訪
Grokking Simplicity探訪
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
 
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdfCO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
 
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
 

Visual Regression Testing における画面要素単位での差異検出手法

  • 1. Copyright©2019 NTT Corp. All Rights Reserved. Visual Regression Testing における 画⾯要素単位での差異検出⼿法 『ULTDiff』 ⽇本電信電話株式会社 ソフトウェアイノベーションセンタ 安達 悠,丹野 治⾨,吉村 優
  • 2. Copyright©2019 NTT Corp. All Rights Reserved. 2 アプリケーションのテストでは,画⾯の構成部品がレイ アウト崩れなく正しく表⽰されていることを確認する必 要がある 新規開発だけでなく,改造や移⾏のタイミングでも確認 は必要である 画⾯の構成部品がデグレードなく正しく表⽰されている ことを⽬視で確認することは⼤変 はじめに • 機能の追加・修正 • サーバやフレームワークの更改 • OS・ミドルウェアのアップデート
  • 3. Copyright©2019 NTT Corp. All Rights Reserved. 3 画⾯×環境の数だけ確認が必要 はじめに 新システム 改造や移⾏ 機能の追加・修正 サーバやフレームワークの更改 OS・ミドルウェアのアップデート 現システム 様々な環境様々な環境 例えば,100画⾯のアプリ を100端末で、1画⾯あた り10分で確認していくと... 約220⼈⽇かかる! × さらに、誤り箇所を⽬視 で漏れなく検出し、開発 者へテスト結果報告する のは意外に⼤変
  • 4. Copyright©2019 NTT Corp. All Rights Reserved. 4 Visual Regression Testing とは? 新旧バージョンのアプリケーション画⾯のスクリーン ショット画像を⽐較して差異を検出する⼿法 – 旧バージョンを正,新バージョンをテスト対象として,画像 間の差異を⾃動検出 – アプリケーションの実装技術には依存しないため,幅広いシ ーンに適⽤できることが特⻑
  • 5. Copyright©2019 NTT Corp. All Rights Reserved. 5 Visual Regression Testing ツール ピクセル単位で画像を⽐較して差異を検出する⼿法 – DiffImg [1],Blinkdiff [2] 正しく表⽰された画⾯ (旧バージョン) テスト対象の画⾯ (新バージョン) 差異検出結果 [1] https://ja.osdn.net/projects/sfnet_diffimg/ [2] https://github.com/yahoo/blink-diff
  • 6. Copyright©2019 NTT Corp. All Rights Reserved. 6 提案⼿法 部品単位で画像を⽐較して差異を検出する⼿法 – ツール1の問題点を改良した技術 – ボタンや⼊⼒フォームなどの画⾯の構成部品を矩形として抽出し, 類似度の⾼い矩形同⼠を対応づけるのが特徴 変更 移動 消失 構成部品 (矩形) (ULTDiff [3]) [3] 丹野 治⾨:画像処理を活⽤したUIレイアウト崩れ検出⽀援⼿法の提案,情報処理学会, 研究報告ソフトウェア⼯学,vol. 2016-SE-194,no.9,pp.1-8,2016年11⽉.
  • 7. Copyright©2019 NTT Corp. All Rights Reserved. 7 様々な環境でアプリ画⾯の間違い探しを簡単に UIレイアウトテスト技術ULTDiff ソフトウェア 開発 設計して 製造して 実施者様々な環境 [誤り箇所の詳細] ① ② ③ ④ ① 消失 ② 変更 ③ 消失 ④ 変更 [誤り箇所の詳細] ① ② ③ ④ ① 消失 ② 変更 ③ 消失 ④ 変更 誤り箇所の詳細 ① 変更 ② 消失 テスト実⾏結果 スクリーン ショット ② ① テストする ⼿作業で⼤量の テスト結果報告を作成 ⽬視で⼤量の テスト結果を確認 本技術により⽀援! 様々な環境ごとのアプリ画⾯における間違い(画⾯要素の位置ズ レ、消失等)を⾃動検出し、テスト結果確認、報告を楽にします
  • 8. 8Copyright©2019 NTT Corp. All Rights Reserved. NTT Confidential ULTDiff 利⽤イメージ 正解画⾯ テスト対象画⾯ エンジン部 レイアウト差異検出機能 GUI部 (HTML形式) テスト結果判定機能 ULTDiff 提供範囲 ⼊⼒ 出⼒ HTMLファイルを起動して、ULTDiffによる差異判定結果のチェックを実施コマンドプロンプト等からエンジン部を実⾏