ICST 2015
GUI Testing
の紹介
@kyon_mm
2015/07/04 #sigstj
Papers
• Classifying and Qualifying GUI Defects
• Conceptualization and Evaluation of
Component-based Testing Unified with Visual
GUI Testing: an Empirical Study
• Detection and Localization of HTML
Presentation Failures Using Computer Vision-
Based Techniques
Classifying and
Qualifying GUI
Defects の紹介
概要
• GUIのバグを分類して識別するためのGUIフォールトモデル
作成
• 実際のバグとGUIフォールトモデルの差分を分析
• 2つのGUIテスティングツールである GUITAR, Jubulaを使っ
てテスト実行する
• ミューテーションテストをして、GUIフォールトモデルにあ
るものを見つけられるかどうか
2つのGUIフォールトモデル
• User Interface
• 静的なもの
• User Interaction
• 動的なもの
GUIフォールトモデル(Interface)
カテゴリ フォールト
GUI Structure
and
Aesthetics
レイアウトが不正
状態が不正
表示が不正
Data
Presentation
レンダリングが不正
データのプロパティが不正
データの型やフォーマットが不正
GUIフォールトモデル(Interaction)
カテゴリ フォールト
Interaction Behavior 振る舞いが不正
Action
動作の結果が不正
動作しない
異なる動作になる
Reversibility
Undo/Redoが不正
強制的な中断が不正
中断が不正
Feedback
実態と異なる進 を表現している
いくつかの振る舞いの途中のフィードバックが不正
対象にしたソフトウェア
• Sweet Home3D
• File-roller
• JabRef
• Inkscape
• Firefox Android
ミューテーションのツール
• WIMP
• post-WIMP
• ※豆知識

WIMP = Windows, Icons, Menus, Pointerの略
テスト
• ソフトウェアへのバグレポートを見て、フォー
ルトモデルと対応付ける
• その上で、フォールトモデルに対応するよう
なミューテーションする
• テストを実行して見つけられるか確認する
ミューテーションテスト結果
• 見つかったり、見つからないものもあったり(つまりま
ちまちだった)
• 原因
• GUIの画面描画 検査したいものを画面から取得できな
い
• トレンドの変化 標準コンポーネントはあまり使わない
発表者kyon_mmの所感
• 分類自体はいいと思った。見積もりとかライ
ブラリの選定に使いやすい分類だと思う。
• バグレポートを手で頑張って分類しないとい
けないようになっている方が問題かと思った。
なぜ世のバグレポートにタグ付けがないのか
とか。
Conceptualization and
Evaluation of Component-
based Testing Unified with
Visual GUI Testing: an Empirical
Study の紹介
概要
• ヴィジュアルベースのGUIテストツールを開発し
て、コンポーネントベースのGUIテストツール
と比較した
• ベースにしたのはGUITAR
• コンポーネントベースは堅牢で高速、ヴィジュ
アルベースは柔軟
2つの試み
• GUIアプリケーションに対してミューテーショ
ンテストして比較
• 3つのJava OSSに対して実験して比較
ツールの開発
• GUIテスティングフレームワークである
GUITARをベースにVGT GUITARを開発
Conceptualization and Evaluation of Component-based Testing Unified with Visual GUI
Testing: an Empirical Study
Fig. 1: Visualization of VGT GUITAR’s architecture. Squares show code components of the tool
and rounded squares show artifacts generated by said components.
GUIアプリケーションに対して
ミューテーションテスト
• 18種類のミューテーション
• システムテストと受け入れテストにわけて実
行
3つのJava OSSに対して実験
• JEdit
• Buddi
• Rachota
テスト結果
• コンポーネントベースは、システムテストに向
いている
• ヴィジュアルベースは受け入れテストに向いて
いる
• VGT
発表者kyon_mmの所感
• 当たり前すぎてつまらなかった
• GUIテストツールを作るときには参考になる可
能性が微レ存
Detection and Localization of
HTML Presentation Failures
Using Computer Vision-
Based Techniques の紹介
概要
• Web GUIのテストは大変ですね
• バグの原因になっているHTML要素を特定する
ようなアプローチ
• 画像解析技術を利用する
3つのINPUTによって判定する
• 対象のWebページ(URL, HTML, CSS, JS, etc)
• 対象のWebページの正しい表示(前バージョ
ン、モックなどのスクリーンショット)
• 動的に変化する部分(テキスト、広告)
ツールのフェーズ
• 対象のWebページにおける差分を検査する
• 差分とHTML要素をひもづける
• 対象でバグっぽいものを開発者に教える
使っているツール
• WebSee
• pdiff
• Apache Commons Math3
• Original Java Library(R-Tree)
• Open CV
テスト
• HTML,CSS,JSなどをダウンロードしてローカ
ルで動作できるようにする
• ある法則に従ってランダムに要素のプロパティ
を変えるなどしてミューテーションテストす
る
• ツールと学生で比較してみる
テスト対象
• OPAL
• Crawller
• Inno crawll
• Gmail
• USC CS Research
• Craigslist
• Virgin America
• Java Tutorial
テスト結果
• 障害発見率100%
• 学生は73%
• 見つけた障害のうち、HTML要素を特定できたのは、
93%以上
• 学生は36%
• 実行時間はどれも数分以内
発表者kyon_mmの所感
• Chromeの開発者ツールを便利にした感じ
• Web フロントエンドの開発効率があがりそう
• でも、実際に困るのはJSデバッガじゃないかなぁとか。
• リグレッションテストとしてはいいのかも
• Chromeの開発者ツールをforkしたほうが早かったので
はー
全体の所感
• GUITAR好きな研究者多いのは、クラシカルなツール
だから改造しやすいのかな。
• GUIに関してはスポンサーの期待をマネジメントしに
くいので、どんどんツールができればいいと思う。
• Web系のは見ればみるほど、W3Cがんばれよって感
じ。
ご清聴ありがとうございました

