Back to stories
<QA/>

Test Levels: Unit, Integration, System, and UAT

Share by

Test Levels: Unit, Integration, System, and UAT

Test levels organize testing by scope: from single units of code to the full system and user acceptance. Knowing each level helps you plan test strategy and collaborate with developers and stakeholders.


Unit testing

Scope: One unit (function, class, or component) in isolation, with dependencies mocked.
Who: Usually developers.
When: During implementation; run in CI on every commit.
Goal: Fast feedback that the unit behaves as designed; foundation for refactoring.


Integration testing

Scope: Several units or services working together—APIs, database, message queues.
Who: Developers or QA; often automated.
When: After units are ready; in CI or on a schedule.
Goal: Verify that components integrate correctly and interfaces match.


System testing (E2E)

Scope: Full system as a user would use it—UI, backend, data, integrations.
Who: QA; can be manual or automated.
When: When a build is stable; often in staging.
Goal: Validate end-to-end flows and real-world scenarios.


User Acceptance Testing (UAT)

Scope: Business scenarios and acceptance criteria; often in a production-like environment.
Who: Product owners, business users, or QA facilitating.
When: Before release or go-live.
Goal: Confirm the system meets business needs and is ready for release.


Summary

  • Unit → integration → system → UAT: scope grows from code to business.
  • Each level catches different kinds of defects; use all four in your test strategy.
  • Align ownership and automation with your team (e.g. QA owns system and UAT support).