+ All Categories
Home > Documents > Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J....

Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J....

Date post: 18-Dec-2015
Category:
Upload: eustace-sparks
View: 214 times
Download: 0 times
Share this document with a friend
42
Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern California
Transcript
Page 1: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

Finding Presentation Failures Using Image Comparison Techniques

Sonal Mahajan and William G.J. Halfond

Department of Computer Science

University of Southern California

Page 2: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

2

Web Applications

Online music service

It takes users only 50 ms to form opinion about your website (Google research - 2012)

Page 3: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

3

Motivation

• Presentation of a website– Crucial to make first impression– Capture users’ interest

• What is a presentation failure?– Web page rendering ≠ expected appearance

Page 4: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

Example

Web page rendering Expected appearance (oracle)≠ 4

Page 5: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

Example

Difference 1: Alignment problem

Web page rendering Expected appearance (oracle)≠ 5

Page 6: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

Example

Difference 2: Color problem

Web page rendering Expected appearance (oracle)≠6

Page 7: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

Example

Difference 3: Style problem

Web page rendering Expected appearance (oracle)≠ 7

Page 8: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

8

Motivation

• Presentation of a website– Crucial to make first impression– Capture users’ interest

• What is a presentation failure?– Web page rendering ≠ expected appearance

• Impact of presentation failures– Gives negative impression of your business

• Affects branding efforts

– Reduces usability

End user – no penalty to move to another websiteBusiness – loses out on valuable customers

Page 9: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

9

Limitations of Related Techniques

• Manual– Labor-intensive and error-prone

• Invariant specification techniques– Selenium, Sikuli, Cucumber, Crawljax– Required to exhaustively specify correctness invariants

• Tree-based comparison techniques– XBT, GUI differencing, automated oracle comparators– Cannot be used if DOM has changed significantly

• Fighting Layout Bugs– Application independent correctness checker

Page 10: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

10

Our Approach

1. Detection 2. Localization

Oracle image

Test web page

Visual differences

Pixel-HTML mapping

Report

Goal – Automatically detect and localize presentation failures in web pages

Page 11: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

11

Our Approach

1. Detection: determine whether a presentation failure has occurred

– Use image comparison to find visual differences between test web page and oracle

Model as image processing problem

Page 12: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

12Oracle Test web page

Page 13: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

13

Page 14: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

14

Visual differencesDifference

pixels

Page 15: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

15

Our Approach

2. Localization: identify the faulty HTML element

– Use R-tree to map pixel visual differences to HTML elements

– “R”ectangle-tree: height-balanced tree, popular to store multidimensional data

Use rendering maps to find faulty HTML elements corresponding to visual differences

Page 16: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

16

Page 17: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

R1

R2

R3

R4 Sub-tree of R-tree

17

Page 18: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

(100, 400)

Map pixel visual differences to HTML elements18

R1

R2 R3 R4

div form

div input

Report:

/html/body/div[1]/html/body/div[1]/div[2]/form/div

/html/body/div[1]/div[2]/form/html/body/div[1]/div[2]/form/div/input[3]

Page 19: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

19

Case Study

Subject Application Size #T Localization

Gmail 161 53 79%

Craigslist Autos 70 41 66%

Virgin America 1,016 41 78%

PayPal 317 51 84%

Average detection = 100%Average localization = 77%

• Detection accuracy: % of test cases in which our approach could detect that a presentation failure had occurred

• Localization accuracy: % of test cases in which the expected faulty element was reported in the result set

Page 20: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

20

Future Work

• Problem 1: Handle only static pages– Dynamic regions e.g.: advertisements, user account

information, text from database– Check visual properties, not content

• Problem 2: Oracle image == test web page rendering– Pixel-perfect match not always needed– Allow for a “close enough” match with tolerance level

• Problem 3: Large result sets– Provide ranked result set to the user– Heuristics based on parent-child relationships

Page 21: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

21

Summary

• Technique for automatically detecting and localizing presentation failures

• Use image processing techniques for detection

• Use rendering maps for localization

• Preliminary results validate feasibility of the approach

Page 22: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

22

Thank you

Finding Presentation Failures Using Image Comparison Techniques

Sonal Mahajan

[email protected]

Page 23: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

23

Need to Debug Presentation Failures

Requirements Gathering

Design

Development

Testing

And

Maintenance

SDLCSoftware Development

Life Cycle

Page 24: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

24

Need to Debug Presentation Failures

Requirements Gathering

Design

Development

Testing

And

Maintenance

SDLCSoftware Development

Life Cycle

Presentation Development

Testing

Page 25: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

25

1. Presentation Development Testing

• Front-end developers– Convert oracle images to “pixel-perfect” HTML

template pages• Back-end developers

– Change templates by adding dynamic content

• Both continuously test if the implemented page is consistent with the oracle

Page 26: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

26

Need to Debug Presentation Failures

Requirements Gathering

Design

Development

Testing

And

Maintenance

SDLCSoftware Development

Life Cycle

Refactoring Debugging

Page 27: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

27

2. Refactoring Debugging

• Applicable during regression testing• Changes to code after initial implementation

– E.g.: Refactoring page from <table> based layout to <div> based layout

• Changes not intended to change appearance• Change may have direct or indirect impact

• Test for presentation failures and debug to find responsible HTML elements

Page 28: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

28

Need to Debug Presentation Failures

Requirements Gathering

Design

Development

Testing

And

Maintenance

SDLCSoftware Development

Life Cycle

Standard Debugging

Page 29: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

29

3. Standard Debugging

• Make corrective code changes based on bug reports– E.g.: Resolve user-reported failures

• Reproduce the failure in-house and debug

Page 30: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

30

Mockup Driven Development

• Mockups generated by graphic designers• Front-end developers must create “pixel-

perfect” template pages• Cursory search for front-end developer job

postings shows this is very common

Page 31: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

31

Page 32: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

32

Page 33: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

33

Page 34: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

34

Page 35: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

35

Page 36: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

36

Page 37: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

37

Page 38: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

38

Page 39: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

39

Page 40: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

40

Page 41: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

41

Page 42: Finding Presentation Failures Using Image Comparison Techniques Sonal Mahajan and William G.J. Halfond Department of Computer Science University of Southern.

42


Recommended