Writing automated tests that are easy to maintain require skill, practice, discipline and good design.