feat: security overhaul (proxy ssrf fix, streaming sanitization, docker optimization)

This commit is contained in:
Michael committed 2026-01-07 08:43:33 +01:00
1 parent 6d87ada2b8
commit 8df9a37baa
810 files changed
+131090 -151

No files matched your search

@@ -0,0 +1,98 @@
# Game Test Design - Validation Checklist
---
## Prerequisites
- [ ] Game design documentation reviewed
- [ ] Core mechanics identified
- [ ] Target platforms known
- [ ] Risk areas assessed
---
## Context Gathering
- [ ] GDD or feature specs located
- [ ] Core gameplay loop understood
- [ ] Progression systems identified
- [ ] Multiplayer requirements known (if applicable)
- [ ] Platform certification needs identified
---
## Test Categories
### Gameplay Tests
- [ ] Core loop scenarios created
- [ ] Combat/interaction tests defined
- [ ] Movement/physics tests defined
- [ ] UI/UX tests defined
### Progression Tests
- [ ] Save/load scenarios created
- [ ] Unlock system tests defined
- [ ] Economy tests defined
- [ ] Achievement tests defined
### Multiplayer Tests (if applicable)
- [ ] Connectivity scenarios created
- [ ] Sync validation tests defined
- [ ] Latency tests defined
- [ ] Matchmaking tests defined
### Platform Tests
- [ ] Certification requirements covered
- [ ] Input handling tests defined
- [ ] Performance criteria established
- [ ] Accessibility tests defined
---
## Scenario Quality
- [ ] All scenarios use GIVEN/WHEN/THEN format
- [ ] Scenarios have clear expected outcomes
- [ ] Priorities assigned (P0-P3)
- [ ] Categories assigned
- [ ] No duplicate scenarios
- [ ] Edge cases considered
---
## Prioritization
- [ ] P0 scenarios cover ship blockers
- [ ] P1 scenarios cover major features
- [ ] Priority distribution is reasonable
- [ ] Risk-based ordering applied
---
## Documentation
- [ ] Test design document created
- [ ] Overview section complete
- [ ] Risk assessment included
- [ ] Coverage matrix generated
- [ ] Automation recommendations provided
- [ ] Next steps defined
---
## Completion Criteria
- [ ] All critical systems have test coverage
- [ ] Scenarios are actionable and testable
- [ ] Document is ready for team review
- [ ] Automation candidates identified
---
**Completed by:** {name}
**Date:** {date}
**Scenario Count:** {count}
@@ -0,0 +1,280 @@
<!-- Powered by BMAD-CORE™ -->
# Game Test Design
**Workflow ID**: `_bmad/bmgd/gametest/test-design`
**Version**: 1.0 (BMad v6)
---
## Overview
Create comprehensive test scenarios for game projects, covering gameplay mechanics, progression systems, multiplayer functionality, and platform requirements. This workflow produces a prioritized test plan based on risk assessment and player impact.
---
## Preflight Requirements
- ✅ Game design documentation available (GDD, feature specs)
- ✅ Understanding of target platforms
- ✅ Knowledge of core gameplay loop
---
## Step 1: Gather Context
### Actions
1. **Read Game Design Documentation**
- Locate GDD or game-design.md
- Identify core mechanics and features
- Note target platforms and certification requirements
2. **Identify Critical Systems**
- Core gameplay loop
- Progression/save systems
- Multiplayer (if applicable)
- Monetization (if applicable)
3. **Assess Risk Areas**
- Player-facing features (highest priority)
- Data persistence (save/load)
- Platform certification requirements
- Performance-critical paths
---
## Step 2: Define Test Categories
### Core Gameplay Testing
**Knowledge Base Reference**: `knowledge/playtesting.md`
| Category | Focus | Priority |
| ------------------ | -------------------------- | -------- |
| Core Loop | Primary mechanic execution | P0 |
| Combat/Interaction | Hit detection, feedback | P0 |
| Movement | Physics, collision, feel | P0 |
| UI/UX | Menu navigation, HUD | P1 |
| Audio | Sound triggers, music | P2 |
### Progression Testing
**Knowledge Base Reference**: `knowledge/save-testing.md`
| Category | Focus | Priority |
| ------------ | ------------------ | -------- |
| Save/Load | Data persistence | P0 |
| Unlocks | Content gating | P1 |
| Economy | Currency, rewards | P1 |
| Achievements | Trigger conditions | P2 |
### Multiplayer Testing (if applicable)
**Knowledge Base Reference**: `knowledge/multiplayer-testing.md`
| Category | Focus | Priority |
| --------------- | ------------------- | -------- |
| Connectivity | Join/leave handling | P0 |
| Synchronization | State consistency | P0 |
| Latency | Degraded network | P1 |
| Matchmaking | Player grouping | P1 |
### Platform Testing
**Knowledge Base Reference**: `knowledge/certification-testing.md`
| Category | Focus | Priority |
| ------------- | ------------------- | -------- |
| Certification | TRC/XR requirements | P0 |
| Input | Controller support | P0 |
| Performance | FPS, loading times | P1 |
| Accessibility | Assist features | P1 |
---
## Step 3: Create Test Scenarios
### Scenario Format
For each critical feature, create scenarios using this format:
```
SCENARIO: [Descriptive Name]
GIVEN [Initial state/preconditions]
WHEN [Action taken]
THEN [Expected outcome]
PRIORITY: P0/P1/P2/P3
CATEGORY: [gameplay/progression/multiplayer/platform]
```
### Example Scenarios
**Gameplay - Combat**
```
SCENARIO: Basic Attack Hits Enemy
GIVEN player is within attack range of enemy
AND enemy has 100 health
WHEN player performs basic attack
THEN enemy receives damage
AND damage feedback plays (visual + audio)
AND enemy health decreases
PRIORITY: P0
CATEGORY: gameplay
```
**Progression - Save System**
```
SCENARIO: Save Preserves Player Progress
GIVEN player has 500 gold and 3 items
AND player is at checkpoint
WHEN game saves
AND game is reloaded
THEN player has 500 gold
AND player has same 3 items
AND player is at same checkpoint
PRIORITY: P0
CATEGORY: progression
```
**Multiplayer - Network Degradation**
```
SCENARIO: Gameplay Under High Latency
GIVEN 2 players in session
AND network latency is 200ms
WHEN Player 1 attacks Player 2
THEN damage is applied correctly
AND positions remain synchronized
AND no desync occurs
PRIORITY: P1
CATEGORY: multiplayer
```
---
## Step 4: Prioritize Test Coverage
### Priority Assignment
**Knowledge Base Reference**: `knowledge/test-priorities.md`
| Priority | Criteria | Coverage Target |
| -------- | ---------------------------- | --------------- |
| P0 | Ship blockers, certification | 100% automated |
| P1 | Major features, common paths | 80% automated |
| P2 | Secondary features | 60% automated |
| P3 | Edge cases, polish | Manual only |
### Risk-Based Ordering
1. **Critical Path** - Main gameplay loop
2. **Data Integrity** - Save/load, progression
3. **Platform Requirements** - Certification items
4. **User Experience** - Feel, polish, accessibility
---
## Step 5: Generate Test Design Document
### Document Structure
```markdown
# Game Test Design: [Project Name]
## Overview
- Game type and core mechanics
- Target platforms
- Test scope and objectives
## Risk Assessment
- High-risk areas identified
- Mitigation strategies
## Test Categories
### Gameplay Tests
[Scenarios...]
### Progression Tests
[Scenarios...]
### Multiplayer Tests (if applicable)
[Scenarios...]
### Platform Tests
[Scenarios...]
## Coverage Matrix
| Feature | P0 | P1 | P2 | P3 |
| ------- | --- | --- | --- | --- |
| Combat | 5 | 10 | 8 | 4 |
| ...
## Automation Strategy
- Unit test candidates
- Integration test candidates
- Manual-only scenarios
## Next Steps
1. Implement P0 tests
2. Set up CI integration
3. Plan playtesting sessions
```
---
## Deliverables
1. **Test Design Document** - `{output_folder}/game-test-design.md`
2. **Scenario List** - Prioritized test scenarios
3. **Coverage Matrix** - Feature vs priority breakdown
4. **Automation Recommendations** - What to automate vs manual test
---
## Output Summary
```markdown
## Test Design Complete
**Project**: {project_name}
**Scenarios Created**: {count}
**Priority Breakdown**:
- P0 (Critical): {p0_count}
- P1 (High): {p1_count}
- P2 (Medium): {p2_count}
- P3 (Low): {p3_count}
**Focus Areas Covered**:
- ✅ Core Gameplay
- ✅ Progression/Save
- ✅ Platform Requirements
- {✅/⬜} Multiplayer
**Next Steps**:
1. Review scenarios with team
2. Use `automate` workflow to generate test code
3. Use `playtest-plan` for manual testing sessions
```
---
## Validation
Refer to `checklist.md` for validation criteria.
@@ -0,0 +1,205 @@
# Game Test Design: {PROJECT_NAME}
**Version**: 1.0
**Created**: {DATE}
**Author**: {AUTHOR}
---
## Overview
### Game Description
{Brief description of the game, genre, and core mechanics}
### Target Platforms
- [ ] PC (Steam/Epic)
- [ ] PlayStation 5
- [ ] Xbox Series X|S
- [ ] Nintendo Switch
- [ ] Mobile (iOS/Android)
### Test Scope
{What is in scope and out of scope for testing}
---
## Risk Assessment
### High-Risk Areas
| Area | Risk | Mitigation |
| ------ | ----------------- | --------------- |
| {area} | {potential issue} | {test strategy} |
### Risk Priority Matrix
```
IMPACT
Low High
┌─────────┬─────────┐
High │ P2 │ P0 │
LIKELIHOOD ├─────────┼─────────┤
Low │ P3 │ P1 │
└─────────┴─────────┘
```
---
## Test Categories
### 1. Core Gameplay Tests
#### 1.1 Core Loop
```
SCENARIO: {Scenario Name}
GIVEN {preconditions}
WHEN {action}
THEN {expected outcome}
PRIORITY: P0
CATEGORY: gameplay
```
#### 1.2 Combat/Interaction
{scenarios}
#### 1.3 Movement/Physics
{scenarios}
---
### 2. Progression Tests
#### 2.1 Save/Load System
```
SCENARIO: Basic Save/Load Round Trip
GIVEN player has made progress
WHEN game is saved and reloaded
THEN all progress is preserved
PRIORITY: P0
CATEGORY: progression
```
#### 2.2 Unlock System
{scenarios}
#### 2.3 Economy
{scenarios}
---
### 3. Multiplayer Tests (if applicable)
#### 3.1 Connectivity
{scenarios}
#### 3.2 Synchronization
{scenarios}
#### 3.3 Network Degradation
{scenarios}
---
### 4. Platform Tests
#### 4.1 Certification Requirements
{scenarios for TRC/XR items}
#### 4.2 Input Handling
{scenarios}
#### 4.3 Performance
{scenarios}
#### 4.4 Accessibility
{scenarios}
---
## Coverage Matrix
| Feature | P0 | P1 | P2 | P3 | Total |
| ------------- | --- | --- | --- | --- | ----- |
| Core Gameplay | | | | | |
| Combat | | | | | |
| Progression | | | | | |
| Save/Load | | | | | |
| Multiplayer | | | | | |
| Platform | | | | | |
| **Total** | | | | | |
---
## Automation Strategy
### Recommended for Automation (Unit/Integration)
- {feature/scenario} - Reason
- {feature/scenario} - Reason
### Manual Testing Required
- {feature/scenario} - Reason (e.g., requires human judgment on "feel")
- {feature/scenario} - Reason
### Automation Tools
- **Engine**: {Unity/Unreal/Godot}
- **Framework**: {Unity Test Framework/Unreal Automation/GUT}
- **CI Integration**: {GitHub Actions/Jenkins/etc.}
---
## Playtesting Recommendations
### Internal Playtests
- Focus: Core loop validation
- Participants: QA + dev team
- Duration: {hours}
### External Playtests
- Focus: User experience, difficulty curve
- Participants: Target audience
- Duration: {hours}
---
## Next Steps
1. [ ] Review test design with team
2. [ ] Prioritize P0 test implementation
3. [ ] Set up test framework (use `framework` workflow)
4. [ ] Generate automated tests (use `automate` workflow)
5. [ ] Plan playtesting sessions (use `playtest-plan` workflow)
---
## Appendix
### Glossary
{Game-specific terms and definitions}
### References
- Game Design Document
- Platform Certification Guidelines
- Knowledge Base: `qa-index.csv`
@@ -0,0 +1,45 @@
# Game QA workflow: test-design
name: gametest-test-design
description: "Create comprehensive game test scenarios covering gameplay, progression, and quality requirements"
author: "BMad"
# Critical variables from config
config_source: "{project-root}/_bmad/bmgd/config.yaml"
output_folder: "{config_source}:output_folder"
user_name: "{config_source}:user_name"
communication_language: "{config_source}:communication_language"
document_output_language: "{config_source}:document_output_language"
date: system-generated
# Workflow components
installed_path: "{project-root}/_bmad/bmgd/workflows/gametest/test-design"
instructions: "{installed_path}/instructions.md"
validation: "{installed_path}/checklist.md"
template: "{installed_path}/test-design-template.md"
# Variables and inputs
variables:
design_level: "full" # full, targeted, minimal
focus_area: "auto" # auto, gameplay, progression, multiplayer, performance
# Output configuration
default_output_file: "{output_folder}/game-test-design.md"
# Required tools
required_tools:
- read_file
- write_file
- list_files
- search_repo
tags:
- qa
- planning
- game-testing
- risk-assessment
- coverage
execution_hints:
interactive: false
autonomous: true
iterative: true