Agile projects are typically cheaper and can be delivered quickly. They offer greater flexibility but also produce less predictable results due to the uncertainty and unclear nature of many of the project characteristics. Waterfall projects are typically more expensive and take longer to deliver.
In waterfall testing, testing is a separate phase. In agile testing, testing is performed alongside the development. In waterfall testing, testing is carried out only after the completion of development. In agile testing, the development team and testing team work together.