AutoTests refactoring experience

I am on path of introducing following best-practice in our AutoTests team:
  1. PageObject pattern - its just REQUIRED for any AutoTests project. Without PageObject the  code  base become unsupportable peace of garbage very quickly. This is NO excuse of not-using  PageObject pattern.
  2. Splitting responsibilities inside a team:
    • API-support: 1-2 dev's write/support an API (PageObject clases). 
      • Require good developer skills and code reviewed by architect. 
    • Test -writers: All other team members write tests which just use API (PageObject classes). 
      • Not require significant dev. skills. The target here - allow any non-developer to write the tests (like QC, analytic, even client !).

PageObject - is really yummy thing. 

It was hard from the start to convince manager/team to start using Best-Practice and perform code refactoring of existing code. But after first steps - all doubts disappear. We currently build stable, solid, reusable API which is very easy to use, plus - all power of VS auto-complete! 
Also it changed a development process - all API code changes pass code-review by architect (me).

Currently, I've thought about stoppers of introducing #2  - splitting responsibilities.

Like, we use XML to describe test preconditions (which data should be inside db) and only after that real AutoTest -code starts.
XML which describe our database - its good for test performance, but this is not good for non-developer. If we can get-rid of XML - than any non-developer will be able to write AutoTests (or this is just my imagination :) ).


I've done small slide-show presented inside my company: Code refactoring of existing AutoTest to PageObject pattern 



Lisks:

Comments