Skip to main content

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 lifecycle` 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.
Please share your view points on the above topic.

Comments

Popular posts from this blog

Revolutionize software testing with AI! 🤖💻 Share your thoughts on ethical implications in the comments.

  As technology evolves, so too does the field of software testing. One exciting development in recent years is the use of AI (Artificial Intelligence) to automate repetitive tasks and improve testing accuracy. Through analyzing large amounts of data and identifying patterns, AI can help identify potential defects or vulnerabilities in software. AI-powered tools can also generate test cases and scenarios by simulating user behavior and input, allowing for more efficient and effective testing. In addition, machine learning algorithms can analyze and learn from past testing data, leading to better predictions and more streamlined testing. AI-powered tools can also help identify and prioritize critical bugs and defects, saving valuable time and effort in manual testing. But it's important to note that AI-powered testing is not a replacement for human testers. While AI can automate certain tasks and help identify potential issues, it's still necessary for human testers to provide a

Is AI taking over your job in software development and testing? 😱"

Are you a software developer or tester feeling threatened by the rise of AI in your industry? 😰 You're not alone. Many professionals in the field are concerned about the potential consequences of AI's integration into software development and testing. While some experts believe that AI can bring significant benefits to the industry, others worry that it could replace human expertise altogether. 🤔 AI algorithms can analyze massive amounts of data and automate many tasks, but they cannot replace the critical thinking and creativity of human beings. Additionally, there are ethical concerns associated with the use of AI in software development and testing. So, what can you do to ensure that you're not replaced by AI in your job? 💪 First, it's essential to recognize that AI is not a replacement for human expertise but rather a tool to augment it. Therefore, it's essential to learn how to work with AI-powered systems to increase your efficiency and productivity. Additi

HP Quality Center - Best Practices

1.Introduction Quality Center is a test management tool which provides very good features for managing both your manual and automated test cases. This paper highlights the best practices for managing your test cases. When you open Quality center, depending on your rights it display the below mentioned option in the sidebar: 1. Requirements 2. Test Plan 3. Test Lab 4. Defects 5. Dashboard 2.Requirements When you have assigned with the responsibility of developing your test cases in the quality center then you must be wondering where to start with. I am going to share my experience to overcome such a situation. You need to find the solution of some question before you start writing your test cases. 1. Is your requirement developed and available? 2. Is your requirement organized in a logical sequence? If answer to both of the above question is Yes, then you can start with Requirement option in the side bar. In case your requirement is under development, then you keep your