Functional UI testing involves automating interactions with a system's user interface to test functionality from a user's perspective. It is useful for testing complete workflows and ensuring the UI is properly connected to the rest of the system. This document discusses choosing between record/playback and coded automation tools for UI testing, and introduces the WatiN framework for automating tests in .NET applications. It covers fundamental WatiN concepts like finding and interacting with elements, and styles like the physical object model and logical functional model for structuring automated UI tests.