It is a software testing methodology that is guided by certain principles stated in the agile manifesto for software development. This methodology follows an incremental/iterative approach, and the main aim of this approach is to deliver quality software.