Integration Testing vs Functional Testing: Key Differences