AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
THOMAS WALSH1, PHIL MCMINN1, GREGORY KAPFHAMMER2
1UNIVERSITY OF SHEFFIELD, 2ALLEGHENY COLLEGE
1
AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT - - PowerPoint PPT Presentation
1 THOMAS WALSH 1 , PHIL MCMINN 1 , GREGORY KAPFHAMMER 2 1 UNIVERSITY OF SHEFFIELD, 2 ALLEGHENY COLLEGE AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE 2 ISSTA 2017 A LONG TIME AGO THOMAS WALSH
THOMAS WALSH1, PHIL MCMINN1, GREGORY KAPFHAMMER2
1UNIVERSITY OF SHEFFIELD, 2ALLEGHENY COLLEGE
1
ISSTA 2017
2
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
ISSTA 2017
3
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
https://blog.pivotal.io/labs/labs/an-introduction-to-qa-at-xtreme-labs
ISSTA 2017
4
AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK
ISSTA 2017
5
AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK
ISSTA 2017
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
6
http://getbootstrap.com
ISSTA 2017
7
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
ISSTA 2017
8
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
ISSTA 2017
9
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
ISSTA 2017
10
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
ISSTA 2017
11
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
ISSTA 2017
12
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
ISSTA 2017
13
AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK
ISSTA 2017
14
AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK
320 pixels 768 pixels 1024 pixels 1200 pixels 980 pixels
ISSTA 2017
15
AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK
RESPONSIVE LAYOUT GRAPH (RLG) COMMON RESPONSIVE LAYOUT FAILURE DETECTION
ISSTA 2017
16
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
DIV[1] DIV[2] DIV[3] DIV[1] DIV[2] DIV[3] IMG
320PX-1400PX BODY 768PX-1400PX IMG 320PX-1400PX DIV[3] 320PX-1400PX DIV[2] 320PX-1400PX DIV[1]
320px-767px, above 768px-1400px, left-of 320px-767px , centre-justified 768px-1400px, left-justified
320 pixels 768 pixels
ISSTA 2017
17
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
18
19
ISSTA 2017
at any point.
wider viewport width.
collision failure.
20
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
ISSTA 2017
21
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
320PX-1400PX FORM 320PX-1400PX DIV 320px-767px, above 768px-1000px, overlapping 1001px-1400px, left-of
ISSTA 2017
any point.
the wider viewport width.
collision failure.
22
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
ISSTA 2017
23
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
320PX-1400PX FORM 320PX-1400PX DIV 320px-767px, above 768px-1000px, overlapping 1001px-1400px, left-of
ISSTA 2017
any point.
wider viewport width.
collision failure.
24
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
ISSTA 2017
25
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
Element collision between 768px and 1000px.
320PX-1400PX FORM 320PX-1400PX DIV 320px-767px, above 768px-1000px, overlapping 1001px-1400px, left-of
ISSTA 2017
26
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
27
28
ISSTA 2017
at any point.
the wider viewport width.
protrusion failure.
29
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
ISSTA 2017
30
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
320PX-1400PX HEADER 320PX-1400PX FORM
320px-640px, overlapping 641px-1400px, contains
ISSTA 2017
any point.
wider viewport width.
element protrusion failure.
31
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
ISSTA 2017
32
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
Element protrusion between 320px and 640px.
320px-640px, overlapping 641px-1400px, contains
320PX-1400PX HEADER 320PX-1400PX FORM
ISSTA 2017
33
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
34
35
ISSTA 2017
it is contained within some other element.
a viewport protrusion failure.
36
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
ISSTA 2017
37
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
981PX-1400PX DIV
1050px-1400px, contains
320PX-1400PX BODY
ISSTA 2017
visible, it is contained within some other element.
a viewport protrusion failure.
38
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
ISSTA 2017
39
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
1050px-1400px, contains
981PX-1400PX DIV 320PX-1400PX BODY
ISSTA 2017
it is contained within some other element.
report a viewport protrusion failure.
40
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
ISSTA 2017
41
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
1050px-1400px, contains
Viewport protrusion between 981px and 1049px.
981PX-1400PX DIV 320PX-1400PX BODY
ISSTA 2017
42
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
43
44
ISSTA 2017
viewport widths (e.g., 5)?
the small-range layout.
45
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
ISSTA 2017 46
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
320PX-1400PX HEADER 320PX-1400PX BANNER 320px-979px, above 980px-980px, overlapping 981px-1400px, above
ISSTA 2017
viewport widths (e.g., 5)?
after the small-range layout.
47
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
ISSTA 2017 48
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
320PX-1400PX HEADER 320PX-1400PX BANNER 320px-979px, above 980px-980px, overlapping 981px-1400px, above
ISSTA 2017
viewport widths (e.g., 5)?
the small-range layout.
49
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
ISSTA 2017 50
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
Small-range layout at 980 pixels.
320PX-1400PX HEADER 320PX-1400PX BANNER 320px-979px, above 980px-980px, overlapping 981px-1400px, above
ISSTA 2017
51
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
52
53
ISSTA 2017
elements are laid out in rows.
element wrapping failure.
54
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
ISSTA 2017
55
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
LI[3] LI[1] LI[2]
768px-1400px, left-of 768px-800px, above 801px-1400px, left-of 768px-800px, above 801px-1400px, left-of
ISSTA 2017
are laid out in rows.
element wrapping failure.
56
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
ISSTA 2017
57
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
LI[3] LI[1] LI[2]
768px-1400px, left- 768px-800px, above 801px-1400px, left-of 768px-800px, above 801px-1400px, left-of
ISSTA 2017
are laid out in rows.
an element wrapping failure.
58
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
ISSTA 2017
59
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
Element wrapping between 768px and 800px.
LI[3] LI[1] LI[2]
768px-1400px, left- 768px-800px, above 801px-1400px, left-of 768px-800px, above 801px-1400px, left-of
ISSTA 2017
real-world responsive web pages?
comparison to our approach?
ReDeCheck - Responsive Design Checker
60
AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK
ISSTA 2017 61
AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK
ISSTA 2017
62
AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK
ISSTA 2017 63
AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK
ISSTA 2017 64
AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK
ISSTA 2017
▸
Responsive layout failures found in 16 of the 26 web pages.
▸
196 true positive results conflated to 33 distinct RLFs.
▸
False positives mainly caused by “coincidental” attributes being assigned to constraints.
▸
Many NOIs showed significant structural issues, which could easily manifest as TPs in the future.
▸
On average, developers need to check 4 distinct viewport ranges to observe each TP failure.
65
Failure Type TP FP NOI RLFs Element Collision 8 24 8 Element Protrusion 3 36 3 Viewport Protrusion 24 23 11 Small-Range 152 43 1 Wrapping 10 5 10 Total 196 48 83 33
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
ISSTA 2017
66
AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK
ISSTA 2017
67
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
6 12 18 24 30 36 KERSLEY RESPONSINATOR RD CHECKER V-RESIZER FIREFOX RWD REDECHECK
ISSTA 2017
68
AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK
ISSTA 2017
69
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
60 120 180 240 300 3-MINUTE-JOURNAL ACCOUNTKILLER AIRBNB BUGMENOT CLOUDCONVERT CONSUMER-REPORTS COVERED-CALENDAR DAYS-OLD DICTATION DUOLINGO HONEY HOTELWIFITEST MAILINATOR MIDWAYMEETUP NINITE PDF-ESCAPE PEPFEED POCKET RAINYMOOD RUNPEE STUMBLEUPON TOPDOCUMENTARY USERSEARCH WSIRN WILLMYPHONEWORK ZERODOLLARMOVIES
ISSTA 2017
70
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
https://github.com/redecheck/redecheck http://redecheck.org https://github.com/redecheck/example-webpages
ISSTA 2017 71
THOMAS WALSH TWALSH1@SHEFFIELD.AC.UK AUTOMATED LAYOUT FAILURE DETECTION FOR RESPONSIVE WEB PAGES WITHOUT AN EXPLICIT ORACLE
72