Though that's been said, there is much more than clicking button under the GUI. Tons of message passing through/to the window and it triggers a lot of system events which cannot be tested without mimic mouse/keyboard movements. Besides, some tests rely on the visual elements. See the Google Chrome blog for automatic GUI testing: <a href="http://blog.chromium.org/2009/02/distributed-reliability-testing.html" rel="nofollow">http://blog.chromium.org/2009/02/distributed-reliability-tes...</a>