How to automation if a feature is in development

Overcoming Automation challenges in an Agile development

During development phase when a feature is still not ready for automation, general expectations is to take up automation once feature is complete.

Few of examples where Automation is not carried out till a feature is complete:

1. the new feature requires few elements (on webpage or a web service) to be included while processing automation scripts

2. Database needs to be read for an non-implemented feature (table / Stored Proc etc.) and automated

3. Automated scripts itself may have dependencies wherein the output of a script (something which gets modified/created by previous script) needs to be accessed in another script.

This creates a bottleneck and puts a break on team’s agility where automated scripts are always behind.

As of today many features are suggested and available to improve automation readiness to regress features as soon as feature is complete.

1. Extended timelines for automation during feature development.
Once the feature is dev. complete, the automation team can take up development. And once both are done, feature is marked completed.

2. Push automation of features one sprint behind current release cycle.

3. Use stubs, fakeobjects, dummy objects to improve automation progress
Here dummy objects are never used (though they are created to make sure scripts work without break)
fake objecs / stubs are part partial implementation, which responds only to code implemented.

Mockito framework (open source) allows us to mock features under development to the testing requirements of a automation script.

I will go through simple examples to mock Database connections, unimplemented interfaces, non developed GUI interactions to complete automation well in parallel to development effort.

Though this still requires refactoring, still time required is much less given coverage achieved.