Manual Testing · Fundamentals

Types of Testing

Beyond levels, testing comes in many types, each answering a different question about quality.

Beginner 5 min Lesson 6 of 24
Before you start:Levels of Testing
0/24 in Manual Testing
On this page · 5 min · Beginner

Learning objectives#

  • Distinguish functional and non-functional testing
  • Compare black-box, white-box and grey-box
  • Name common non-functional types
  • Choose types for a product

Explanation#

Functional testing checks what the system does against requirements (login, search, checkout).

Non-functional testing checks how well it does it: performance, security, usability, accessibility, compatibility, reliability.

Black-box testing uses inputs and outputs without seeing code; white-box uses code knowledge (statement and branch coverage); grey-box combines both, e.g. checking the database after a UI action.

Code example: Test types for a banking app#

TextTest types for a banking app Illustrative
Functional       Transfer ₹500 between own accounts → both balances update
Performance      2,000 users transfer at once → response < 2 s
Security         Change account ID in the request → access denied
Usability        New user completes a transfer without help in < 2 min
Accessibility    Screen reader announces every form field
Compatibility    Works on Chrome, Safari, Android 12+, iOS 16+
Grey-box         After transfer, check the Transactions table has 2 rows
Expected output
A balanced test strategy mixes functional and non-functional types based on risk.

This example is illustrative. Copy or download it and run it in your own environment; the expected output is shown above.

Step-by-step explanation#

  1. Start with functional coverage of requirements.
  2. Add non-functional types that matter for the domain.
  3. Use grey-box checks to confirm data changes.
  4. Prioritise security for financial data.

Real-world use case#

A test strategy document lists which types apply to a release and who performs them.

Common mistakes#

Testing only functionality

A correct but slow, insecure or inaccessible app still fails users.

Calling every test “regression”

Use precise terms so the team understands the purpose of each test.

Best practices#

  • Cover functional and non-functional risks
  • Use grey-box checks for data
  • Include accessibility from the start
  • Match test types to the domain

Remember this#

Functional = what. Non-functional = how well.

Black-box (no code), white-box (code), grey-box (both).

Pick types by risk.

Practice exercise#

Your task: Is checking that a page loads in under 3 seconds functional or non-functional?

Show solution
Text Illustrative
Non-functional (performance).

Mini quiz#

Types of Testing quizMultiple choice Question 1 of 1

Testing with knowledge of the internal code is called…

Score so far: 0/0

Want more? Practise all Manual Testing MCQs · Manual Testing interview questions

My notes#

Saved in this browser.

Progress is saved in this browser. Sign in to sync.