Alister Scott published a text matching his talk he gave at CukeUp! Australia, titled The 10 Do’s, and 500* Don’ts of Automated Acceptance Testing. I think it’s an excellent write-up and here’s a condenced list of the 10 “do’s” Alister assembled:
- Differentiate between acceptance and end-to-end tests
- Specify Intention over Implementation
- Write independent automated tests
- Automate (just) enough to eliminate manual regression testing
- Manual story/exploratory testing
- Ensure your whole team is responsible for your automated tests
- Run your tests on every commit
- Run your tests in parallel
- Run your tests against a single browser
- Run your end-to-end tests in production
Context always varies, but my pet subject is that of having a proper unit testing strategy for the UI layer and clearly separating that from automated acceptance tests. As such, I wouldn’t mind testing all browsers, as long as they run without the need for a full system.