Agile is an iterative approach to software development that builds software incrementally by splitting work into small pieces, prioritizing tasks, and delivering working software frequently for continuous feedback. It focuses on individuals, working software, customer collaboration, and response to change rather than rigid processes, documentation, contracts, and plans. Agile testing emphasizes continuous collaboration with developers, targeted automation, defect prevention, exploratory testing, and adding value rather than detached objectivity, widespread automation, defect detection, scripting, and persistent criticism.