what is the difference between functional testing and user acceptance testing?
A functional test verifies that the product actually works as you (the developer) think it does. Acceptance tests verify the product actually solves the problem it was made to solve. This can best be done by the user (customer), for instance performing his/her tasks that the software assists with.