Web Application Model Generation through Reverse Engineering and UI Pattern Inferring

A great deal of effort in model-based testing is related to the creation of the model. In addition, the model itself, while a powerful tool of abstraction, can have conceptual errors, introduced by the tester. These problems can be reduced by generating those models automatically. This paper presents a dynamic reverse engineering approach that aims to extract part of the model of an existing web application through the identification of User Interface (UI) patterns. This reverse engineering approach explores automatically any web application, records information related to the interaction, analyses the gathered information, tokenizes it, and infers the existing UI patterns via syntactical analysing. After being complemented with additional information and validated, the model extracted is the input for the Pattern-Based Graphical User Interface Testing (PBGT) approach for testing existing web application under analysis.

[1]  Marc Roper,et al.  A comparative evaluation of dynamic visualisation tools , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[2]  Piero Fraternali,et al.  Rich Internet Applications , 2010, IEEE Internet Computing.

[3]  Ana C. R. Paiva,et al.  A GUI modeling DSL for pattern-based GUI testing PARADIGM , 2014, 2014 9th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE).

[4]  Ana C. R. Paiva,et al.  Towards a pattern language for model-based GUI testing , 2014, EuroPLoP.

[5]  Martin Burger,et al.  WebMate: Generating Test Cases for Web 2.0 , 2013, SWQD.

[6]  Ana C. R. Paiva,et al.  A pattern-based approach for GUI modeling and testing , 2013, 2013 IEEE 24th International Symposium on Software Reliability Engineering (ISSRE).

[7]  Atif M. Memon,et al.  An event‐flow model of GUI‐based applications for testing , 2007, Softw. Test. Verification Reliab..

[8]  Arie van Deursen,et al.  Invariant-Based Automatic Testing of Modern Web Applications , 2012, IEEE Transactions on Software Engineering.

[9]  Sebastián Uchitel,et al.  Model extraction using context information , 2006, MoDELS'06.

[10]  Paolo Tonella,et al.  State-Based Testing of Ajax Web Applications , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[11]  Jenifer Tidwell Designing Interfaces , 2005 .

[12]  Cyrille Artho,et al.  Trace Server : A Tool for Storing, Querying and Analyzing Execution Traces , 2011 .

[13]  Marco Winckler,et al.  Organizing User Interface Patterns for e-Government Applications , 2008, EHCI/DS-VIS.

[14]  Emily Hill,et al.  Applying Concept Analysis to User-Session-Based Testing of Web Applications , 2007, IEEE Transactions on Software Engineering.

[15]  Larry L. Constantine,et al.  Usage-Centered Engineering for Web Applications , 2002, IEEE Softw..

[16]  Sergey Brin,et al.  Extracting Patterns and Relations from the World Wide Web , 1998, WebDB.

[17]  James A. Landay,et al.  Employing patterns and layers for early-stage design and prototyping of cross-device user interfaces , 2008, CHI.

[18]  Michael Benedikt,et al.  VeriWeb: Automatically Testing Dynamic Web Sites , 2002 .

[19]  Porfirio Tramontana,et al.  Rich Internet Application Testing Using Execution Trace Data , 2010, 2010 Third International Conference on Software Testing, Verification, and Validation Workshops.

[20]  Valentin Dallmeier,et al.  WebMate: a tool for testing web 2.0 applications , 2012 .

[21]  Tarja Systä,et al.  Dynamic Reverse Engineering of Java Software , 1999, ECOOP Workshops.

[22]  Amin Milani Fard,et al.  Feedback-directed exploration of web applications to derive test models , 2013, 2013 IEEE 24th International Symposium on Software Reliability Engineering (ISSRE).

[23]  Paolo Tonella,et al.  Understanding and Restructuring Web Sites with ReWeb , 2001, IEEE Multim..

[24]  Ahmed Seffah,et al.  Patterns in Model-Based Engineering , 2004, CADUI.

[25]  Frank Tip,et al.  A framework for automated testing of javascript web applications , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[26]  João Pascoal Faria,et al.  GUI reverse engineering with machine learning , 2012, 2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE).

[27]  João Pascoal Faria,et al.  Dynamic Reverse Engineering of Graphical User Interfaces , 2012 .

[28]  D. Roest Automated Regression Testing of Ajax Web Applications , 2010 .

[29]  João Pascoal Faria,et al.  Reverse Engineering of Graphical User Interfaces , 2011, ICSEA 2011.

[30]  Jesse James Garrett Ajax: A New Approach to Web Applications , 2007 .

[31]  Alexander Pretschner,et al.  Model-Based Testing in Practice , 2005, FM.

[32]  Gerardo Canfora,et al.  Achievements and challenges in software reverse engineering , 2011, Commun. ACM.

[33]  Mario Luca Bernardi,et al.  Reverse engineering of Web Applications to abstract user-centered conceptual models , 2008, 2008 10th International Symposium on Web Site Evolution.

[34]  Ana C. R. Paiva,et al.  Reverse Engineered Formal Models for GUI Testing , 2007, FMICS.

[35]  Porfirio Tramontana,et al.  Using dynamic analysis for generating end user documentation for Web 2.0 applications , 2011, 2011 13th IEEE International Symposium on Web Systems Evolution (WSE).

[36]  Ana C. R. Paiva,et al.  PARADIGM-COV: A multimensional test coverage analysis tool , 2014, 2014 9th Iberian Conference on Information Systems and Technologies (CISTI).

[37]  Rui Camacho,et al.  Inferring UI patterns with Inductive Logic Programming , 2013, 2013 8th Iberian Conference on Information Systems and Technologies (CISTI).

[38]  Ana C. R. Paiva,et al.  Pattern Based GUI Testing Modeling Environment , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops.

[39]  Chia-Hui Chang,et al.  Automatic information extraction from semi-structured Web pages by pattern discovery , 2003, Decis. Support Syst..

[40]  Ana C. R. Paiva,et al.  Reverse engineering of GUI models for testing , 2010, 5th Iberian Conference on Information Systems and Technologies.

[41]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[42]  Gerrit C. van der Veer,et al.  Patterns as Tools for User Interface Design , 2000, TFWWG.