THE A-A-A Test Transformation MODEL <br />Author : Sushant Hublikar<br />The agility to adapt to achieve !!!<br />THE BIG PICTURE<br />The A-A-A Test Transformation Model is designed to :<br /><ul><li>Focus and apply the three key foundations of the future of Software Testing i.e, Software Testing 3.0 – Agility, Adaptation and Achievement.
Create an industry standard model to follow that allow organizations to grow within as well as from a global perspective.
This model is applicable to software services organisations who provide development and testing services to customers.
Software Product organisations can follow this model to build robust, quality, reliable, and early time-to-market software products.
This model is applicable to every role within the software development/testing lifecycle, i.e, the manager, lead and the engineer.
Bottomline : Transforming the process, practises and the individuals by merging the ones currently followed.</li></ul>Agility<br /><ul><li>Does not mean the “agile” development model. Means the agility of the organisation, of the teams and the individuals.
Agility of the organisation: Means to manage the ever-changing/agile Business Processes in the future.
Anticipate at-the-moment new business requirements from the customer.
Agility of the team: Means to build an “agile” not a “fragile” test team.
There a lot of trainings made available in the organizations on development i.e, JAVA, C, C++, , .NET etc. But are there enough for testing as well ??? Define a training/project readiness plan specifically based on test activities and techniques for the test team members before directly assigning them to any projects.
Gather the team prior to the beginning of the project and strategize the execution per tester.
Agility of the individual: Means to provide tester independence.
Testers trained to apply different techniques to the system during execution.
Unique set of test techniques used by testers during the test execution. Do not assign individual modules/features to testers. Rather divide the set of testing techniques to be used by the testers during system execution on the system as a whole. </li></ul> Adaptation<br /><ul><li>Effortless acclimatization to the different software development models on a need basis.
Frequent communication with the customers. Understand their business and anticipate new requirements based on their time-to-market needs.
Selecting the appropriate development lifecycle . Agile and V - model have their own advantages and disadvantages.
Train your team to adapt to new test techniques. Strategize !
Encourage maximum exploratory testing along with automation during regression.
Well-trained team can be capable of switching gears during execution in time-based projects.
Have a separate automation team. Allow them to work independent of the other testers.
Encourage frequent informal discussions with developers. Let a friendly ecosystem prevail rather than an ego-system.</li></ul>Achievement<br /><ul><li>Applying the best practises of Agility and Adaptation will definitely lead to optimal results.
Granting the tester his/her independence during execution. Instill confidence in the tester. It would definitely motivate him to do more. Makes feel he/she has achieved a milestone.
Different techniques applied during execution to the system as a whole. Ensures almost complete coverage of the requirements.
Providing complete metrics to the management as a result of different techniques used and ensuring optimum coverage.
Look forward to more wins from the customer !!!</li></ul>Why A Circular Model ?<br /><ul><li>Provide a complete all-round visibility to the team about the project management updates and decisions and what can be achieved by following the above practices.
Provide the management with the visibility of the test activities.
Involve OR Communicate to the team of the regular updates about the project from the stakeholders. Neither isolate the team from the management discussions and decisions unless they are really necessary nor involve them too much and vice versa.
Rotate the testers to work on different techniques on every project. At the end of the day, tester skills count in his/her resume.
Providing visibility to testers about the project management activities would be a learning step for them in their career and expose them to their future!</li></ul>A Few Best Practices OR Good Practices of A-A-A<br /><ul><li>Regular Training and development for the test team members to update their testing skills.
Agile vs V – Which model to use? Both yield better results in their own way. Depends on the type of project and the necessity of the customer. Agile for smaller projects with less time-to-market. V-model for projects which have high expectations and therefore need utmost importance on development and testing activities to be carried out. Decide the best option. Be flexible!
Maximum usage of exploratory testing and heuristics during the final regression testing before the final product goes to the customer. At the end of the project, the customer is the layman. He will be interested in the end result/business objective and not in the “statement coverage of a module”.
Apply different test techniques i.e., Static testing (Test basis review, Documentation review), Black-box (BVC, EP, Decision-based, state-transition etc), White-box (Statement coverage, Decision coverage etc), Risk-based, Defect-based testing during system test execution.
Break the software in as much ways as possible within the scope of the requirements.
Provide tester independence to apply his best skills during execution, the ones he is good at.
Create a balanced ecological system with the development team.
Encourage feedback to the management from the team members on the way the activities are to be carried out and schedule to be met and vice versa.
Heed to the testers! They are the smaller shining carbon crystals of the diamond.
Rotate the test team to adapt to change. It would improve their skills and help gather rich experience.
Have a separate independent automation team. Manual and Automation testing need to exist in harmony. Negligence of one over other reduces the quality and coverage.
Award certifications for standard testing processes followed. Certifications on completion of test techniques trainings. Provide real-time practical examples of the techniques during trainings.</li></ul>Application of the Model<br /><ul><li>Whenever an organization says it has adopted the A-A-A Model, they are bound to exhibit the core strength they possess in their test and development teams.
This can be achieved only by having a separate autonomous testing unit within the organization.
Also, create an elite panel of experienced testers who can train new recruits on the different testing techniques and strategies to be used on the job.
Why should always the testing team be at the receiving end from the stakeholders and the customers??? Encourage feedback from the test team. Listen and Oblige!
Always have bench strength for the test team. Prepare them with the necessary trainings before they can replace a member from the core team during an on-going project.</li></ul>How to Use This Model for Businesses with the Customer?<br /><ul><li>Customers are concerned about two things. Quality and/or Time-to-market, provided finance has been taken care of.
The A-A-A model should be implemented in a way that the customer is assured of quality as well as the time-to-market delivery.
Demonstrate and exhibit the robustness of the team.
Reveal the strengths of the team gained by the implementing the model.
Go for the Agile model or the V-model. Display that we have the experience on working on either of these powerful development lifecycles.