User acceptance testing was traditionally carried out just before the software went live. This has changed. Modular testing has now spread UAT throughout the development cycle. However, the purpose of UAT remains the same, although the spreading of user acceptance testing across development has increased the challenges faced by testers.