CSC/ECE 517 Fall 2013/ch1 1w32 av
Introduction
Graphical user interface testing is the process of testing a product's graphical user interface to ensure it meets its designed specifications.
GUI testing is difficult mainly due to following reasons :
- Large space of possibilities. Each sequence of GUI commands can result in various states. Evaluation of all these states is essential for validation of the GUI of the given software.
- Event-driven architecture. The test suite has to simulate the various user created actions.
Following are the challenges encountered while testing the graphical user interface of any software or system:
- Automation is difficult.
- The scope for testing is enormous
- Inability to determine the state of the program from GUI.
- Regression testing is difficult. Testcases may not be reusable
The current trend in user interfaces is geared towards graphical user interfaces (GUIs). This presents a problem for designing tests for software, since GUIs are very complex and hence GUI testing is very time consuming. Automation is a requirement for testing any larger graphical user interfaces, but automating GUI tests isn’t a straightforward task. Techniques which are familiar from the command line interface (CLI) age, don’t translate to the GUI world without problems.
GUI testing tools serve the purpose of automating the testing process of software with graphical user interfaces.
Selenium
Selenium is a portable software testing framework for web applications. Selenium provides a record/playback tool for authoring tests without learning a test scripting language (Selenium IDE). It also provides a test domain-specific language (Selenese) to write tests in a number of popular programming languages, including Java, C#, Groovy, Perl, PHP, Python and Ruby. The tests can then be run against most modern web browsers. Selenium deploys on Windows, Linux, and Macintosh platforms.