Skip to main content

Module 2 · Testing fundamentals

Test levels and test types

Unit to acceptance, functional to non-functional, and what regression and smoke tests are for.

About 9 min reading and 5 min practice (estimates)

Loading progress…

Read

Learning objectives

  • Name the four common test levels and what each one checks.
  • Distinguish functional from non-functional testing.
  • Explain when regression and smoke tests are used.

Explanation

Test levels: how much of the system is involved

LevelWhat is testedUsually written by
UnitA single function or component in isolationDevelopers
IntegrationParts working together — e.g. the app and its database, or two servicesDevelopers and QA
SystemThe complete product, end to end, in a test environmentQA
AcceptanceWhether it meets the agreed needs of users or the businessQA with product owners or users

Test types: what quality you are checking

  • Functional: does the feature do what it should? (A promotion code reduces the total correctly.)
  • Non-functional: how well does it do it? Performance, security, usability, accessibility, compatibility across browsers and devices, localisation.
  • Regression: did a change break something that used to work? Re-run the checks that cover affected areas.
  • Smoke: a short, broad check that a build is basically usable before deeper testing — can I open the site, sign in and reach checkout?

Levels and types combine: you can run a performance test at system level, or an accessibility check on a single component. Choosing the right level matters — a rule like rounding is cheapest to check thoroughly with unit tests, while a full purchase is a system-level concern.

Example: one feature, several levels

  • Unit: the function that calculates a 10% discount returns 1.650 OMR for 16.500 OMR.
  • Integration: the cart service stores the applied code and the database row shows it.
  • System: in a browser, a shopper applies the code and sees the new total on the cart and checkout pages.
  • Acceptance: the marketing team confirms the promotion behaves as they announced it.

Common mistakes

  • Testing every rule only through the user interface, which is slow and hard to diagnose.
  • Forgetting non-functional qualities until users complain.
  • Calling any quick check a "regression test" without knowing what it covers.

Try

Practise what you just read. Answers are checked here; nothing is graded publicly or counts toward Bug Arena.

Exercise

A new build has just been deployed to the test environment. What should you run first?

Choose one answer.

Review

Check yourself — you should now be able to:

  • Name the four common test levels and what each one checks.
  • Distinguish functional from non-functional testing.
  • Explain when regression and smoke tests are used.

References

Continue

When you’re ready, mark the lesson complete in the Try step and move on.

Marked as read when you reach the end of the lesson.