Below notes are based on my personal learning's from project's I have worked on. This presentation from Bindu -
Design Patterns in Automation Testing is the inspiration for this post.
Learning Tip #1 -
Page Object - Create Class for Each Page in a website. Ex- HomePage, SearchPage Each Page will have a class on its own. These classes will have methods to simulate the functionality. All example
posts on Developing Automation Framework in my blog is based on Page Object pattern
Learning Tip #2 - Factory Pattern - You will still have a single class for each page in your website. When you support multiple locales Factory Pattern is useful to simulate the method based on the locale specified in Test Run. Please refer this earlier
post on Data Driven Testing and Design patterns. Example for Factory Pattern is provided in the example
Learning Tip #3 - Data Driven Testing - Running the same test for different Data Sets. Basically Automation Framework should be configurable to run against dynamic data sets (not limited to fixed data sets). Although this is a continuous challenge but this is achievable
Learning Tip #4 - Validation Procedures - Validating data need to be performed using independent Service Calls / DB Queries / Prepared Expected Results output. Use of XML to read configurable parameters, storing DB queries of different DB platforms (DB2, MSSQL, MYSQL..) would help to dynamically fetch queries based on the platform tests are executed
More Reads http://code.google.com/p/selenium/wiki/DesignPatterns
Page Object Pattern and how to use Selenium
Happy Re-Learning!!!