tengri/Content/Movement/ManualTestingChecklist.md

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:

  1. Spawn character
  2. Do not provide any input
  3. 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:

  1. Start from Idle state
  2. Press W (forward) fully
  3. Observe velocity increase
  4. Release W after 2 seconds

Expected Results:

  • Movement State changes: IdleWalking
  • 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:

  1. Reach MaxSpeed (from Test 1.2)
  2. Release W (no input)
  3. Observe velocity decrease
  4. Wait until full stop

Expected Results:

  • Movement State changes: WalkingIdle
  • 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:

  1. Test each direction individually:
  • W (forward, X+)
  • S (backward, X-)
  • A (left, Y-)
  • D (right, Y+)
  1. For each direction:
  • Accelerate to MaxSpeed
  • Verify rotation
  • Verify velocity vector

Expected Results:

Input Target Yaw Velocity Direction Pass
W (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:

  1. Press W+D simultaneously (northeast)
  2. Observe velocity and rotation
  3. 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:

  1. Face forward (W)
  2. Switch to backward (S) input
  3. Measure rotation time
  4. Verify rotation speed

Expected Results:

  • Rotation Delta decreases smoothly
  • Is Rotating: true during 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:

  1. Set MinSpeedForRotation = 50.0 in Config
  2. Apply very light input (analog stick barely pressed)
  3. 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:

  1. Stand on flat ground
  2. Observe debug info
  3. 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:

  1. Walk across slightly uneven terrain
  2. Walk down small slopes (< 10°)
  3. 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:

  1. Walk character off platform edge
  2. Observe state transition
  3. Monitor gravity application

Expected Results:

  • Movement State: WalkingAirborne
  • Is Grounded: truefalse
  • Surface Type: WalkableNone
  • 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:

  1. Jump/fall from elevated position
  2. Land on flat ground
  3. Observe state transition

Expected Results:

  • Movement State: AirborneIdle or Walking
  • Is Grounded: falsetrue
  • 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:

  1. Create ramp at 30° angle
  2. Create ramp at 50° angle (boundary)

Procedure:

  1. Walk up 30° ramp
  2. Walk up 50° ramp
  3. 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:

  1. Create ramp at 60° angle
  2. Create ramp at 80° angle

Procedure:

  1. Walk onto 60° slope
  2. Observe Surface Type change
  3. 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:

  1. Walk into vertical wall (90° angle)

Procedure:

  1. Walk directly into wall
  2. Observe collision response
  3. 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:

  1. Walk under low ceiling
  2. Create overhang at >95° angle

Procedure:

  1. Walk under ceiling geometry
  2. 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:

  1. Run directly into wall at MaxSpeed
  2. Observe sweep collision
  3. 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:

  1. Run into wall at 45° angle
  2. Observe sliding behavior
  3. 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:

  1. Run into 90° corner (two walls meeting)
  2. Attempt to move into corner
  3. 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:

  1. Create thin wall (10 cm thick)
  2. Set MaxSpeed very high (2000 cm/s) temporarily

Procedure:

  1. Run at thin wall at max speed
  2. Verify no tunneling
  3. 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:

  1. Create complex collision geometry (many overlapping walls)
  2. Set MinStepSize = 1.0 (fine precision)

Procedure:

  1. Move through complex area
  2. Monitor Collision Count
  3. 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:

  1. Start in Idle state (no input)
  2. Press W (forward)
  3. Observe state change

Expected Results:

  • Movement State: IdleWalking
  • 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:

  1. Reach Walking state (moving)
  2. Release all input
  3. Observe state change

Expected Results:

  • Movement State: WalkingIdle
  • 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:

  1. Walk off platform edge
  2. Observe immediate state change

Expected Results:

  • Movement State: WalkingAirborne
  • 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:

  1. Fall/jump and land
  2. Have forward input during landing

Expected Results:

  • Movement State: AirborneWalking
  • 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:

  1. Run into wall
  2. Observe state change

Expected Results:

  • Movement State: WalkingBlocked
  • 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:

  1. Create steep ramp (60°-85°)

Procedure:

  1. Walk onto steep ramp
  2. Observe state change

Expected Results:

  • Movement State: WalkingSliding
  • 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:

  1. Add debug logging in AC_Movement.ProcessMovementInput()
  2. Log CurrentMovementState before ProcessMovement()
  3. Log CurrentMovementState after ProcessMovement()
  4. 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:

  1. Add debug logging in BFL_MovementProcessor.ProcessMovement()
  2. Log entry to each phase
  3. Move character
  4. 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:

  1. Test each BFL_* module in isolation (if possible via unit tests)
  2. Verify no shared global state
  3. 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:

  1. Create two characters with different configs
  2. Change MaxSpeed on Character A
  3. 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:

  1. Enable debug HUD
  2. Perform various movements
  3. 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:

  1. Enable ShowVisualDebug = true
  2. Move character
  3. 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:

  1. Open debug HUD
  2. 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:

  1. Enable UE profiler (stat game)
  2. Move character continuously
  3. 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:

  1. Move at various speeds
  2. Monitor Collision Count in debug HUD
  3. 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:

  1. Profile LineTraceByChannel calls
  2. 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:

  1. Create AC_Movement without calling InitializeMovementSystem()
  2. Call ProcessMovementInput()
  3. 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:

  1. Initialize with CapsuleComponent = null
  2. Attempt movement
  3. 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:

  1. Pass DeltaTime = 0.0 to ProcessMovementInput()
  2. 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:

  1. Temporarily set MaxSpeed = 5000 cm/s
  2. Reach max speed
  3. 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:

  1. Rapidly alternate between W and S (forward/back)
  2. Spin mouse rapidly while moving
  3. 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:

  1. Record video of movement BEFORE refactor
  2. Record video of movement AFTER refactor
  3. 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:

  1. Load old config asset (pre-refactor)
  2. Apply to new AC_Movement
  3. 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:

  1. Place BP_MainCharacter in level
  2. Play as character
  3. 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:

  1. Spawn 3 BP_MainCharacters
  2. Move each independently
  3. 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)

  1. Basic Movement (1.1-1.7)
  2. Ground Detection (2.1-2.4)
  3. Wall Collision (4.1)
  4. State Immutability (6.1)
  5. Behavior Parity (10.1)

Important Tests (Should Pass)

  1. Surface Classification (3.1-3.4)
  2. Surface Sliding (4.2)
  3. State Machine (5.1-5.6)
  4. Debug Visualization (7.1-7.3)

Performance Tests (Target)

  1. Frame Time <1ms (8.1)
  2. Collision Checks Reasonable (8.2)

Edge Case Tests (Nice to Have)

  1. Null handling (9.1-9.2)
  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

  1. 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:

  1. Day 1: Critical Tests (Suite 1-2, 6.1, 10.1)
  2. Day 2: Important Tests (Suite 3-5, 7)
  3. Day 3: Performance & Edge Cases (Suite 8-9)

Good luck testing! 🎮