Comparing Functional Testing and Unit Testing: Understanding the Key Differences