QA-042: Sprint 2 Test Plan — Products, Categories, Attributes

Status: Draft (QA)
Issue: CAR-42
Owner: QA (8d0de613)
Created: 2026-07-03
Blocked by: CAR-36, CAR-37, CAR-38, CAR-39 (DEV Sprint 2 Implementation)
PRD Reference: PRD-001 v0.8, PRD-001-Gherkin-Acceptance-Criteria.md (Sprint 2 Section)


1. Overview

Vollständiger Testplan für Sprint 2 Stammdaten-Features gemäß PM-SPRINT2-STORIES.md und PRD-001-Gherkin-Acceptance-Criteria.md.

Test Scope: REST API (backend), keine UI in Sprint 2.
Ziel: ≥ 80% Testabdeckung (27/34 Szenarien automatisiert), alle Critical-Path-Szenarien in CI.


2. Test Environment

Parameter Wert
API Base http://localhost:3000 (DEV Sprint 2)
Company f9a8031f-2a84-4c59-960c-87d3fb0c7c80
Tech Stack Node.js + Fastify + Prisma + PostgreSQL
Meilisearch http://localhost:7700

Test-Accounts (from Sprint 1, reused):

Rolle Email Password
Admin admin@test.local TestAdmin!1
Manager manager@test.local TestMgr!1
Sales sales@test.local TestSales!1

3. Feature Test Matrix

S2-F1 Product CRUD (8 Total: 4 Must-Have, 4 Edge)

ID Test Case Type Priority Status
SP-AC001 Product erstellen mit Pflichtfeldern Must-Have P0 Pending
SP-AC002 Product erstellen mit allen optionalen Feldern Must-Have P0 Pending
SP-AC003 Product abrufen nach ID Must-Have P0 Pending
SP-AC004 Product aktualisieren (Update) Must-Have P0 Pending
SP-AC005 Product mit ungültigen Pflichtfeldern → 400 Edge P1 Pending
SP-AC006 Product mit nicht-existierender Company → 404 Edge P1 Pending
SP-AC007 Product löschen (Soft Delete) Must-Have P0 Pending
SP-AC008 Gelöschtes Product erscheint nicht mehr in Liste Edge P1 Pending

S2-F2 Category Management + Hierarchie (6 Total: 4 Must-Have, 2 Edge)

ID Test Case Type Priority Status
SP-AC010 Root Category erstellen Must-Have P0 Pending
SP-AC011 Child Category unter Parent erstellen Must-Have P0 Pending
SP-AC012 Category-Hierarchie abrufen (Tree) Must-Have P0 Pending
SP-AC013 Category mit nicht-existierendem Parent → 400 Edge P1 Pending
SP-AC014 Category löschen → Children werden Root Must-Have P0 Pending
SP-AC015 Category wird Product zugewiesen Must-Have P0 Pending

S2-F3 Product Attributes (7 Total: 5 Must-Have, 2 Edge)

ID Test Case Type Priority Status
SP-AC020 Size-Attribut einzeln vergeben Must-Have P0 Pending
SP-AC021 Size-Attribut Multi-Select (S, M, L, XL) Must-Have P0 Pending
SP-AC022 Color-Attribut vergeben (schwarz, weiß) Must-Have P0 Pending
SP-AC023 Season-Attribut vergeben Must-Have P0 Pending
SP-AC024 Ungültiges Attribut-Type → 400 Edge P1 Pending
SP-AC025 Product ohne Season (optional) Must-Have P0 Pending
SP-AC026 Product nach Size filtern Must-Have P0 Pending

S2-F4 SKU-Varianten (7 Total: 4 Must-Have, 3 Edge)

ID Test Case Type Priority Status
SP-AC030 SKU-Varianten automatisch generieren (1×N) Must-Have P0 Pending
SP-AC031 Vollständige Größe×Farbe-Matrix (N×M) Must-Have P0 Pending
SP-AC032 SKU-Variante eigenen Preis setzen Must-Have P0 Pending
SP-AC033 SKU-Variante eigenen Bestand setzen Must-Have P0 Pending
SP-AC034 Bestand reduzieren (Verkauf) Edge P1 Pending
SP-AC035 Bestand = 0 → ausverkauft Edge P1 Pending
SP-AC036 Verkauf mit Bestand = 0 → 409 Edge P1 Pending

S2-F5 Product Images — S3 Upload (6 Total: 4 Must-Have, 2 Edge)

ID Test Case Type Priority Status
SP-AC040 Produktbild hochladen (primary) Must-Have P0 Pending
SP-AC041 Mehrere Bilder (Galerie) hochladen Must-Have P0 Pending
SP-AC042 Primäres Bild austauschen Must-Have P0 Pending
SP-AC043 Bild-Upload ohne Auth → 401 Must-Have P0 Pending
SP-AC044 Falsches Dateiformat → 400 Edge P1 Pending
SP-AC045 Bild > 10MB → 413 Edge P1 Pending

4. Edge-Case-Szenarien

Product

Category

SKU-Varianten

Meilisearch


5. Test Execution Checklist

Phase 1: Test Environment Setup

Phase 2: Product CRUD Tests

Phase 3: Category + Hierarchy Tests

Phase 4: Product Attributes Tests

Phase 5: SKU-Varianten Tests

Phase 6: Image Upload Tests

Phase 7: Meilisearch Integration Tests


6. Critical Path (CI-Include)

Folgende Szenarien MÜSSEN in CI-Pipeline sein (≥80% Coverage für diese):

  1. SP-AC001 — Product erstellen
  2. SP-AC003 — Product abrufen
  3. SP-AC004 — Product aktualisieren
  4. SP-AC007 — Product löschen (Soft Delete)
  5. SP-AC010 — Category erstellen
  6. SP-AC012 — Category-Hierarchie abrufen
  7. SP-AC020 — Size-Attribut vergeben
  8. SP-AC022 — Color-Attribut vergeben
  9. SP-AC030 — SKU generieren (Matrix)
  10. SP-AC032 — SKU-Preis setzen
  11. SP-AC040 — Bild hochladen
  12. SP-AC043 — Bild-Upload ohne Auth → 401

7. Dependencies

Issue Owner Blockiert
CAR-36 DEV Product CRUD + Gherkin AK
CAR-37 DEV Category CRUD + Hierarchie + Gherkin AK
CAR-38 DEV Product Attributes + Gherkin AK
CAR-39 DEV SKU-Varianten + Gherkin AK
CAR-40 DEV Meilisearch Integration
CAR-41 DEV Meilisearch Integration

8. Deliverables


QA Agent (8d0de613) — 2026-07-03