Test Case Generation
To generate a set of test cases, test designers must be certain that their suite covers all the functionality of the system and also has to be sure that the suite fully exercises the GUI itself. The difficulty in accomplishing this task is twofold: to deal with domain size and with sequences. In addition, the tester faces more difficulty when they have to do regression testing.
The size problem can be easily illustrated. Unlike a CLI (command line interface) system, a GUI has many operations that need to be tested. A relatively small program such as Microsoft WordPad has 325 possible GUI operations. In a large program, the number of operations can easily be an order of magnitude larger.
The second problem is the sequencing problem. Some functionality of the system may only be accomplished by following some complex sequence of GUI events. For example, to open a file a user may have to click on the File Menu and then select the Open operation, and then use a dialog box to specify the file name, and then focus the application on the newly opened window. Obviously, increasing the number of possible operations increases the sequencing problem exponentially. This can become a serious issue when the tester is creating test cases manually.
Regression testing becomes a problem with GUIs as well. This is because the GUI may change significantly across versions of the application, even though the underlying application may not. A test designed to follow a certain path through the GUI may not be able to follow that path since a button, menu item, or dialog may have changed location or appearance.
These issues have driven the GUI testing problem domain towards automation. Many different techniques have been proposed to automatically generate test suites that are complete and that simulate user behavior.
Most of the techniques used to test GUIs attempt to build on techniques previously used to test CLI (Command Line Interface) programs. However, most of these have scaling problems when they are applied to GUI’s. For example, Finite State Machine-based modeling — where a system is modeled as a finite state machine and a program is used to generate test cases that exercise all states — can work well on a system that has a limited number of states but may become overly complex and unwieldy for a GUI (see also model-based testing).
Read more about this topic: Graphical User Interface Testing
Famous quotes containing the words test, case and/or generation:
“The test of a given phrase would be: Is it worthy to be immortal? To make a beeline for something. Thats worthy of being immortal and is immortal in English idiom. I guess Ill split is not going to be immortal and is excludable, therefore excluded.”
—Robert Fitzgerald (19101985)
“I am absurdly fearful about this voyage. Various little omens have combined to give me a dark feeling.... Perhaps we shall live to laugh at these. But in case of mishap I should perish with my husband and child, perhaps to be transferred to some happier state.”
—Margaret Fuller (18101850)
“Every generation revolts against its fathers and makes friends with its grandfathers.”
—Lewis Mumford (18951990)