Pepelen
Software Testing (QA) from Scratch

Lesson

Test levels: unit, integration, system, acceptance

Learner can place a given test activity at the correct level and explain what each level checks.

1 / 6

The four test levels explained

The four test levels explained

Software testing is organized into four levels, each looking at the product through a different lens. Think of building an online shop: it has individual functions ("add to cart"), modules that talk to each other (cart + payment service), the whole storefront running together, and finally real users accepting the product. Level 1 — Component (Unit) testing: the smallest piece of code that can be tested in isolation — a single function or class. Developers typically write and run these tests, often with frameworks like JUnit or pytest. Example: test that the function calculateDiscount(price, percent) returns the correct number. Level 2 — Integration testing: checks that two or more components work correctly when combined. The focus shifts from "does this piece work alone" to "do these pieces talk to each other correctly". Example: test that the cart service correctly calls the payment API and handles the response. Level 3 — System testing: the entire assembled application is tested against its requirements. QA engineers run the full product — including the database, back-end, and front-end — in an environment that mirrors production. Example: place a complete order from product search to email confirmation and verify every step. Level 4 — Acceptance testing (UAT): the final check before release, performed by the customer or end users, to confirm the system meets their business needs. If the online shop owner clicks through typical scenarios and is satisfied, the product is accepted. Levels build on each other: each higher level covers wider scope and later-stage concerns.
Lesson notes
The four test levels explained
Software testing is organized into four levels, each looking at the product through a different lens. Think of building an online shop: it has individual functions ("add to cart"), modules that talk to each other (cart + payment service), the whole storefront running together, and finally real users accepting the product. Level 1 — Component (Unit) testing: the smallest piece of code that can be tested in isolation — a single function or class. Developers typically write and run these tests, often with frameworks like JUnit or pytest. Example: test that the function calculateDiscount(price, percent) returns the correct number. Level 2 — Integration testing: checks that two or more components work correctly when combined. The focus shifts from "does this piece work alone" to "do these pieces talk to each other correctly". Example: test that the cart service correctly calls the payment API and handles the response. Level 3 — System testing: the entire assembled application is tested against its requirements. QA engineers run the full product — including the database, back-end, and front-end — in an environment that mirrors production. Example: place a complete order from product search to email confirmation and verify every step. Level 4 — Acceptance testing (UAT): the final check before release, performed by the customer or end users, to confirm the system meets their business needs. If the online shop owner clicks through typical scenarios and is satisfied, the product is accepted. Levels build on each other: each higher level covers wider scope and later-stage concerns.
Test levels: unit, integration, system, acceptance — Software Testing (QA) from Scratch