More Related Content

PPTX
ICST 2015 まるわかりDay! "Symbolic Execution Track"
PDF
ICST 2015 まるわかりDay! "ICST2015参加報告"
PDF
SGT2013 技術トークス「アジャイルテスティング」
PDF
SGT技術トークス 継続的デリバリー
PDF
Twitter4Jとテスト
PDF
スマートフォンアプリ開発と自動化 〜なじむ。実に!なじむぞ!〜 #AsianAA
PPTX
An Agile Way As an SET at LINE ~プロダクトオーナーシップ編~
PPT
Sue445 Style TDD #atest_hack
ICST 2015 まるわかりDay! "Symbolic Execution Track"
ICST 2015 まるわかりDay! "ICST2015参加報告"
SGT2013 技術トークス「アジャイルテスティング」
SGT技術トークス 継続的デリバリー
Twitter4Jとテスト
スマートフォンアプリ開発と自動化 〜なじむ。実に!なじむぞ!〜 #AsianAA
An Agile Way As an SET at LINE ~プロダクトオーナーシップ編~
Sue445 Style TDD #atest_hack

Viewers also liked (13)

PDF
Kaizen process with test #hackt
PPTX
Cost effective azure
PDF
ProductCamp Boston 2016 Opening Slides
PPTX
Moments Matter - Technology Transforming Consumer Behavior
PDF
Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...
DOCX
actividad 1.4
PDF
The Art and Science of Pricing: Simple tools to align price with value (Rober...
PPTX
Engage in effective collaboration with Azure AD B2B
PDF
SharePoint 2013 and the Consumerization of I.T.
PPTX
John saraguro diapositiva
PDF
[Infographic Korea Edition] The CEO Reputation Premium - Weber Shandwick
PDF
Internal, External and Digital Presence of the CEO is becoming more and more ...
PDF
Engage 2013 - Webtrends Streams - Technical
Kaizen process with test #hackt
Cost effective azure
ProductCamp Boston 2016 Opening Slides
Moments Matter - Technology Transforming Consumer Behavior
Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...
actividad 1.4
The Art and Science of Pricing: Simple tools to align price with value (Rober...
Engage in effective collaboration with Azure AD B2B
SharePoint 2013 and the Consumerization of I.T.
John saraguro diapositiva
[Infographic Korea Edition] The CEO Reputation Premium - Weber Shandwick
Internal, External and Digital Presence of the CEO is becoming more and more ...
Engage 2013 - Webtrends Streams - Technical
Ad

Similar to ICST2015 GUI Testingの紹介 #SIGSTJ (20)

PDF
GUI Test is (not) necessary
PPT
FEST-SwingでFestival!
PPT
FEST-SwingでFestival!
PPTX
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
PDF
はじめてのソフトウェアテスト
PDF
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
PDF
ICST 2017の歩き方 -歴史、開催概要、聴きどころ、Who's Who ・・ -
PPTX
画像認識ベースのUI自動化フレームワークを用いた取り組み
PPTX
ICST 2015 まるわかりDay! -Model
PDF
DevLOVE LT: Do you know axes of software testing?
PDF
世界に目を向けよう - ASTER国際連携活動事例(JaSST'15 tokyo)
PDF
Gamedevenvstudy1
PDF
はじめてのテスト技法
PDF
5分でわかるVISUAL TESTING FOR HTML5
PDF
20170625 JXUG Fukuoka 発表資料 : Unit / UI Testing - Xamarin
PDF
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
PDF
世界のソフトウェアテストの会議 (JaSST 2018 東京)
PDF
ICSE2014参加報告 (SE勉強会 6/12)
PDF
Gui自動テストツール基本
PDF
モデル検査紹介
GUI Test is (not) necessary
FEST-SwingでFestival!
FEST-SwingでFestival!
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
はじめてのソフトウェアテスト
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
ICST 2017の歩き方 -歴史、開催概要、聴きどころ、Who's Who ・・ -
画像認識ベースのUI自動化フレームワークを用いた取り組み
ICST 2015 まるわかりDay! -Model
DevLOVE LT: Do you know axes of software testing?
世界に目を向けよう - ASTER国際連携活動事例(JaSST'15 tokyo)
Gamedevenvstudy1
はじめてのテスト技法
5分でわかるVISUAL TESTING FOR HTML5
20170625 JXUG Fukuoka 発表資料 : Unit / UI Testing - Xamarin
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
世界のソフトウェアテストの会議 (JaSST 2018 東京)
ICSE2014参加報告 (SE勉強会 6/12)
Gui自動テストツール基本
モデル検査紹介
Ad

More from kyon mm (20)

PDF
Scrum,Test,Metrics #sgt2016
PDF
ザ・ジェネラリスト #5000dai
PDF
焦らず急いでの意味
PDF
Sta introduction in_kyoto #devkan
PDF
出来るチューリング完全!SQLでもいろいろ出来る! #syoboben
PDF
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
PDF
#STAC2014 システムテスト自動化ハンズオン
PDF
テストファースト、自動テストを導入するという事について(@社内勉強会)
PDF
Gradle 2.2, 2.3 news #jggug
PDF
テストとリファクタリングに関する深い方法論 #wewlc_jp
PDF
Groovyで学ぶプロセス代数 #jjug
PDF
テストエンジニアの品格 #automatornight
PDF
@kyon_mmの書籍の読み方 #AsianAA
PDF
JenkinsとGitで実装するGatewayCheckIn Pattern #AsianAA
PDF
GradleのREPLプラグイン紹介 #jggug
PDF
契る意味 #pykonjp2014
PDF
いつでも聞けるTDD入門 #TDDBC_NAGOYA
PDF
Test Retrospective #kyon_kao_wedding in Tokyo
PDF
ソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumi
PDF
自動テストの誤解とアンチパターン in 楽天 Tech Talk
Scrum,Test,Metrics #sgt2016
ザ・ジェネラリスト #5000dai
焦らず急いでの意味
Sta introduction in_kyoto #devkan
出来るチューリング完全!SQLでもいろいろ出来る! #syoboben
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 システムテスト自動化ハンズオン
テストファースト、自動テストを導入するという事について(@社内勉強会)
Gradle 2.2, 2.3 news #jggug
テストとリファクタリングに関する深い方法論 #wewlc_jp
Groovyで学ぶプロセス代数 #jjug
テストエンジニアの品格 #automatornight
@kyon_mmの書籍の読み方 #AsianAA
JenkinsとGitで実装するGatewayCheckIn Pattern #AsianAA
GradleのREPLプラグイン紹介 #jggug
契る意味 #pykonjp2014
いつでも聞けるTDD入門 #TDDBC_NAGOYA
Test Retrospective #kyon_kao_wedding in Tokyo
ソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumi
自動テストの誤解とアンチパターン in 楽天 Tech Talk

ICST2015 GUI Testingの紹介 #SIGSTJ