User Interface (UI) patterns are used extensively in the design of today's software. UI patterns embody commonly recurring solutions that solve common GUI design problems, such as "login," "file-open," and "search." Yet, testing of GUIs for functional correctness has largely ignored UI patterns. This paper formalizes the notion of a Pattern-Based Graphical User Interface (GUI) Testing method (PBGT) for systematizing and automating the GUI testing process. The space of all possible interactions with a GUI is typically very large. PBGT presents a new methodology to sample the input space using "UI Test Patterns," that embody commonly recurring solutions to test GUIs. Our empirical studies show that the PBGT methodology is effective in revealing faults in fielded GUIs.