the manpower to manage all the demands of an agile project. Or there may be a skill deficit in the QA team with no one confident enough in using the test tool of choice. If preparing automated test scripts up front is a problem then perhaps provide the developers written test scenarios from which they can write their own test scripts. However, it is then even more essential that the tester sits with the developer prior to completion of the story to ensure they are satisfied with the automated implementation of their written test scenario.
Here is a selection of some of the other issues testers may need to consider and some potential solutions:
The CI build may eventually have a large and unwieldy number of functional acceptance tests which really slows the build down?
he testers should help the team provide a solution. Perhaps the functional tests can be run on a separate CI box. Perhaps some of the low priority tests can run less frequently? Some tests may no longer be valid and can be removed from the build.
How much technical & coding expertise does today’s agile QA need? What if a decision is made to use a different tool?
One solution is to have a technical tester on each team. The preferred solution would be for all agile testers to get skilled up.
A 'green' build does not mean your test has been run.
Make sure you know that the tests are indeed running and not being ignored. Perhaps some sets of tests have been deleted or disabled during code refactoring or bug fixing. There are many ways for a test to be ignored, set to pending or pulled out and it’s up to the tester to know when this happens. The test team should have an awareness of the entire test coverage.
Cry wolf syndrome.
There is a risk that badly written tests that regularly generate false failures will be ignored, so that when a real failure occurs it may not be detected. Likewise a high number of passing unit tests may bring a false sense of security and a danger of complacency, resulting in less additional QA activities.
'Testers drive the testing process'
Perhaps asking the question who owns the test tools is misleading. It is clear that the sphere of testing no longer belongs exclusively to the QA team and by extension the test tools now belong to the entire project.
Yet whilst the testing of an Agile project is a team exercise there are inherent risks around diminishing levels of quality when developers are expected to write their own functional acceptance tests. Testers, acting as pre-sign off stewards of quality, should be instrumental in writing tests based on the customer requirements, with or without the tools.
Ultimately it pays to have the test experts provide the guardianship of the testing process. This is far more important than disputing the ownership of the test tools themselves.
This article is based on a presentation given by John Reber at the London Tester Gathering in Jan 2010.