Unit testing - big base, can be automated and done with TDD
Integration testing - middle layer - some automation
Functional testing - small top, done by humans

Unit testing -
test single, smallest piece of function
who - deveoper
what - tests written by developers
Small iteratin of releases instead of throwing a big piece of code to the testers
test suite may define mock objects
adding untit test retroactively is tricky and often leads tro prolonged refactoring
unit test shoudl not cross over to DB's /ldap/jave containers otherwiser it becomes and integration test
Time spent on unit testing - double dev time

CCN Cyclomatic complexity number
Code complexity - if ccn is 50 it is untestable and thus unmanageable
Code coverage - bigger better