Types of Testing
Beyond levels, testing comes in many types, each answering a different question about quality.
On this page · 5 min · Beginner
On this page
- Learning objectives
- Explanation
- Code example
- Step by step
- Real-world use
- Common mistakes
- Best practices
- Remember this
- Practice exercise
- Mini quiz
- Related topics
- My notes
- Reading time
- 5 min
- Difficulty
- Beginner
- Updated
- Oct 29, 2026
Related tutorials
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#
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
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#
- Start with functional coverage of requirements.
- Add non-functional types that matter for the domain.
- Use grey-box checks to confirm data changes.
- 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#
A correct but slow, insecure or inaccessible app still fails users.
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
Non-functional (performance).
Mini quiz#
Testing with knowledge of the internal code is called…
Want more? Practise all Manual Testing MCQs · Manual Testing interview questions
My notes#
Saved in this browser.