Hello All, I am working on a freelance testing project and I want to know which model is better for testing in the process and concept point of view between agile and waterfall. I know about Agile models follow the concept of consistent growth during the project itself so that afterward it reduces the risk of completing the requirements but not an idea about waterfall. Can anyone know which model is useful in testing? and what technique the waterfall model used?
Basically, Agile is best choice as a tester.
Agile gives us a way of proactive testing instead of reactive one.
In many views agile is just small waterfall. - yes it is,
But again performing a waterfall every two weeks does not make you agile, but it is iterative (which is half of agile).
The waterfall model defines phases - requirements, architecture, design, implementation, verification (testing), validation (acceptance testing), and release. In any iterative methodology, you go through each of these phases within every iteration. There might be overlap between them, but you elicit and capture requirements, adopt the architecture and design of the system to allow for implementation, develop the new features or fix the defects, test the new modules, and then present it to the customer for acceptance testing and deployment.
However, there’s a lot more to agile than just being iterative and incremental.
Please go through - agilemanifesto.org. Its helps a lot.
On this topic I like this mental exercise:
Assume this super rigid Waterfall process, where the company is so sure that first they do all the design and then they fire all the designers, then the developers develop everything and then they fire all the developers and then the testers take over. How much will the tester impact the quality of the product?
So a key element in your job is feedback to the organisation and feedback is generally more useful the closer it is to the event. Therefore an organisation that is working according to scrum or kanban allows for the testers to provide feedback in a more timely fashion.
For freelancing, in general, I think Waterfall would be a bad choice, it’s for long-term predictable projects with lengthy and very details requirements and a whole lot of documentation.
Shorter sprints allow you a lot more flexibility and the room to adapt to changes in the requirements - often the customer will get they idea of what they want after trying out an MVP delivered to them. And with the lessened focus on documentation in Agile, being a part of the team and in constant communication will make it easier for you to do your testing - compared to how it’s done in Waterfall where you are siloed away and waiting for the feature to be in some QA status so you can sign it off.
Well, the use of agile and waterfall methodologies depends on the complexity of the project I.e., transitions, functionalities, features, and any other complicated components.
As long as you ask for some personal opinion, I would definitely suggest you stick with agile methodology as it will help you run quick testing on your project along with the development.
Moreover, agile allows you to fix any missed errors or issues with greater ease than compared to the waterfall that needs you to go track all the way to the beginning of your project in case of any code compilation or functionality issues.
Cutting it short, Stick to Agile.