Functional requirement

Functional requirement image

What is a functional requirement? 

A functional requirement spells out what your software must actually do—the features and behaviors it needs to work properly. Unlike non-functional requirements that deal with how well something works, functional requirements focus on what the system must accomplish to meet user needs. 

Do you have any examples of functional requirements? 

Let's look at a login system. Its functional requirements specify exactly what must happen for users to access their accounts. 

The system needs to let users: 
  • Enter their username and password
  • Validate their credentials against stored data
  • Limit failed attempts to prevent brute force attacks
  • Provide password reset functionality

Each of these requirements defines a specific action the system must perform. 

Why is a functional requirement important? 

Functional requirements create a shared understanding between developers, testers, and stakeholders about exactly what the software needs to do. They're your checklist for success—if your software doesn't meet these requirements, it simply isn't complete. They also form the foundation for your test cases, helping ensure nothing crucial gets missed. 

What are the challenges with functional requirements? 

Writing clear functional requirements is harder than it looks. 

Requirements like "the system should be user-friendly" are too vague to test, while "the login button must be blue" is too specific and restrictive. Finding the right balance takes practice. Requirements also tend to change as projects evolve, creating a constant challenge to keep documentation and tests in sync with the latest needs. 
Functional requirements are requirements used to describe a system’s intended behaviour. These often act as the base for all the development and testing work to begin. For example: "The system allows users to export reports in PDF format."
RiskStorming image
An educational tool to explore Risk Analysis and Quality Strategy building with the whole team.
Explore MoT
Software Testing Live: Episode 02: Access All Areas image
Software Testing Live: Episode 02: Access All Areas with Jane D'Cruz
MoT Foundation Certificate in Test Automation
Unlock the essential skills to transition into Test Automation through interactive, community-driven learning, backed by industry expertise
This Week in Testing
Debrief the week in Testing via a community radio show hosted by Simon Tomes and members of the community
Subscribe to our newsletter
We'll keep you up to date on all the testing trends.