While Salesforce runs thousands of its own UI tests, Visualforce developers still need to test their own code, as well as web applications that integration with our Force.com applications.
As a best practice, custom Visualforce controllers should be covered by Apex unit tests, and the Visualforce pages by UI integration tests as well. For UI integration test, Selenium is an excellent choice: It’s well adopted in the industry and has a low learning curve. Even so, architected incorrectly, Selenium tests can be hard to maintain and costly to develop.
In the session “Streamline Selenium Testing with Page Flow Navigation” (Dreamforce 2013), Ted Husted and Derek Hansen present a robust architecture that makes UI integrations tests easier to create and maintain.
For more, visit the session’s Git repository repository.