GUI testing is the process of ensuring proper functionality of the graphical user interface (GUI ) for a given application and making sure it conforms to its written specifications.
In addition to functionality, GUI testing evaluates design elements such as layout, colors, fonts, font sizes, labels, text boxes, text formatting, captions, buttons, lists, icons, links and content. GUI testing processes can be either manual or automatic, and are often performed by third -party companies, rather than developers or end users.
GUI testing can require a lot of programming and is time consuming whether manual or automatic. Usually the software author writes out the intended function of a menu or graphical button for clarity so that the tester will not be confused as to the expected outcome. GUI testing also tends to test for certain program behaviors that users expect, like an hourglass when the program is busy, the F1 key bringing up the help system and many other common details.