Testing in which the tester designs and runs tests at the same time, learning about the software as they go.