-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Objective
Enhance the existing exam mode to match authentic ServiceNow certification exam functionality, including question navigation, review flagging, timer management, automatic submission, and flexible exam configuration options.
Description
Modify the current exam simulation to replicate the actual ServiceNow certification exam experience with customizable settings, where users can configure exam duration and question count, navigate freely between questions, flag questions for review, work within a strict time limit, and get automatic submission when time expires - all without seeing correct/incorrect feedback until the very end.
Expected Features
Exam Configuration (Pre-Start)
- Time Limit Selection: Configurable exam duration (default: 90 minutes)
- Predefined options: 30min, 45min, 60min, 90min, 120min, 180min
- Custom time input option (5min - 300min range)
- No time limit option for pure practice mode
- Question Count Selection: Choose number of questions
- "All Questions" option (use entire question pool)
- Random selection: 20, 40, 60, 80, 100 questions
- Custom number input (min 5, max = total available)
- Smart random selection ensuring domain coverage
- Exam Preview: Show selected configuration before starting
- Display: X questions, Y minutes, estimated Z min per question
- Domain coverage preview for random selections
Question Navigation
- Free Navigation: Ability to go forward, backward, and jump to any question number
- Question List Overview: Panel showing all question numbers with completion status
- Direct Question Access: Click on any question number to jump directly to it
- Navigation Controls: Previous/Next buttons plus question number selector
Review Flagging System
- Review Flag: Checkbox or button to mark questions for later review
- Visual Indicators: Clear visual distinction for flagged questions in question list
- Review Filter: Option to show only flagged questions in the overview
- Flag Status Persistence: Maintain review flags throughout the exam session
Timer Management
- Configurable Timer: Countdown timer with user-selected duration
- Time Warnings: Visual/audio alerts at 15min, 5min, and 1min remaining
- Timer Display: Always visible timer in corner or header
- Automatic Submission: Exam auto-submits when timer reaches 00:00
- No Time Extensions: Timer cannot be paused or extended once started
- No Timer Mode: Option for untimed practice sessions
Question Status Tracking
- Answered Status: Visual indication of which questions have been answered
- Unanswered Status: Clear identification of skipped questions
- Review Status: Distinct marking for questions flagged for review
- No Correctness Feedback: No indication of right/wrong answers during exam
Final Review Phase
- Pre-Submission Review: Complete overview of all questions before final submission
- Status Summary: Count of answered, unanswered, and flagged questions
- Quick Navigation: Jump to any question from the review screen
- Time-Aware Submission: Show remaining time during final review
- Final Submission: Only show results after explicit submission OR timer expiry
Acceptance Criteria
- Users can configure exam duration and question count before starting
- Random question selection ensures balanced domain coverage
- Users can navigate freely between any questions in any order
- Review flagging system works consistently throughout the exam
- Timer counts down accurately and is always visible (when enabled)
- Exam auto-submits when timer reaches zero (when timer enabled)
- Time warnings appear at appropriate intervals
- Question status (answered/unanswered/flagged) is clearly visible
- No correctness feedback is shown until final submission
- Final review screen shows complete exam status with remaining time
- Navigation performance is smooth with large question sets
- Mobile interface supports all configuration, navigation, flagging, and timer features
- All exam progress is preserved during navigation and timer warnings
Exam Configuration Interface
Pre-Exam Setup Screen:
-
Time Limit Section:
- Radio buttons for common durations (30, 45, 60, 90, 120, 180 minutes)
- "Custom" option with number input field
- "No Time Limit" option for practice mode
- Default: 90 minutes selected
-
Question Selection Section:
- "All Questions" option (shows total count, e.g., "All 150 questions")
- "Random Selection" with dropdown (20, 40, 60, 80, 100)
- "Custom Number" with input field
- Smart preview showing domain distribution for random selections
-
Configuration Preview:
- Summary box: "90 minutes • 60 questions • ~1.5 min per question"
- Domain coverage indicator for random selections
- Estimated difficulty distribution
- "Start Exam" button to begin with selected configuration
Smart Random Selection:
- Domain Proportional: Maintain proportion of questions from each ServiceNow domain
- Difficulty Balanced: Include mix of easy/medium/hard questions when available
- Avoid Duplicates: Never select the same question twice in random mode
- Coverage Guarantee: Ensure all major domains represented (minimum 1 question each)
Timer Implementation
Configurable Time Limits:
- Default Options: 30, 45, 60, 90, 120, 180 minutes
- Custom Range: 5 minutes (minimum) to 300 minutes (maximum)
- No Timer: Practice mode without time pressure
- Saved Preferences: Remember user's preferred time settings
Timer Warnings (when enabled):
- 15 minutes remaining: Yellow warning notification
- 5 minutes remaining: Orange warning with sound alert
- 1 minute remaining: Red critical warning with persistent sound
- 30 seconds remaining: Final countdown display
- Time expired: Automatic submission with confirmation message
Timer Behavior:
- Start Trigger: Timer starts immediately when exam begins (if enabled)
- Continuous Running: Timer runs continuously, cannot be paused
- Background Persistence: Timer continues even if browser is minimized
- Auto-Save: Answers auto-save every 30 seconds to prevent data loss
- Warning Dismissal: Warnings can be dismissed but timer continues
- No Timer Mode: No warnings or auto-submission, pure practice mode
Question Selection Logic
All Questions Mode:
- Use complete question pool from loaded exam
- Maintain original question order or randomize (user preference)
- Full domain coverage guaranteed
Random Selection Mode:
- Proportional Sampling: Select questions proportional to domain size
- If ITSM has 40% of questions, random selection includes ~40% ITSM
- Difficulty Distribution: Maintain original difficulty distribution when possible
- Domain Coverage: Guarantee at least 1 question from each major domain
- Seed-Based Random: Use timestamp as seed for reproducible "random" selection
Custom Number Selection:
- Input validation (minimum 5, maximum = total available)
- Smart suggestions based on typical exam lengths
- Warning if number is very small or very large
- Domain coverage preview for custom selections
User Interface Design
Configuration Screen:
- Clean, wizard-style interface for exam setup
- Visual indicators for popular choices (90min, 60 questions)
- Real-time preview of configuration effects
- Clear "Start Exam" call-to-action button
Timer Display (when enabled):
- Always visible countdown timer (MM:SS format)
- Color coding: Green (>15min), Yellow (5-15min), Orange (1-5min), Red (<1min)
- Position: Top-right corner or dedicated timer bar
- Warning overlays for critical time remaining
Question Navigation Bar:
- Question numbers grid (1, 2, 3... with status colors)
- Current question highlight
- Status indicators: Answered (filled), Unanswered (empty), Flagged (starred)
- Direct click navigation to any question
- Adaptive layout for different question counts (60 vs 150 questions)
Question Display:
- "Flag for Review" checkbox prominently displayed
- Clear Previous/Next navigation buttons
- Question counter (e.g., "Question 15 of 60")
- Remaining time always visible (when timer enabled)
- No visual feedback on answer correctness
Technical Implementation
Configuration Storage:
- Save user preferences for time limits and question counts
- Store current exam configuration in session state
- Restore configuration on browser refresh/crash
- Export configuration with exam results
Random Selection Algorithm:
function selectRandomQuestions(allQuestions, targetCount) {
// Group questions by domain
const domainGroups = groupByDomain(allQuestions);
// Calculate proportional selection per domain
const selections = calculateProportionalSelection(domainGroups, targetCount);
// Ensure minimum coverage (at least 1 per major domain)
const finalSelection = ensureMinimumCoverage(selections);
return shuffleArray(finalSelection);
}
Timer System (when enabled):
- JavaScript setInterval for accurate countdown
- Web Workers for background timer persistence
- localStorage backup for timer state
- Server sync for timer verification (if backend available)
- Automatic submission trigger at 00:00
Configuration Validation:
- Validate time limits within allowed range
- Ensure question counts don't exceed available questions
- Warn about extreme configurations (very short time, very few questions)
- Prevent invalid combinations
Workflow Changes
Exam Configuration:
- Select desired time limit (default 90min)
- Choose question count/selection method
- Review configuration preview
- Confirm and start exam
Exam Start:
- Questions selected based on configuration
- Timer begins immediately (if enabled)
- Navigate to first question
- Auto-save system activated
During Exam:
- Answer questions in any order
- Flag uncertain questions for review
- Navigate freely using question overview or controls
- Monitor timer and respond to warnings (if enabled)
- No feedback on correctness during exam
Final Minutes (timed mode):
- Critical time warnings appear
- Focus on unanswered questions
- Quick review of flagged questions
- Prepare for auto-submission
Before Manual Submission:
- Review flagged questions if time permits
- Check question overview for unanswered questions
- Final confirmation before submission
- Warning about no ability to return after submission
After Submission:
- Complete results with correct/incorrect feedback
- Time taken and time management analysis (if timed)
- Configuration summary in results
- Detailed explanation for all questions
- Performance analytics and recommendations
Estimation
Complexity: Extra Large (XL)
Estimated Time: 4-5 days
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request