Please refer to my blog on Agile practices and the importance of Re-usable code libraries for cycle time reduction [ URL:http://wp.me/p4umAl-3 ]. During the reusable code usage and the iterations or sprint planning, the test automation also can be planned, designed and implemented. This blog eloborates on the easy processes can be used to implement it and demonstrate the cycle time reduction. Please note atleast after passing the two cycles of tests on the selected manual scripts need to be planned for test automation. I am trying to eloborate on the process of the Automation of unit testing and component or module integration test automaation. Please note the test automation is also a development project. Hence some of the phases are similaar to SDLC. The pictorial chart eloborates the detailed steps involved in these test phases automation. Module (Unit) or Component Development in Agile: The below contents and the chart narrates the relationship of automation Development process and the Testing process under each development phase. Development and Testing process Relationship table:
|Phase||Development Process||Test Process|
|Module (Unit) or component Development||Design module from requirements||Perform test planning and test environment set up.|
|Code module||Create test design and develop test data.|
|Debug module||Write test scripts or record test scenario using module.|
|Unit test module||Debug automated test script by running against module. Also, tools that support unit testing [Purify, etc] can be used.|
|Correct defects||Rerun automated test script to regression test as defects are corrected.|
|Conduct Performance Testing||Verify system is scaleable and will meet the performance requirements. This is the entry criteria for Integration test automation.|
|Build system by connecting modules.Conduct Integration test with connected modules.Review trouble reports.||Combine unit test scripts and add new scripts that demonstrate module inter-connectivity. Use test tool to support automated integration testing.|
|Correct defects and update defect status.||Rerun automated test script as part of regression test, as defects are corrected.|
|Continued Performance Testing Activities||At this point, Verifying system is scaleable and will meet performance requirements with the integrated modules. If this passes then the system test or VVT entry can be considered.|
Below chart demsontrates the process steps to be used for test automation of unit test and integration testing:
The acronyms used in the chart: TC–>Test case, TD–>Test data, TR–> Test requirement, UT–>Unit test, IT–> Integration test.
All the automated test scripts and test data need to be preserved under configuration management tools.
Choosing the right tools for test automation comes under tools evaluation process. Once the tools are identified, the above processes can be planned and adopted for regular practice on the Agile projects.