QA ENGINEER • FUNCTIONAL ANALYSIS

Functional Analysis
User Stories

This section showcases functional analysis activities performed from a QA Engineer perspective, including user story review, acceptance criteria definition, edge case identification, API-level reasoning, and UAT support.

The examples below are based on the Demo Web App – User Management , a QA demo project including UI, API and functional testing.

1. Create New User – UI Flow

Project: Demo Web App – User Management
Role: QA Engineer with Functional Analysis responsibilities

User Story

As an administrator, I want to create a new user through a form, so that I can manage platform access.

Functional Requirements

  • Create user with First Name, Last Name, Email and Role
  • All fields are mandatory
  • Email must be unique
  • User is saved and visible in the users list
  • Success message is displayed

Acceptance Criteria

AC1 – All mandatory fields must be filled
AC2 – Email must be unique
AC3 – Email must have a valid format
AC4 – Created user appears in the users list
AC5 – Success message is displayed
      

Functional Analysis Notes

  • Email uniqueness is case-insensitive
  • Form resets after successful submission
  • Role selection affects permissions
  • Backend errors must be handled gracefully

2. API Functional Story – POST /users

API User Story

As a system administrator, I want to create users via API, so that frontend and external systems can persist users consistently.

Endpoint

POST /users

Request Payload

{
  "firstName": "John",
  "lastName": "Doe",
  "email": "john.doe@mail.com",
  "role": "USER"
}
      

Acceptance Criteria

AC1 – Valid request returns 201 Created
AC2 – Duplicate email returns 409 Conflict
AC3 – Missing mandatory fields return 400 Bad Request
AC4 – Invalid role returns 400 Bad Request
      

3. Negative Flow – Error Handling

As an administrator, I want to receive clear error messages when something goes wrong, so that I understand how to proceed.
  • Backend service unavailable
  • Validation error from API
  • Timeout during user creation
AC1 – Clear error message is displayed
AC2 – No partial user is created
AC3 – User can retry the action
      

4. Edit & Delete User – Advanced Flow

As an administrator, I want to edit or delete existing users, so that I can keep user data accurate and up to date.
  • Edit user details except email
  • Email field is read-only
  • Delete user with confirmation
  • Deleted user is removed from the list
AC1 – Edited user data is saved correctly
AC2 – Email field is read-only during edit
AC3 – Deleted user no longer appears in the list
AC4 – Deletion requires confirmation
      
← Back to Functional Index