27 KiB
Movement System - Manual Testing Checklist (Stage 9 Refactored)
Overview
Comprehensive manual testing procedures для Movement System после архитектурного рефакторинга на Pipeline Processor pattern.
Version: Stage 9 (Post-Refactoring)
Architecture: Functional Core + Imperative Shell
Test Focus: Verify behavior parity + new architecture stability
Pre-Testing Setup
Environment Preparation
- Launch level:
TestLevel_Movement(или basic test map) - Place BP_MainCharacter with AC_Movement component
- Verify AC_DebugHUD component attached
- Enable ShowVisualDebug in debug HUD
- Set GameTimeScale = 1.0 (normal speed)
Debug HUD Verification
- Debug page "Movement Info" visible
- All fields updating in real-time:
- Current Velocity
- Speed
- Is Grounded
- Surface Type
- Movement State
- Rotation data
- Collision Count
Component Initialization Check
- AC_Movement.IsInitialized = true (visible in debug HUD)
- CapsuleComponent reference set
- Config values displaying correctly
- AngleThresholds converted to radians
TEST SUITE 1: Basic Movement & Physics
Test 1.1: Idle State
Objective: Verify default state on spawn
Procedure:
- Spawn character
- Do not provide any input
- Observe for 5 seconds
Expected Results:
- Movement State:
Idle - Velocity: (0, 0, 0) or near-zero
- Speed: 0.0
- Is Grounded:
true - Character not moving
- No rotation occurring
Pass Criteria: All checks pass ✅
Test 1.2: Forward Movement (Acceleration)
Objective: Verify smooth acceleration from standstill
Procedure:
- Start from Idle state
- Press W (forward) fully
- Observe velocity increase
- Release W after 2 seconds
Expected Results:
- Movement State changes:
Idle→Walking - Velocity.X increases smoothly (not instant)
- Speed reaches ~800 cm/s (MaxSpeed)
- Acceleration curve is smooth (VInterpTo behavior)
- Character rotates to face forward (Yaw → 0°)
- Visual debug shows green trace lines
Measurements:
- Time to reach MaxSpeed: ~1-2 seconds
- Final Speed: 800 ± 50 cm/s
Pass Criteria: Smooth acceleration, no jerking ✅
Test 1.3: Friction (Deceleration)
Objective: Verify smooth deceleration when input released
Procedure:
- Reach MaxSpeed (from Test 1.2)
- Release W (no input)
- Observe velocity decrease
- Wait until full stop
Expected Results:
- Movement State changes:
Walking→Idle - Velocity decreases smoothly (VInterpTo)
- Speed → 0.0
- Character continues sliding briefly (natural friction)
- Final stop is smooth, not abrupt
Measurements:
- Stopping time: ~1-1.5 seconds (depends on Friction = 8.0)
- Stopping distance: ~600-800 cm
Pass Criteria: Smooth deceleration, natural feel ✅
Test 1.4: Directional Movement (WASD)
Objective: Verify all cardinal directions
Procedure:
- Test each direction individually:
- W (forward, X+)
- S (backward, X-)
- A (left, Y-)
- D (right, Y+)
- For each direction:
- Accelerate to MaxSpeed
- Verify rotation
- Verify velocity vector
Expected Results:
| Input | Target Yaw | Velocity Direction | Pass |
|---|---|---|---|
| W | 0° | (1, 0, 0) | [ ] |
| S | 180° | (-1, 0, 0) | [ ] |
| A | -90° | (0, -1, 0) | [ ] |
| D | 90° | (0, 1, 0) | [ ] |
- All directions reach MaxSpeed
- Rotation targets correct yaw
- Smooth transitions between directions
Pass Criteria: All 4 directions work correctly ✅
Test 1.5: Diagonal Movement
Objective: Verify combined input vectors
Procedure:
- Press W+D simultaneously (northeast)
- Observe velocity and rotation
- Repeat for all diagonals:
- W+D (northeast)
- W+A (northwest)
- S+D (southeast)
- S+A (southwest)
Expected Results:
- Velocity vector is normalized diagonal
- Speed still reaches MaxSpeed (not faster on diagonals)
- Rotation faces correct diagonal direction
- Smooth movement, no stuttering
Diagonal Angles:
- W+D: 45°
- W+A: -45°
- S+D: 135°
- S+A: -135°
Pass Criteria: Diagonals work, no speed advantage ✅
Test 1.6: Rotation Speed
Objective: Verify character rotates at correct speed
Procedure:
- Face forward (W)
- Switch to backward (S) input
- Measure rotation time
- Verify rotation speed
Expected Results:
- Rotation Delta decreases smoothly
- Is Rotating:
trueduring rotation - Rotation Speed: 360°/sec (default config)
- 180° rotation takes ~0.5 seconds
- Character doesn't snap, rotates smoothly
Measurements:
- Start Yaw: 0°
- End Yaw: 180°
- Rotation Time: 0.5 seconds ± 0.1s
- Calculated Speed: ~360°/sec
Pass Criteria: Rotation smooth and matches config ✅
Test 1.7: Min Speed For Rotation
Objective: Verify rotation threshold (MinSpeedForRotation)
Procedure:
- Set MinSpeedForRotation = 50.0 in Config
- Apply very light input (analog stick barely pressed)
- Observe speed and rotation
Expected Results:
- Speed < 50 cm/s: Is Rotating =
false - Speed > 50 cm/s: Is Rotating =
true - Character doesn't jitter when nearly stopped
- Clean threshold behavior
Pass Criteria: Threshold prevents rotation jitter ✅
TEST SUITE 2: Ground Detection & Snapping
Test 2.1: Ground Detection (Flat Surface)
Objective: Verify basic ground detection
Procedure:
- Stand on flat ground
- Observe debug info
- Verify ground trace (visual debug)
Expected Results:
- Is Grounded:
true - Surface Type:
Walkable - Ground Hit has valid BlockingHit
- Ground trace line visible (downward from capsule)
- Trace distance: GroundTraceDistance (50 cm default)
Pass Criteria: Ground detected correctly ✅
Test 2.2: Ground Snapping
Objective: Verify character stays on ground (no floating)
Procedure:
- Walk across slightly uneven terrain
- Walk down small slopes (< 10°)
- Observe Z position
Expected Results:
- Character stays on ground (no floating)
- Z position updates to follow terrain
- No visible jitter or bouncing
- Smooth transition over bumps
Visual Check:
- No air gap between capsule and ground
- Feet always touching surface (if model has feet)
Pass Criteria: Perfect ground contact ✅
Test 2.3: Airborne State
Objective: Verify loss of ground contact
Procedure:
- Walk character off platform edge
- Observe state transition
- Monitor gravity application
Expected Results:
- Movement State:
Walking→Airborne - Is Grounded:
true→false - Surface Type:
Walkable→None - Gravity starts applying (Velocity.Z decreasing)
- Ground trace shows no hit
Gravity Check:
- Velocity.Z decreases by ~980 cm/s² (Gravity)
- Character falls realistically
Pass Criteria: Proper air state, gravity works ✅
Test 2.4: Landing
Objective: Verify return to ground state
Procedure:
- Jump/fall from elevated position
- Land on flat ground
- Observe state transition
Expected Results:
- Movement State:
Airborne→IdleorWalking - Is Grounded:
false→true - Velocity.Z: negative → 0 (upon landing)
- Smooth landing, no bounce
- Ground snapping activates
Pass Criteria: Clean landing transition ✅
TEST SUITE 3: Surface Classification
Test 3.1: Walkable Surface (≤50°)
Objective: Verify walkable angle threshold
Test Setup:
- Create ramp at 30° angle
- Create ramp at 50° angle (boundary)
Procedure:
- Walk up 30° ramp
- Walk up 50° ramp
- Observe Surface Type
Expected Results:
- 30° ramp: Surface Type =
Walkable - 50° ramp: Surface Type =
Walkable(boundary) - Normal movement possible on both
- Character doesn't slide
Pass Criteria: Walkable threshold correct ✅
Test 3.2: Steep Slope (50°-85°)
Objective: Verify steep slope detection
Test Setup:
- Create ramp at 60° angle
- Create ramp at 80° angle
Procedure:
- Walk onto 60° slope
- Observe Surface Type change
- Test on 80° slope
Expected Results:
- Surface Type =
SteepSlope - Movement State =
Sliding - Character starts sliding (future feature: will implement physics)
- Input may not prevent sliding
Note: Sliding physics not yet implemented (Stage 11+), but classification should work.
Pass Criteria: Classification correct ✅
Test 3.3: Wall (85°-95°)
Objective: Verify wall detection
Test Setup:
- Walk into vertical wall (90° angle)
Procedure:
- Walk directly into wall
- Observe collision response
- Check Surface Type
Expected Results:
- Surface Type =
Wall - Movement State =
Blocked - Character stops at wall
- Collision sweep detects hit
- Is Blocked:
true
Pass Criteria: Wall blocks movement ✅
Test 3.4: Ceiling (>95°)
Objective: Verify ceiling detection
Test Setup:
- Walk under low ceiling
- Create overhang at >95° angle
Procedure:
- Walk under ceiling geometry
- Observe Surface Type if hit
Expected Results:
- Surface Type =
Ceiling(if hit occurs) - Character blocked from moving into ceiling
- Proper collision response
Note: Ceiling detection may be rare in normal gameplay.
Pass Criteria: Ceiling classified correctly ✅
TEST SUITE 4: Collision System
Test 4.1: Wall Collision (Front)
Objective: Verify frontal collision detection
Procedure:
- Run directly into wall at MaxSpeed
- Observe sweep collision
- Check collision response
Expected Results:
- Character stops at wall surface
- No tunneling through wall
- Is Blocked:
true - Collision Count: >0 (visible in debug)
- Visual debug shows red hit marker at impact point
- Character position: exactly at wall surface
Collision Accuracy:
- No penetration into wall geometry
- Stop position consistent across tests
Pass Criteria: Perfect collision stop ✅
Test 4.2: Surface Sliding (Angled Wall)
Objective: Verify slide vector calculation
Procedure:
- Run into wall at 45° angle
- Observe sliding behavior
- Test various angles
Expected Results:
- Character slides along wall surface
- Slide direction perpendicular to hit normal
- No stuck behavior
- Smooth sliding motion
- Speed maintained during slide
Test Angles:
- 15° angle: Mostly forward, slight slide
- 45° angle: Equal forward + slide
- 75° angle: Mostly slide, little forward
Pass Criteria: Smooth sliding on all angles ✅
Test 4.3: Corner Navigation
Objective: Verify multi-collision handling
Procedure:
- Run into 90° corner (two walls meeting)
- Attempt to move into corner
- Observe collision response
Expected Results:
- Character stops cleanly at corner
- No jittering or oscillation
- Collision Count reasonable (<MaxCollisionChecks)
- Character doesn't get stuck
- Can back away from corner
Pass Criteria: Corner handling smooth ✅
Test 4.4: Swept Collision Precision
Objective: Verify tunneling prevention
Test Setup:
- Create thin wall (10 cm thick)
- Set MaxSpeed very high (2000 cm/s) temporarily
Procedure:
- Run at thin wall at max speed
- Verify no tunneling
- Check collision detection
Expected Results:
- No tunneling through thin geometry
- Swept trace catches all collisions
- Adaptive step size working
- Collision Count increases with speed
- Character always stops at surface
Performance Check:
- Collision Count < MaxCollisionChecks (25)
- Frame time acceptable (<2ms)
Pass Criteria: No tunneling at high speeds ✅
Test 4.5: Collision Check Limit
Objective: Verify MaxCollisionChecks safety
Test Setup:
- Create complex collision geometry (many overlapping walls)
- Set MinStepSize = 1.0 (fine precision)
Procedure:
- Move through complex area
- Monitor Collision Count
- Verify limit prevents infinite loop
Expected Results:
- Collision Count never exceeds MaxCollisionChecks (25)
- No freezing or infinite loops
- Movement continues even if limit hit
- Character may stop short but doesn't hang
Debug HUD Check:
- Collision Checks: X/25
- Should rarely hit 25 in normal gameplay
Pass Criteria: Limit prevents hangs ✅
TEST SUITE 5: State Machine
Test 5.1: Idle → Walking Transition
Objective: Verify state transition on input
Procedure:
- Start in Idle state (no input)
- Press W (forward)
- Observe state change
Expected Results:
- Movement State:
Idle→Walking - Transition occurs when:
- Input Magnitude > 0.01
- Speed > 1.0 cm/s
- Clean transition, no flicker
Pass Criteria: Transition instant and clean ✅
Test 5.2: Walking → Idle Transition
Objective: Verify state transition on input release
Procedure:
- Reach Walking state (moving)
- Release all input
- Observe state change
Expected Results:
- Movement State:
Walking→Idle - Transition occurs when:
- Input Magnitude ≤ 0.01
- Speed ≤ 1.0 cm/s (after friction)
- Brief delay due to friction deceleration
Pass Criteria: Transition smooth after stop ✅
Test 5.3: Walking → Airborne Transition
Objective: Verify state change when leaving ground
Procedure:
- Walk off platform edge
- Observe immediate state change
Expected Results:
- Movement State:
Walking→Airborne - Transition instant (same frame as IsGrounded = false)
- No intermediate states
Pass Criteria: Instant transition ✅
Test 5.4: Airborne → Walking Transition
Objective: Verify landing state change
Procedure:
- Fall/jump and land
- Have forward input during landing
Expected Results:
- Movement State:
Airborne→Walking - If input present: lands in Walking
- If no input: lands in Idle
- Speed preserved from air movement
Pass Criteria: Landing state correct ✅
Test 5.5: Walking → Blocked Transition
Objective: Verify blocked state on collision
Procedure:
- Run into wall
- Observe state change
Expected Results:
- Movement State:
Walking→Blocked - Occurs when:
- Sweep collision detected
- Is Blocked = true
- State returns to Walking when moving away from wall
Pass Criteria: Blocked state triggers correctly ✅
Test 5.6: Walking → Sliding Transition
Objective: Verify steep slope detection
Test Setup:
- Create steep ramp (60°-85°)
Procedure:
- Walk onto steep ramp
- Observe state change
Expected Results:
- Movement State:
Walking→Sliding - Surface Type =
SteepSlope - State persists while on steep surface
Note: Sliding physics not implemented yet, but state should be set.
Pass Criteria: State classification correct ✅
TEST SUITE 6: Data Flow & Architecture
Test 6.1: State Immutability
Objective: Verify state is never mutated
Procedure:
- Add debug logging in AC_Movement.ProcessMovementInput()
- Log CurrentMovementState before ProcessMovement()
- Log CurrentMovementState after ProcessMovement()
- Move character
Expected Results:
- Old state object unchanged (log shows same values)
- New state object has different memory address
- State transformation is pure (same input → same output)
Technical Check:
// Before
console.log(this.CurrentMovementState.Location);
const oldState = this.CurrentMovementState;
// Process
this.CurrentMovementState = BFL_MovementProcessor.ProcessMovement(...);
// After
console.log(oldState.Location === this.CurrentMovementState.Location); // false
Pass Criteria: State never mutated ✅
Test 6.2: Pipeline Phase Execution
Objective: Verify all 6 phases execute in order
Procedure:
- Add debug logging in BFL_MovementProcessor.ProcessMovement()
- Log entry to each phase
- Move character
- Verify log output
Expected Phases (in order):
- PHASE 1: Input & Rotation
- PHASE 2: Ground Detection
- PHASE 3: Physics Calculation
- PHASE 4: Movement Application (Sweep)
- PHASE 5: Ground Snapping
- PHASE 6: State Determination
Log Output Example:
[ProcessMovement] PHASE 1: Input & Rotation
[ProcessMovement] PHASE 2: Ground Detection
[ProcessMovement] PHASE 3: Physics Calculation
[ProcessMovement] PHASE 4: Movement Application
[ProcessMovement] PHASE 5: Ground Snapping
[ProcessMovement] PHASE 6: State Determination
[ProcessMovement] Return new state
Pass Criteria: All phases execute in correct order ✅
Test 6.3: Subsystem Independence
Objective: Verify modules don't have hidden dependencies
Procedure:
- Test each BFL_* module in isolation (if possible via unit tests)
- Verify no shared global state
- Confirm pure function behavior
Modules to Test:
- BFL_Kinematics (pure physics math)
- BFL_RotationController (pure rotation math)
- BFL_SurfaceClassifier (pure classification)
- BFL_MovementStateMachine (pure FSM logic)
Expected Results:
- Each module works independently
- No unexpected side effects
- Same input always produces same output (determinism)
Pass Criteria: Full module independence ✅
Test 6.4: Configuration Isolation
Objective: Verify DA_MovementConfig is read-only
Procedure:
- Create two characters with different configs
- Change MaxSpeed on Character A
- Verify Character B unaffected
Expected Results:
- Character A uses Config A
- Character B uses Config B
- No config bleeding between instances
- Each AC_Movement has own Config instance
Pass Criteria: Config properly isolated ✅
TEST SUITE 7: Debug & Visualization
Test 7.1: Debug HUD Updates
Objective: Verify all debug fields update in real-time
Procedure:
- Enable debug HUD
- Perform various movements
- Observe all fields updating
Fields to Verify:
- Current Velocity (changes with movement)
- Speed (0-800 range)
- Is Grounded (true/false toggle)
- Surface Type (changes on different surfaces)
- Movement State (FSM state transitions)
- Input Magnitude (0-1 range)
- Current Yaw (rotation angle)
- Rotation Delta (decreases to 0)
- Is Rotating (true/false)
- Collision Checks (varies with speed)
- Sweep Blocked (true when hitting wall)
Update Frequency:
- Should update every frame
- No stale data
- Smooth value transitions
Pass Criteria: All fields live and accurate ✅
Test 7.2: Visual Debug (Traces)
Objective: Verify debug trace rendering
Procedure:
- Enable ShowVisualDebug = true
- Move character
- Observe visual traces in world
Expected Traces:
- Ground trace (downward line from capsule)
- Green if hit
- Red if no hit
- Swept collision traces (capsule path)
- Multiple traces showing steps
- Red markers at collision points
- Traces persist briefly (ForDuration mode)
Pass Criteria: Visual debug clear and helpful ✅
Test 7.3: Config Display
Objective: Verify config constants shown in debug
Procedure:
- Open debug HUD
- Verify all config values visible
Constants to Check:
- Max Speed: 800.0
- Acceleration: 10.0
- Friction: 8.0
- Gravity: 980.0
- Rotation Speed: 360.0
- Min Speed For Rotation: 50.0
- Ground Trace Distance: 50.0
Pass Criteria: All config values accurate ✅
TEST SUITE 8: Performance
Test 8.1: Frame Time
Objective: Verify movement processing stays under budget
Procedure:
- Enable UE profiler (stat game)
- Move character continuously
- Observe AC_Movement tick time
Expected Results:
- Average frame time: 0.3-0.7ms
- Max frame time: <1.5ms
- No spikes above 2ms
- Consistent performance
Budget: <1ms target for 60 FPS
Pass Criteria: Performance within budget ✅
Test 8.2: Collision Check Count
Objective: Verify sweep efficiency
Procedure:
- Move at various speeds
- Monitor Collision Count in debug HUD
- Test complex geometry
Expected Results:
- Low speed: 1-3 checks
- Medium speed: 3-8 checks
- High speed: 8-15 checks
- Complex geometry: <20 checks
- Never hits MaxCollisionChecks (25) in normal gameplay
Pass Criteria: Checks reasonable for speed ✅
Test 8.3: Ground Trace Frequency
Objective: Verify ground detection cost
Procedure:
- Profile LineTraceByChannel calls
- Verify one trace per frame
Expected Results:
- Exactly 1 ground trace per frame
- Trace executes even when airborne (for landing detection)
- Trace cost: <0.1ms
Pass Criteria: Trace frequency optimal ✅
TEST SUITE 9: Edge Cases
Test 9.1: Initialization Check
Objective: Verify system handles uninitialized state
Procedure:
- Create AC_Movement without calling InitializeMovementSystem()
- Call ProcessMovementInput()
- Verify graceful handling
Expected Results:
- IsInitialized = false
- ProcessMovementInput() returns early (no processing)
- No crash or error
- Character doesn't move
Pass Criteria: Graceful handling of no-init ✅
Test 9.2: Null CapsuleComponent
Objective: Verify handling of missing capsule
Procedure:
- Initialize with CapsuleComponent = null
- Attempt movement
- Verify system behavior
Expected Results:
- No crash
- Collision detection skips (no traces)
- Character may move without collision
- Ground detection returns empty HitResult
Pass Criteria: No crash, graceful degradation ✅
Test 9.3: Zero DeltaTime
Objective: Verify handling of edge case time
Procedure:
- Pass DeltaTime = 0.0 to ProcessMovementInput()
- Observe behavior
Expected Results:
- No division by zero errors
- No NaN values in velocity
- State remains stable
- No movement applied
Pass Criteria: Zero deltatime handled ✅
Test 9.4: Extreme Velocity
Objective: Verify handling of very high speeds
Procedure:
- Temporarily set MaxSpeed = 5000 cm/s
- Reach max speed
- Observe collision system
Expected Results:
- Swept collision still works
- No tunneling
- Collision Count increases (more steps needed)
- May hit MaxCollisionChecks, but no crash
- Performance acceptable
Pass Criteria: System stable at high speeds ✅
Test 9.5: Rapid Direction Changes
Objective: Verify stability with chaotic input
Procedure:
- Rapidly alternate between W and S (forward/back)
- Spin mouse rapidly while moving
- Mash all WASD keys randomly
Expected Results:
- No crashes or errors
- Velocity responds to input changes
- Rotation updates smoothly
- No state machine flicker
- Character remains stable
Pass Criteria: Stable under chaos ✅
TEST SUITE 10: Regression Tests
Test 10.1: Behavior Parity with Pre-Refactor
Objective: Verify refactoring preserved behavior
Setup:
- Record video of movement BEFORE refactor
- Record video of movement AFTER refactor
- Compare side-by-side
Scenarios to Compare:
- Acceleration from idle
- Deceleration to stop
- Rotation speed
- Wall collision
- Surface sliding
- Ground detection
Expected Results:
- Identical acceleration curves
- Same rotation speed
- Identical collision response
- No behavioral regressions
Pass Criteria: Behavior 100% identical ✅
Test 10.2: Config Compatibility
Objective: Verify DA_MovementConfig unchanged
Procedure:
- Load old config asset (pre-refactor)
- Apply to new AC_Movement
- Verify all values apply correctly
Expected Results:
- All config values load correctly
- No missing or new required fields
- Behavior matches config settings
- No migration needed
Pass Criteria: Full config backward compatibility ✅
TEST SUITE 11: Integration Tests
Test 11.1: BP_MainCharacter Integration
Objective: Verify AC_Movement works in character context
Procedure:
- Place BP_MainCharacter in level
- Play as character
- Test full movement suite
Expected Results:
- All movement tests pass in character context
- Input processing works correctly
- Camera-relative movement correct
- Animation system receives correct state (if implemented)
Pass Criteria: Full character integration ✅
Test 11.2: Multiple Characters
Objective: Verify no state bleeding between instances
Procedure:
- Spawn 3 BP_MainCharacters
- Move each independently
- Verify no interference
Expected Results:
- Each character has independent state
- No shared global state
- Collision between characters works
- Each character responds to own input
Pass Criteria: Full instance isolation ✅
Testing Summary
Critical Tests (Must Pass)
- ✅ Basic Movement (1.1-1.7)
- ✅ Ground Detection (2.1-2.4)
- ✅ Wall Collision (4.1)
- ✅ State Immutability (6.1)
- ✅ Behavior Parity (10.1)
Important Tests (Should Pass)
- Surface Classification (3.1-3.4)
- Surface Sliding (4.2)
- State Machine (5.1-5.6)
- Debug Visualization (7.1-7.3)
Performance Tests (Target)
- Frame Time <1ms (8.1)
- Collision Checks Reasonable (8.2)
Edge Case Tests (Nice to Have)
- Null handling (9.1-9.2)
- Extreme conditions (9.3-9.5)
Test Results Template
Test Session Info
- Date: ___________
- Tester: ___________
- Build: ___________
- Level: ___________
Summary
- Tests Run: ___ / 60
- Tests Passed: ___ / ___
- Tests Failed: ___ / ___
- Critical Failures: ___
Failed Tests
- Test X.X: [Description]
- Expected: [...]
- Actual: [...]
- Severity: Critical / High / Medium / Low
Performance Metrics
- Average Frame Time: ___ms
- Max Frame Time: ___ms
- Avg Collision Checks: ___
- Max Collision Checks: ___
Notes
[Any additional observations or issues]
Sign-Off
Approval Criteria
- All Critical Tests passed
- No Critical or High severity failures
- Performance within budget
- Behavior matches specification
- No regressions detected
Approved By
- Developer: ___________ Date: ___________
- QA: ___________ Date: ___________
Conclusion
This comprehensive manual testing checklist ensures the refactored Movement System maintains behavior parity while validating the new architecture. Focus on Critical Tests first, then expand to full coverage.
Estimated Testing Time: 2-3 hours for full suite
Recommended Approach:
- Day 1: Critical Tests (Suite 1-2, 6.1, 10.1)
- Day 2: Important Tests (Suite 3-5, 7)
- Day 3: Performance & Edge Cases (Suite 8-9)
Good luck testing! 🎮