A Dynamic Partitioning Approach for GUI Testing

  • Authors:
  • Kai-Yuan Cai;Lei Zhao;Feng Wang

  • Affiliations:
  • Beijing University of Aeronautics and Astronautics, China;Beijing University of Aeronautics and Astronautics, China;Beijing University of Aeronautics and Astronautics, China

  • Venue:
  • COMPSAC '06 Proceedings of the 30th Annual International Computer Software and Applications Conference - Volume 02
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Previous works on GUI testing are mainly concerned with how to define or generate GUI test cases. The issue of how to employ generated GUI test cases or primitive actions is seldom discussed. In this paper we propose a dynamic partitioning approach for GUI testing to address the issue. In this approach, the given GUI primitive actions are dynamically partitioned into two disjoint classes: one comprising prioritized primitive actions and the other comprising non-prioritized ones. The testing process is divided into two stages and contains two feedback loops. The first stage prioritizes primitive actions and the second stage selects and performs prioritized primitive actions. The first feedback loop is local and occurs in the second stage, which adjusts the memberships of primitive actions after they are performed. The second feedback loop is global and occurs between the first and second stages. It switches GUI testing from the second stage to the first stage upon no prioritized primitive actions are available. Two testing experiments with real GUI applications show that the proposed dynamic partitioning approach can really work in practice and may significantly outperform the random testing approach in the sense that the dynamic partitioning approach uses fewer primitive actions to achieve given testing goals and behaves more stable. The dynamic partitioning approach adopts explicit feedback mechanisms and contributes to the emerging area of software cybernetics that explores the interplay between software and control.