Suite of automated tests - owned by devs or testers?
I'm working on a project that involves 4 developers and three QAers.
I've tried to encourage the other devs to write tests for every new feature they have added, and we have built up a suite of around 50 Selenium UI tests. I don't doubt that this has improved the quality of the product but the developers have become slaves to getting the tests working and I don't think we know enough about Selenium yet to really use it efficiently.
I'm thinking that for the next project I will pass automation of tests and building an automated regression suite over to the QA people. One of them has had good success using the Selenium add-on for Firefox before so the skills and the will do exist. Is this the right decision to make?
Alberto last edited by user
Extending and maintaining automated tests costs time, but if your team are slaves to updating tests you are doing it wrong.
One of the biggest reasons to create automated test coverage is to create a fast feedback cycle loop. Letting the test-team fix the tests afterwards slows down this process and will always lag behind. There is a high risk the tests will always be an after thought and are untrusted by the developers.
I suggest using a BDD framework. My previous team combined Cucumber and Selenium into a testing framework. When a developers checks in new code the current tests should not break. Also you want new coverage for new features. Schedule the tests in a continuous integration cycle to make sure the tests do not break.
- Testers write test-cases
- Developers automate them
Of-course testers can also automate them and developers can extend tests with more corners cases, but keep in mind that you need good developers to create a maintainable testing framework.
Use best of both worlds and pair program (1 dev + 1 qa) on implementing the more complex test-cases.