Usage
  • 166 views
  • 232 downloads

REVERSE ENGINEERING AND TESTING DYNAMIC WEB APPLICATIONS

  • Author / Creator
    Negara, Natalia
  • A new generation of complex interactive dynamic web applications has emerged with the introduc- tion of Web 2.0 technologies and development frameworks. The characteristics of dynamic web applications such as runtime DOM structure and content updates introduced new challenges in the understanding, maintenance and testing of this type of web applications. In this work we address two important challenges in the field of web application maintenance. The first challenge is that of modelling web application behaviour. To solve this task we develop an automatic method for reverse engineering the features of dynamic web applications by applying a hierarchical clustering algorithm based on a novel composite-tree-edits-aware distance metric between DOM tree instances of a web application. The proposed distance metric recognizes simple and composite structural changes in a DOM tree. We have evaluated our method on three real-world web applications. The evaluation results demonstrated that the proposed distance metric produces a number of clusters that is close to the actual number of features and, also, classifies DOM trees into feature clusters more accurately than other traditional distance metrics. The second challenge is that of systematic acceptance (and regression) testing at the user-interface level, which we address by developing a tool, CrawlScripter, for performing automated acceptance testing of JavaScript web applications. CrawlScripter allows to create easy-to-understand acceptance tests using the provided library of high-level instructions. The ability of CrawlScripter to create automated acceptance tests for different test scenarios was evaluated on both pedagogical and real-world dynamic web applications.

  • Subjects / Keywords
  • Graduation date
    2013-06
  • Type of Item
    Thesis
  • Degree
    Master of Science
  • DOI
    https://doi.org/10.7939/R3SW80
  • License
    This thesis is made available by the University of Alberta Libraries with permission of the copyright owner solely for non-commercial purposes. This thesis, or any portion thereof, may not otherwise be copied or reproduced without the written consent of the copyright owner, except to the extent permitted by Canadian copyright law.
  • Language
    English
  • Institution
    University of Alberta
  • Degree level
    Master's
  • Department
    • Department of Computing Science
  • Supervisor / co-supervisor and their department(s)
    • Stroulia, Eleni (Computing Science)
  • Examining committee members and their departments
    • Stroulia, Eleni (Computing Science)
    • Hindle, Abram (Computing Science)
    • Reformat, Marek (Electrical and Computer Engineering)