Functional Testing: Application of test data derived from the specified functional requirements without regard to the final program structure. Also known as black-box testing.
Acceptance Testing: Formal testing conducted to determine whether or not a system satisfies its acceptance criteria—enables an end user to determine whether or not to accept the system.