Agile testing is a software testing practice which follows agile software development principle. It involves all members of a cross-functional agile team. It is an iterative testing methods, and requires collaborations between customers and self-organising team and aligns development with customer needs. So, for agile, there has several iterations in agile testing method. In each iteration, a whole software development cycle will be executed, so for testing, test design, test executing, then do regression tests. So continuous integration is the key of agile.
Unlike traditional Waterflow model, Agile requires a depth of continuous collaboration between stakeholders of a project, including managers, developers, testers, and customers. Agile is also more flexible as end user can be involved. Comparing with traditional testing methodologies, Agile Testing saves time and money, and requires less documentation. The regular meetings of Agile Testing can also help determine the issues or upcoming problems well in advance. Also, the company, or the team of the software system can receive regular feedbacks from the end users.
Waterfall: In contrast, traditional waterfall model treats analysis, design, coding, and testing as discrete phases in a software project. When we are in the second stage, it is impossible for us to go back to the previous stage. (1) It can cause poor quality when the project runs out of time and money, and testing is the only phase left to do. Under this situation, the testing phase will be cut off. (2) Also poor visibility. We will never know where we are when we are doing a waterfall project. (3) Also, it is quite risky. Too late to go back.
V-Model: it is a software development process that can be considered as an extension of waterfall model. Instead of moving down in a linear way in waterfall model step by step, V-Model demonstrates the relationships between each phase of development life cycle and its associated phase of testing. So it separates the development process and testing process.
It is inflexible and encourages a rigid and linear view of software development and has no inherent ability to respond to change. Even though it is different from waterfall model, it is still follows the logic of waterfall.