Testing Levels: Unit to Acceptance

Harry · 21 Sep 2026 · 2 views
Log in to track your progress and mark lessons complete.

Unit Testing

Test the smallest piece (a method or class) in isolation, with dependencies mocked. Written by developers with JUnit/TestNG; runs in milliseconds on every commit.

Integration Testing

Test how modules work together: controller to service to repository, or your app to a payment gateway. Catches contract mismatches and wiring errors.

System Testing

Test the complete integrated system against the SRS in a production-like environment: end-to-end flows, browsers, data migrations.

Acceptance Testing

  • UAT - business users validate real scenarios before sign-off.
  • Alpha - tested in-house; Beta - tested by real users in the field.

Regression, Smoke, Sanity, End-to-End

  • Regression - rerun old suites after any change; the backbone of CI.
  • Smoke - quick critical-path check of a new build (login, home, checkout).
  • Sanity - focused check that a specific fix works and did not break neighbours.
  • End-to-End - full user journey across systems (browse, cart, pay, email, refund).

Testing pyramid - many fast unit tests at base, few slow acceptance tests at top

Key Points

  • Test pyramid: many unit tests, fewer integration tests, few E2E tests.
  • Each level has a different tester and a different question.
  • Acceptance is owned by the business, not by QA.
Share this post:

Comments (0)

Please login or register to comment.

Create a free account to keep reading

You've enjoyed a free tutorial! Register (it's free) to unlock every tutorial, track your progress and save code.

or sign in with your account

Already have an account? Log in