This document discusses various techniques for rapid application testing (RAT) such as unit testing, integration testing, smoke testing, system testing, regression testing, performance testing, and test-driven development. It emphasizes automating test plans and test execution to allow tests to be run multiple times for little additional cost. The goal of testing is to balance cost and risk by reusing automated tests that are fast and good predictors of issues while throwing more tests at critical areas.