Unit vs Integration vs System vs E2E Testing

August 17, 2022 ยท View on GitHub

The table below illustrates the most critical characteristics and differences among Unit, Integration, System, and End-to-End Testing, and when to apply each methodology in a project.

Unit TestIntegration TestSystem TestingE2E Test
ScopeModules, APIsModules, interfacesApplication, systemAll sub-systems, network dependencies, services and databases
SizeTinySmall to mediumLargeX-Large
EnvironmentDevelopmentIntegration testQA testProduction like
DataMock dataTest dataTest dataCopy of real production data
System Under TestIsolated unit testInterfaces and flow data between the modulesParticular system as a wholeApplication flow from start to end
ScenariosDeveloper perspectivesDevelopers and IT Pro tester perspectivesDeveloper and QA tester perspectivesEnd-user perspectives
WhenAfter each buildAfter Unit testingBefore E2E testing and after Unit and Integration testingAfter System testing
Automated or ManualAutomatedManual or automatedManual or automatedManual