• DocumentCode
    1605321
  • Title

    Automated Modularization of GUI Test Cases

  • Author

    Yandrapally, Rahulkrishna ; Sridhara, Giriprasad ; Sinha, Saurabh

  • Author_Institution
    IBM Res., Bangalore, India
  • Volume
    1
  • fYear
    2015
  • Firstpage
    44
  • Lastpage
    54
  • Abstract
    Test cases that drive an application under test via its graphical user interface (GUI) consist of sequences of steps that perform actions on, or verify the state of, the application user interface. Such tests can be hard to maintain, especially if they are not properly modularized - that is, common steps occur in many test cases, which can make test maintenance cumbersome and expensive. Performing modularization manually can take up considerable human effort. To address this, we present an automated approach for modularizing GUI test cases. Our approach consists of multiple phases. In the first phase, it analyzes individual test cases to partition test steps into candidate subroutines, based on how user-interface elements are accessed in the steps. This phase can analyze the test cases only or also leverage execution traces of the tests, which involves a cost-accuracy tradeoff. In the second phase, the technique compares candidate subroutines across test cases, and refines them to compute the final set of subroutines. In the last phase, it creates callable subroutines, with parameterized data and control flow, and refactors the original tests to call the subroutines with context-specific data and control parameters. Our empirical results, collected using open-source applications, illustrate the effectiveness of the approach.
  • Keywords
    graphical user interfaces; program testing; GUI test case modularization; application user interface; callable subroutines; candidate subroutines; context-specific data; control parameters; graphical user interface; open-source applications; test case analysis; test steps partitioning; user-interface elements; Graphical user interfaces; HTML; Maintenance engineering; Navigation; Partitioning algorithms; Registers;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering (ICSE), 2015 IEEE/ACM 37th IEEE International Conference on
  • Conference_Location
    Florence
  • Type

    conf

  • DOI
    10.1109/ICSE.2015.27
  • Filename
    7194560