Testing with Agility
I am expressing my views and learning on Agility for Testing. This article highlights the challenges and solution when one has to do the testing alongwith the development.
What approach for testing should be taken when “Time to market” is an important factor. The solution of course is to utilize testing time alongwith the development. But is it such an easy task for tester or developer or for management? Of course, not.
To successfully overcome such a situation requires commitment and support from the entire project stakeholder but more support, coordination and commitment are required among test team and development team.
The process that should be followed to overcome such a situation is mentioned below:
1. Define your Test Strategy
2. Define your team and assign responsibility
3. Do not wait for a formal process of release
4. Keep doing the testing as soon as build is ready for testing (Do not wait for formal release)
5. Always keep in mind that tester and developer are working as a team and your objective is to deliver a quality product on schedule.
6. Communicate the defects to developer and help him in understanding the defect.
7. Test each unit once developer finished the work
8. Make your seating arrangement near to developer
9. Communicate verbally as much as you can and do not always communicate formally
10. Always remember that you have a limited time for everything and if you start creating problem, then it is going to waste every one time in meeting and discussion.
11. Do the meeting and discussion only when you are trying to find a technical solution for defect or functionality.
12. If possible release the application to your customer for sneak peak. This is just to save the time and defect when you release the build formally. This also helps in raising the confidence of your customer in the product.
13. If there is dependency on 3rd party, then have a solution ready for doing the testing in case 3rd party is not able to provide the services on time. This can be one of your major risk and should be handled in your test strategy.
14. Keep your motivation high as many a times you feel low on energy due to agile nature of execution.
In my opinion, there is nothing new from execution prospective, it more related to coordination, communication and team work among the development team and test team.
In normal situation also you devote your time in writing test cases, then executing those test cases on formally release build. There is an idle time for tester when development is going on.
If you really want to deliver a quality product, then involve a functional tester while your development is going on and do not wait for the last moment when development get over and you are going to start the testing, this is a very traditional approach and may lead to poor quality for the product. This does not mean that you change the defined process, just make reshuffling in your process and utilize it for your organization maximum benefit.
I would like to share my experiences for a process (you must be known to this process) which is really going to help you in your work. Many of you know this basic process. I am here just adding the activities for a tester in each life-cycle stage.
Requirement Gathering – Tester should be involved in requirement gathering or requirement analysis. Tester should start developing the test scenarios based on their requirement understanding and should share the same with the functional analyst for the feedback.
Design Development – Tester should participate in the design meeting and he/she should share their thought on the application design. Tester is testing various types of application and design team can make benefit of his/her experiences while designing the system. Tester should update their test scenarios after design review meeting if s/he required a need to do so.
Development – The tester should be assigned the role and responsibility for testing modules. Then it is the responsibility of tester to test the module in coordination with the developer while development is going on. This approach saves a lot of time and also many functional defects to get passed onto the next stage. You should make use of your test scenario document while testing the functionality.
Integration testing – This is one of the important aspects of development life cycle. This may include much complex system with which your product is going to interact. I am here not talking of the integration of the module within application boundary. I am talking of the things which are outside application boundary and which is important for interaction with our system. To successfully do integration testing when complex system interaction are involved, you better start early and make a concrete test strategy in terms of communication involved among the system. It is a good idea to make an Integration testing Plan separately and share it among your stakeholders for feedback and information.
If your system does not interact with complex system then you may or may not require an Integration Test Plan. You better decide for your integration approach.
Testing - Now once you moved into testing phase, you should realize that how less you now need to test. You just need to do the regression testing and you must do a re-verification of the defect you reported during development stage. Re-run your test scenarios and report and verify your defects to closure.
UAT - Your application is now ready for UAT. Go and formally make a release to your customer.
Note: If you development life cycle is Iterative or other model, you must follow the above process of testing particularly during development stage. Development is inevitable stage irrespective of methodology.
Kroogerr service offerings are absolutely free of any cost forNGO’s/NPO’s/Startup. Kroogerr is committed to create a platform of Open Source Testing Services. Partnering with Kroogerr is just a click away.Click Here for availing our Free Services.
For more information visit www.kroogerr.com , or email at firstname.lastname@example.org