Automatic Detection of Visibility Faults by Layout Changes in HTML5 Web Pages

Modern HTML5 web pages (pages) often change various elements of their documents dynamically to provide rich functionality to users interactively. As users interact with a document via events, the combination of HTML, CSS, and JavaScript dynamically changes the document layout, which is the arrangement of the document elements visualized to the users. Web pages change their layouts not only to support user interaction but also to react to different screen sizes being used to run the pages. To support diverse devices with different screen sizes using a single web page document, developers use Responsive Web Design, which enables web page layouts to change when the sizes of the underlying devices change. While such dynamic features of web pages provide powerful experiences to users, they also make development of web pages more difficult. Even expert developers find it difficult to write HTML5 web pages correctly. In this paper, we first define the problem that functionalities of HTML5 web pages may become unusable due to layout changes, and propose a technique to detect the problem automatically. We show that our implementation detects such problems in real-world HTML5 web pages.

[1]  Phil McMinn,et al.  Automated layout failure detection for responsive web pages without an explicit oracle , 2017, ISSTA.

[2]  Ethan Marcotte Responsive Web Design , 2011 .

[3]  Alessandro Orso,et al.  WEBDIFF: Automated identification of cross-browser issues in web applications , 2010, 2010 IEEE International Conference on Software Maintenance.

[4]  Ali Mesbah,et al.  Automated cross-browser compatibility testing , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[5]  William G. J. Halfond,et al.  Using Visual Symptoms for Debugging Presentation Failures in Web Applications , 2016, 2016 IEEE International Conference on Software Testing, Verification and Validation (ICST).

[6]  Sylvain Hallé,et al.  Testing Web Applications Through Layout Constraints , 2015, 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST).

[7]  Rob Miller,et al.  Sikuli: using GUI screenshots for search and automation , 2009, UIST '09.

[8]  Alessandro Orso,et al.  CrossCheck: Combining Crawling and Differencing to Better Detect Cross-browser Incompatibilities in Web Applications , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[9]  Phil McMinn,et al.  Automatic Detection of Potential Layout Faults Following Changes to Responsive Web Pages (N) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[10]  Emina Torlak,et al.  Automated reasoning for web page layout , 2016, OOPSLA.

[11]  Arie van Deursen,et al.  Crawling Ajax-Based Web Applications through Dynamic Analysis of User Interface State Changes , 2012, TWEB.