All the types of tests that are done in a traditional methodology such as the waterfall model can be done in an agile model as well. Agile teams will define what testing is required just as traditional teams define what test efforts are needed. There is nothing about an agile environment that would prevent any type of testing that is done in a traditional environment from being done in an agile environment.
Agile environments often use Test-Driven Development so that unit tests are written even before the code. Exploratory testing is often performed as part of an iteration. Regression tests are often automated and executed with each build.
From the book “Agile Testing: A practical guide for Testers and Agile Teams” by Lisa Crispin and Janet Gregory on page 6: “It includes just about everything beyond unit and component level testing: functional, system, load, performance, security, stress, usability, exploratory, end-to-end, and user acceptance. All these types of tests might be appropriate to any given project, whether it’s an agile project or one using more traditional methodologies.”
To add to this
This is really defined as part of the testing scope. Test leads or testers should really define when what happens. If you have sprints maybe at the end of each sprint you might do regression. If you have iterations that are really short.. maybe regression and stabilization occurs at the end of the project.
Again all types of testing can be done… it just has to be defined and then applied.
The biggest thing to note for agile is that the plan can change. You may adopt different process or methods based on what you learn. Exploratory testing plays a major role in this testing.