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

PDF
リバースエンジニアリングを利用したテストスクリプトの自動生成技術
PDF
どの領域にどのようにローコードプラットフォームを活用するのがいいのか?
PPTX
高信頼性を確保するソフトウェア開発手法と実践 -組込み製品の潜在的価値を今以上に高めるために-
PPTX
Out systemsで得られる3つのビジネス効果
PPTX
システム開発における基盤環境のCI/CDについて#2
PPTX
システム開発における基盤環境のCI/CDについて#1
PPTX
Androidアプリ開発のテスト環境
PPTX
fastlane x iOSアプリのCI
リバースエンジニアリングを利用したテストスクリプトの自動生成技術
どの領域にどのようにローコードプラットフォームを活用するのがいいのか?
高信頼性を確保するソフトウェア開発手法と実践 -組込み製品の潜在的価値を今以上に高めるために-
Out systemsで得られる3つのビジネス効果
システム開発における基盤環境のCI/CDについて#2
システム開発における基盤環境のCI/CDについて#1
Androidアプリ開発のテスト環境
fastlane x iOSアプリのCI

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

PDF
5分でわかるVISUAL TESTING FOR HTML5
PPTX
JaSST2017_大規模業務システムにおける再利用可能なテスト自動化の取り組み
PPT
Visualizing Software Development
PDF
テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】
PPTX
リバースモデリングを用いたテスト観点標準化の取り組み
PDF
Qc astah 連携について012
KEY
テストコードのリファクタリング
PDF
テストファースト、自動テストを導入するという事について(@社内勉強会)
PDF
Qs info 002
PDF
【2016.08】cvpaper.challenge2016
PPTX
テスト観点に関する取り組み事例
PDF
Qs info002
PDF
PPTX
Nvidia Inception Connect Tokyo - Manufacturing Visual Inspection and Deep Lea...
PDF
20160108 hcd-net-salon_itojun_share
PDF
Dev love関西 レガシーコードへの取り組み 20140325
PDF
xUnit Test Patterns - Chapter16
PPTX
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
PDF
Jstqb test analyst-chap1
PDF
約1000サービスの実績から見えた「UXを可視化するユーザーテストの極意」 先生:平石 大祐
5分でわかるVISUAL TESTING FOR HTML5
JaSST2017_大規模業務システムにおける再利用可能なテスト自動化の取り組み
Visualizing Software Development
テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】
リバースモデリングを用いたテスト観点標準化の取り組み
Qc astah 連携について012
テストコードのリファクタリング
テストファースト、自動テストを導入するという事について(@社内勉強会)
Qs info 002
【2016.08】cvpaper.challenge2016
テスト観点に関する取り組み事例
Qs info002
Nvidia Inception Connect Tokyo - Manufacturing Visual Inspection and Deep Lea...
20160108 hcd-net-salon_itojun_share
Dev love関西 レガシーコードへの取り組み 20140325
xUnit Test Patterns - Chapter16
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
Jstqb test analyst-chap1
約1000サービスの実績から見えた「UXを可視化するユーザーテストの極意」 先生:平石 大祐
Ad

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による差異判定結果のチェックを実施コマンドプロンプト等からエンジン部を実⾏