Functional Testing Guide
The complete guide to functional testing — what it is, functional vs non-functional, levels, black-box techniques, types, mistakes and a general-purpose functional test checklist.
9 programs
Choose the best training program according to your career.
Improve the performance of your business with our innovative Industrial Training Program.
Read More →
Our instructor-led training classes are designed to make you an expert.
Read More →
Real-life case studies are a great way to demonstrate your practical knowledge.
Read More →
Explore blogs, latest technologies and industry updates with practical examples.
Read More →Browse all available training programs and choose the right one for your career.
Read More →Know more about who we are and what we stand for.
Discover our mission to equip individuals with essential IT skills and industry expertise.
Read More →Learn, practice and plan your career — bilkul free.
Book a free video counselling session and pick the right course for you.
Read More →Download the functional testing PDF from Uncodemy: black-box techniques, levels, a worked example and functional vs non-functional testing.
This page offers Uncodemy's functional testing guide as a PDF download. Functional testing checks that software does what its requirements say it should: the right outputs for given inputs. The guide covers black-box techniques, levels of functional testing, a worked example and how it differs from non-functional testing.
Three quick-access entry points into the same functional testing PDF: the full guide, the black-box techniques reference, and the worked loan-eligibility example with the form checklist. All PDFs on this page are free to download. No form is required.
The complete guide to functional testing — what it is, functional vs non-functional, levels, black-box techniques, types, mistakes and a general-purpose functional test checklist.
Reference card for the core black-box techniques — equivalence partitioning, boundary value analysis, decision tables, state transition testing, use case testing and error guessing.
A step-by-step walk-through of the loan-eligibility decision table, plus the general-purpose functional test checklist (mandatory fields, formats, ranges, duplicate submit, accessibility).
All three download buttons open the same functional testing PDF file. By downloading, you agree to our Privacy Policy. These PDFs are study material only — not a certificate or job guarantee.
Functional testing verifies the behaviour of a system against its functional requirements. It asks: when the user does this, does the system do what it is supposed to do? The tester provides inputs, observes outputs and compares them with the expected results derived from the requirements, without needing to know how the code is written, which is why it is called black-box testing. Examples include checking that a login accepts valid credentials, that a discount is calculated correctly and that a report exports the right rows. Functional testing is the foundation of most test suites and covers what the software does, as opposed to how well it does it.
| Aspect | Functional testing | Non-functional testing |
|---|---|---|
| Question | Does it do the right thing? | How well does it do it? |
| Based on | Functional requirements, user stories | Quality attributes such as speed, security, usability |
| Examples | Login, search, checkout, report export | Load, stress, security, usability, compatibility |
| Typical result | Pass or fail against expected output | Measurements against targets, such as response time |
| Level | Focus | Typically performed by |
|---|---|---|
| Unit | Individual functions or classes | Developers |
| Integration | Interaction between modules or services | Developers and testers |
| System | The complete application against requirements | Testers |
| User acceptance | Whether it meets business needs | Business users or clients |
Because functional testers work from requirements, they use techniques to design a manageable set of tests. Equivalence partitioning groups inputs that should behave the same and tests one from each group. Boundary value analysis tests at the edges of ranges. Decision table testing covers combinations of rules, such as discount eligibility by customer type and order value. State transition testing checks that the system moves correctly through states such as order placed, paid, shipped and delivered. Use case testing follows complete user journeys. Error guessing and exploratory testing add the tester's experience and curiosity to find what scripted cases miss.
Suppose the requirement says an applicant is eligible when age is between 21 and 60 inclusive and monthly income is at least Rs. 25,000. Equivalence partitions for age are below 21, 21 to 60 and above 60. Boundary values are 20, 21, 60 and 61. Income has partitions below and at or above 25,000, with boundaries at 24,999 and 25,000. A decision table of the two conditions gives four combinations, and only the combination of valid age and sufficient income gives eligible. The tester designs cases for each boundary and combination, and also checks input validation, such as letters in the age field, blank fields and negative numbers.
| Age 21 to 60? | Income at least 25,000? | Result |
|---|---|---|
| Yes | Yes | Eligible |
| Yes | No | Not eligible: income |
| No | Yes | Not eligible: age |
| No | No | Not eligible: age and income |
| Type | What it checks | Example |
|---|---|---|
| Unit testing | Single functions | A tax function returns the right amount |
| Integration testing | Modules together | Cart passes the right total to the payment service |
| System testing | Whole application | Complete purchase from login to confirmation |
| Smoke and sanity testing | Quick stability and focused checks | Login and main pages load on a new build |
| Regression testing | Existing features after change | Search still works after a filter update |
| User acceptance testing | Business readiness | Finance team approves the invoice workflow |
| Check | Examples |
|---|---|
| Mandatory fields | Submit with each required field empty |
| Field formats | Email, phone, date, postcode |
| Length and range limits | Minimum, maximum and just beyond |
| Special characters | Quotes, symbols, long text, spaces |
| Successful submission | Data saved and confirmation shown |
| Duplicate submission | Double-click and refresh after submit |
| Navigation | Back button, cancel, reset |
| Accessibility basics | Labels, keyboard use, error messages |
| Question | Short answer |
|---|---|
| Is functional testing the same as system testing? | No. System testing is a level; functional testing is a type of testing that can be done at several levels. |
| Can functional testing be white-box? | Unit tests written by developers check function behaviour with knowledge of the code, so functional checks can be white-box as well. |
| What is the test oracle? | The source of the expected result, such as requirements, specifications or a trusted existing system. |
Ready to design functional test suites that catch real defects? Explore Uncodemy's Software Testing course or book a free demo and learn from industry trainers.