Understanding the Differences: Functional Testing vs Integration Testing