Abstract

Abstract Graphical user interfaces (GUIs) have become pervasive in software design, and constitute an accepted method for interacting with software and other products. Although they have become increasingly easy to design using contemporary tool sets, and they make software easy to use for all types of users, there are some fundamental problems in testing GUI systems. Testing GUI systems is difficult, in that a GUI may posses a large number of states to be tested, the input space is extremely large because of the different permutations of user inputs and events, and complex GUI dependencies may exist. However, probably the greatest difficulty is detecting an effect when an error occurs, because it may not be observable on the screen to the tester, or otherwise not observable at the time to the tester (unless a traumatic event, such as a “crash” occurs). The growth of the number of possible GUI tests is documented by, which illustrates why a GUI testing strategy must be systematic and scalable. By scalable, we mean that as the size of the GUI system increases, the number of tests required by the strategy increases either linearly or at most quadratically with the size of the GUI system. Two measures of GUI system size are the number of GUI objects and the total number of selections to be chosen by the user taken over all GUI objects. To give an idea of the potential growth of possible tests, if we need to test for arbitrary interactions of GUI objects or selections without regard to their order, this may grow as large as the product of all selections taken over all the GUI objects (geometric growth). On the other hand, if the GUI interactions depend on the order of the objects or selections, then the potential number of tests may grow as large as a factorial growth in terms of the GUI objects and their selections. As of this writing, little about the number of these interactions (and hence required tests) for practical systems as known.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.