
User interface testing, a testing technique used to identify the presence of defects is a product/software under test by using Graphical user interface [GUI].

Characteristics of GUI Testing:
- GUI is a hierarchical, graphical front end to the application, containing graphical objects with a set of properties.
- During execution, the values of the properties of each object of a GUI define the GUI state.
- It has capabilities to exercise GUI events like key press/mouse click.
- Able to provide inputs to the GUI Objects.
- To check the GUI representations to see if they are consistent with the expected ones.
- It strongly depends on the used technology.
Approaches of GUI Testing:
- Manual Based: Based on the domain and application knowledge of the tester.
- Capture and Replay: Based on capture and replay of user actions.
- Model-based testing: Based on the execution of user sessions based on a GUI model.