Requirements engineering · Individual
Quiz System Requirements
From a lecturer's email with wishes for a quiz tool to a full set of requirements: numbered requirement statements, epics and user stories, and BDD scenarios in Gherkin that can be tested.
- Team Individual assignments
- Course Requirements Engineering, UAS Technikum Wien
- When Spring 2026
- 15 functional requirements
- 3 + 2 quality requirements and boundary conditions
- 15 user stories in 3 epics
- 19 Gherkin scenarios in 5 features
The customer's need
A lecturer wanted a tool to create quizzes for lectures, self-study and assessment. The wishes were informal and spread across one email, so the job was to turn them into requirements a developer can build and test.
- Several question types, including surveys with no right answer
- Reuse questions across courses and find them quickly
- Set date, time, duration and question order
- Compare attempts to show learning progress
- Up to 50 students at once, on any device
- Developed in BDD style
Four steps
- Numbering Compared hierarchical and ID-based schemes for traceability
- Requirements 15 functional, 3 quality, 2 boundary, written from templates
- User stories 3 epics, 15 stories, acceptance criteria, 2 roles
- BDD 5 Gherkin features, 19 scenarios with error and edge cases
One requirement, traced all the way
Every item points back to the one before it, so a failing test can be followed to the customer need it protects.
- Need "Various question types"
- FR-001 The system shall allow the lecturer to create quiz questions of type single choice.
- US-01.01 As a lecturer, I want to create single-choice questions so that I can assess basic knowledge quickly.
- AC-01.01 Given I mark exactly one correct answer and save, then the system stores it as a single-choice question.
Feature: FR-001 Create single-choice quiz questions
Scenario: Reject a question when more than one answer is marked as correct
Given a lecturer enters the question "Which number is even?"
And the lecturer provides 4 answer options: "2", "3", "4" and "5"
And the lecturer marks "2" and "4" as correct
When the lecturer saves the question
Then the question is not stored
And the lecturer is informed that exactly 1 correct answer must be selected
The five feature files
Each file covers one functional requirement, with concrete numbers and the cases where the system should say no.
- FR-001 Create single-choice questions3 scenarios
- FR-008 Build a quiz from existing questions3 scenarios
- FR-011 Schedule date, start time and duration5 scenarios
- FR-013 Compare results with earlier attempts5 scenarios
- FR-015 Generate a report when the quiz ends3 scenarios
FR-011 tests the exact edges: the quiz opens at 10:00, is closed at 09:59, and closes again after 60 minutes.
What I learned
- Stable IDs make it possible to trace a requirement both forward to code and back to the customer
- Vague wishes become testable once they have concrete numbers, like "within 2 seconds" or "50 students"
- Error and edge cases belong in the requirements, not only in the tests