Functional Test Cases | How to Write? (Sample)

November 28, 2023Kiruthika Devaraj
Test Management Tools for Jira_banner image

Start automating your tests 5X Faster in Simple English with Testsigma

Try for free

When it comes to software testing, functional testing is a big deal. It ensures that the software does what it’s supposed to do and meets the users’ needs. To make this happen, functional test cases are created. These cases tell us what steps to take, what results to expect, and what conditions must be met to test the software properly.

Crafting good functional test cases is an art. It requires a deep understanding of the software needs, a sharp eye for detail, and a talent for predicting potential problems. A good test case should be easy to understand, short, and concise. 

No ambiguity allowed!

This blog talks more! Read along…….

What is a Functional Test Case?

A functional test case is a set of instructions that describe how to test a specific function in a software application. It outlines the steps to take, the expected results, and the preconditions that must be in place before the test can be run. 

When writing functional test cases, it’s crucial to identify input conditions, expected outcomes, and the steps to execute the test. Clear documentation helps testers, developers, and other stakeholders understand the testing process and results. 

Functional test cases contribute to the overall quality assurance process by systematically addressing various functionalities and helping deliver reliable and error-free software to end-users.

What should a Functional Test Case have?

A functional test case should clearly define what is being tested:

  • the steps to execute the test, 
  • the expected results, and 
  • the preconditions that must be met before the test can be run. 

Here’s a summary of the key components of a functional test case:

1. Test Case Identifier: A unique identifier to easily reference the test case.

2. Test Case Description: A clear and concise description of the specific function or feature being tested.

3. Preconditions: The conditions must be in place before the test can be executed, such as logging in as a particular user or having specific data available.

4. Test Steps: A detailed list of the steps to execute the test, including inputs and actions.

5. Expected Results: The anticipated outputs or outcomes of the test.

6. Actual Results: The actual results obtained when the test is executed.

7. Pass/Fail Criteria: A precise determination of whether the test passed or failed based on comparing expected and actual results.

8. Assumptions: Any assumptions made during the test case design or execution.

9. Notes: Additional information or observations related to the test case.

How to Write a Functional Test Case?

Steps to write:

  1. Identify the Function or Feature: Clearly define the specific function or feature of the software you want to test.
  2. Understand the Requirements: Thoroughly review the software requirements to grasp the expected behavior and functionality.
  3. Determine Test Steps: Break down the testing process into detailed steps, including inputs, actions, and validations.
  4. Define Expected Results: Specify the expected outcomes or outputs for each test step.
  5. Set Preconditions: Identify the conditions to be met before executing the test.
  6. Establish Pass/Fail Criteria: Determine how you will assess whether the test passed or failed based on comparing expected and actual results.
  7. Document the Test Case: Document the test case, including its identifier, description, preconditions, test steps, expected results, and pass/fail criteria.

Examples of Functional Test Cases

Here is a table format to better understand:

FeatureTest Case DescriptionPreconditionsTest StepsExpected ResultsPass/Fail Criteria
LoginVerify successful user authenticationThe user account exists, and the password is correct1. Open the login page. 
2. Enter a valid username and password. 
3. Click the login button.
The user is redirected to the home page. 
A welcome message is displayed.
The user is redirected to the home page, and a welcome message is displayed.
SearchTest product search functionalityA search function is available, and the product catalog is loaded1. Open the product search page. 
2. Enter a valid product name in the search bar. 
3. Click the search button.
A list of matching products is displayed. 
Product details are displayed for each product.
A list of matching products is displayed with product details for each product.
Add to CartVerify product addition to the shopping cartThe user is logged in, and the product is available in stock1. Open the product page. 
2. Select the desired quantity. 
3. Click the “Add to Cart” button.
Product quantity is updated in the shopping cart icon. 
A confirmation message is displayed.
Product quantity is updated in the shopping cart icon, and a confirmation message is displayed.
CheckoutProcess a successful orderThe user is logged in, the shopping cart contains items, and payment information is valid.1. Proceed to checkout. 
2. Enter shipping and billing details. 
3. Select a payment method and provide payment information. 
4. Click the “Place Order” button.
The order confirmation page is displayed.
Order details are displayed, including shipping and payment information.
The order confirmation page displays order details, including shipping and payment information.

How to Ensure that Your Functional Test Cases Cover the Product Area?

Ensuring that your functional test cases cover all aspects of your product area is essential to delivering top-notch software. 

Here are some useful tactics to achieve this:

  1. Understand the Product Requirements: Review and analyze the requirements thoroughly to grasp the expected functionality and user behavior.
  2. Identify Testing Scenarios: Break down the product’s features and functionalities into individual testing scenarios, considering all possible user interactions, edge cases, and error conditions.
  3. Design Test Cases: For each testing scenario, create detailed functional test cases that outline the test steps, expected results, preconditions, and pass/fail criteria.
  4. Utilize Testing Tools: Leverage test management tools to efficiently organize, track, and execute test cases.
  5. Perform Exploratory Testing: Supplement your structured test cases with exploratory testing to uncover hidden defects and edge cases.
  6. Continuous Review and Update: Regularly review and update test cases as the product evolves to maintain comprehensive coverage.


To wrap things up, functional testing is a must-have in software development. It helps us make sure that the products we use work the way they should and give us a good user experience. And well-written test cases make this process even smoother.

Frequently Asked Questions

What are functional test cases and non-functional test cases?

Functional test cases validate specific functionalities of the software, ensuring they meet defined requirements. In contrast, Non-functional test cases assess performance, reliability, and usability, ensuring the software’s overall quality.

Subscribe to get all our latest blogs,
updates delivered directly to your inbox.


How to Write Test Scenarios For Swiggy?


API Examples: A Complete List of 10 Use Cases


SDET vs QA – What are the top 10 key differences?