There are different approaches to testing a web application. Functional testing is a top down approach which models the way users negotiate the system through its interface; unit testing, also known as regression testing, is a bottom up strategy in which each class is thoroughly tested individually.
Functional tests usually involves a list of actions which need to be performed successfully in order to sign off a project. Because of this they are also known as acceptance tests.

