Phase 5: Add testing documentation
- Created docs/TESTING_PHASE5.md with test scenarios and metrics - Includes pre-testing checklist - 5 test scenarios from quiet exploration to swarm enemies - Glitch rating scale and configuration tuning guide - Test report template for iteration
This commit is contained in:
297
docs/TESTING_PHASE5.md
Normal file
297
docs/TESTING_PHASE5.md
Normal file
@@ -0,0 +1,297 @@
|
||||
# Phase 5: Testing & Iteration Guide
|
||||
|
||||
## Overview
|
||||
This phase documents the testing protocol for validating audio mod fixes and improvements.
|
||||
|
||||
**Note:** Actual testing must be performed by playing the game. This document provides the testing workflow and evaluation criteria.
|
||||
|
||||
---
|
||||
|
||||
## Pre-Testing Checklist
|
||||
|
||||
### 1. BepInEx Installation
|
||||
- [ ] BepInEx installed in game directory
|
||||
- [ ] `winhttp.dll` present in game root
|
||||
- [ ] `BepInEx\LogOutput.log` generated after first run
|
||||
|
||||
### 2. Plugin Installation
|
||||
- [ ] `HomuraHimeAudioMod.dll` in `BepInEx\plugins\`
|
||||
- [ ] Config file generated at `BepInEx\config\com.homurahime.audiomod.cfg`
|
||||
|
||||
### 3. Original Bank Backup
|
||||
- [ ] Original banks backed up to `backup_banks_original\`
|
||||
|
||||
### 4. FMOD Banks (Optional)
|
||||
- [ ] Modified banks copied to game directory (if using Phase 3 FMOD changes)
|
||||
|
||||
---
|
||||
|
||||
## Testing Scenarios
|
||||
|
||||
### Test 1: Quiet Exploration (Baseline)
|
||||
|
||||
**Purpose:** Verify mod doesn't break normal audio
|
||||
|
||||
**Steps:**
|
||||
1. Launch game with mod enabled
|
||||
2. Start new game or load save
|
||||
3. Move through quiet area (hub, menu, cutscenes)
|
||||
4. Listen for 5+ minutes
|
||||
|
||||
**Success Criteria:**
|
||||
- [ ] No audio distortion or pops
|
||||
- [ ] BGM plays smoothly without cutting out
|
||||
- [ ] UI sounds (menu navigation) work correctly
|
||||
- [ ] No crashes or errors in LogOutput.log
|
||||
|
||||
**Log Check:**
|
||||
```
|
||||
Filter: Look for "HomuraHimeAudio" entries
|
||||
Expected: "initialized successfully"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Test 2: Combat with 3+ Enemies
|
||||
|
||||
**Purpose:** Test voice limit fixes under moderate load
|
||||
|
||||
**Steps:**
|
||||
1. Find an area with 3+ enemies (early game stages)
|
||||
2. Engage in combat
|
||||
3. Observe audio behavior during:
|
||||
- Multiple attack impacts
|
||||
- Enemy death sounds
|
||||
- Player attack sounds
|
||||
- Dodge/roll sounds
|
||||
|
||||
**Success Criteria:**
|
||||
- [ ] No audio distortion during impact sounds
|
||||
- [ ] Sounds don't cut out prematurely
|
||||
- [ ] Enemy voices don't override each other harshly
|
||||
- [ ] Can distinguish individual sound sources
|
||||
|
||||
**Failure Signs:**
|
||||
- Crackling/popping sounds
|
||||
- Sudden audio cutoff
|
||||
- "Muffled" audio
|
||||
- Missing sound effects
|
||||
|
||||
---
|
||||
|
||||
### Test 3: Boss Fights (Heavy Load)
|
||||
|
||||
**Purpose:** Stress test audio system
|
||||
|
||||
**Steps:**
|
||||
1. Enter boss arena
|
||||
2. Engage boss
|
||||
3. Observe during:
|
||||
- Boss special attacks
|
||||
- Phase transitions
|
||||
- Multiple minions spawning
|
||||
- Intense combo sequences
|
||||
|
||||
**Success Criteria:**
|
||||
- [ ] No audio glitches during phase transitions
|
||||
- [ ] Music continues playing smoothly
|
||||
- [ ] Voice lines play without cutoff
|
||||
- [ ] Attack sounds remain distinguishable
|
||||
|
||||
**Challenge:** If glitches occur, reduce `MaxVoiceCount` in config
|
||||
|
||||
---
|
||||
|
||||
### Test 4: Swarm Enemy Encounters
|
||||
|
||||
**Purpose:** Test rapid sound triggering
|
||||
|
||||
**Steps:**
|
||||
1. Find area with many weak enemies (swarms)
|
||||
2. Use area-of-effect attacks
|
||||
3. Observe:
|
||||
- Rapid footstep sounds
|
||||
- Multiple death sounds
|
||||
- Attack impact sounds overlapping
|
||||
|
||||
**Success Criteria:**
|
||||
- [ ] No stuttering or repeating sounds
|
||||
- [ ] Audio doesn't "stick" or loop
|
||||
- [ ] Clean sound transitions
|
||||
|
||||
---
|
||||
|
||||
### Test 5: Enemy Behavior State Changes
|
||||
|
||||
**Purpose:** Validate enemy audio indicator improvements
|
||||
|
||||
**Steps:**
|
||||
1. Approach enemies and observe state changes
|
||||
2. Listen for audio cues during:
|
||||
- Enemy idle (subtle ambient)
|
||||
- Enemy alert (noticing player)
|
||||
- Enemy chase (pursuing)
|
||||
- Enemy attack (warning + strike)
|
||||
|
||||
**Success Criteria:**
|
||||
| State | Expected Audio |
|
||||
|-------|----------------|
|
||||
| Idle | Subtle, low-volume ambient |
|
||||
| Alert | Distinct warning/notice sound |
|
||||
| Chase | Intensified pursuit audio |
|
||||
| Attack | Clear attack indicator + impact |
|
||||
|
||||
**Rating Scale:**
|
||||
- 1: Cannot hear/identify
|
||||
- 2: Barely audible
|
||||
- 3: Audible but unclear
|
||||
- 4: Clear and distinguishable
|
||||
- 5: Very distinct and helpful
|
||||
|
||||
---
|
||||
|
||||
## Metrics Tracking
|
||||
|
||||
### Audio Glitch Rating
|
||||
|
||||
| Rating | Description |
|
||||
|--------|-------------|
|
||||
| 0 | No glitches ever |
|
||||
| 1 | Rare glitches (<1 per minute) |
|
||||
| 2 | Occasional glitches (1-5 per minute) |
|
||||
| 3 | Frequent glitches (>5 per minute) |
|
||||
| 4 | Constant glitches |
|
||||
|
||||
### Target: Rating 0-1 for all scenarios
|
||||
|
||||
---
|
||||
|
||||
## Configuration Tuning
|
||||
|
||||
### If Distortion/Pops Occur
|
||||
|
||||
```ini
|
||||
[VoiceManager]
|
||||
MaxVoiceCount = 64 ; Reduce from 128
|
||||
|
||||
[Ducking]
|
||||
DuckFadeTime = 0.08 ; Increase for smoother transitions
|
||||
```
|
||||
|
||||
### If Sounds Cut Out
|
||||
|
||||
```ini
|
||||
[VoiceManager]
|
||||
MaxVoiceCount = 256 ; Increase if hardware supports
|
||||
EnableVoiceLimitFix = true
|
||||
```
|
||||
|
||||
### If Enemy Cues Unclear
|
||||
|
||||
```ini
|
||||
[EnemyAudio]
|
||||
EnemyIndicatorBoost = 1.5
|
||||
AlertSoundBoost = 1.6
|
||||
AttackSoundBoost = 1.4
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Iteration Loop
|
||||
|
||||
```
|
||||
Test Scenario
|
||||
│
|
||||
▼
|
||||
┌─────────────┐
|
||||
│ Glitch? │
|
||||
└─────────────┘
|
||||
│
|
||||
┌──┴──┐
|
||||
Yes No
|
||||
│ │
|
||||
▼ ▼
|
||||
Adjust Next
|
||||
Config Test
|
||||
│
|
||||
▼
|
||||
Rebuild & Redeploy
|
||||
│
|
||||
▼
|
||||
Retest
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Log Analysis
|
||||
|
||||
### Enable Debug Logging
|
||||
|
||||
```ini
|
||||
[General]
|
||||
EnableDebugLogging = true
|
||||
```
|
||||
|
||||
### Check Log During Gameplay
|
||||
|
||||
```
|
||||
BepInEx\LogOutput.log
|
||||
```
|
||||
|
||||
### Key Log Entries
|
||||
|
||||
| Entry | Meaning |
|
||||
|-------|---------|
|
||||
| `HomuraHime Audio Mod initialized` | Plugin loaded OK |
|
||||
| `Voice count X exceeds limit Y` | Voice limiting active |
|
||||
| `DuckVolume adjusted` | Ducking patch working |
|
||||
| `Enemy voice event: X` | Enemy audio hook active |
|
||||
|
||||
---
|
||||
|
||||
## Test Report Template
|
||||
|
||||
```markdown
|
||||
## Test Report - [Date]
|
||||
|
||||
### Environment
|
||||
- Game Version: [Check in game]
|
||||
- Mod Version: 1.0.0
|
||||
- Config: [Default/Custom]
|
||||
|
||||
### Results
|
||||
|
||||
| Scenario | Glitch Rating | Notes |
|
||||
|----------|---------------|-------|
|
||||
| Quiet Exploration | [0-4] | |
|
||||
| 3+ Enemy Combat | [0-4] | |
|
||||
| Boss Fight | [0-4] | |
|
||||
| Swarm Enemies | [0-4] | |
|
||||
| Enemy State Cues | [1-5] | |
|
||||
|
||||
### Configuration Changes Made
|
||||
|
||||
```ini
|
||||
[Section]
|
||||
Setting = Value
|
||||
```
|
||||
|
||||
### Overall Assessment
|
||||
|
||||
[ ] Ready for distribution
|
||||
[ ] Needs iteration
|
||||
|
||||
### Next Steps
|
||||
|
||||
1.
|
||||
2.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Next: Phase 6
|
||||
|
||||
Once testing yields satisfactory results (glitch rating 0-1, cue clarity 4-5):
|
||||
- Proceed to Phase 6: Distribution
|
||||
- Package mod for sharing
|
||||
- Write installation instructions
|
||||
Reference in New Issue
Block a user