Testing is the process of evaluating software to ensure it functions correctly, reliably, and as intended. It includes different testing levels such as unit testing, integration testing, and end-to-end (E2E) testing.

Unit Testing

Tests individual functions or components in isolation.

Key traits:

  • Fast, automated, and gives immediate feedback
  • Uses mocks or stubs to remove dependencies
  • Tools: JUnit, pytest, NUnit

Integration Testing

Verifies how multiple modules interact and exchange data.

Key traits:

  • Ensures components work together as intended
  • Can be incremental or executed all at once
  • Tools: Postman, Selenium, JUnit Integration

End-to-End (E2E) Testing

Validates full user workflows across the entire system.

Key traits:

  • Covers UI, backend, and APIs
  • Ensures real-world reliability and user experience
  • Tools: Cypress, TestCafe, Selenium

Simple Example

A login feature may go through:

Level What It Tests
Unit Test Validates the login function logic
Integration Test Verifies the login API works with the authentication system
E2E Test Ensures a real user can log in, access the dashboard, and log out

Related Terms

Web and mobile development
Home page  /  Glossary / 
Testing (Unit, Integration, E2E)

Testing (Unit, Integration, E2E)

Web and mobile development

Table of contents:

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Latest publications

All publications
top arrow icon