Files
missions/_docs/tasks/_dependencies_table.md
T
Oleksandr Bezdieniezhnykh b0c7132889 [AZ-575] Add 11 blackbox test task specs from decompose Step 5
Decompose Step 5 (tests-only mode) produced the test-task ladder for
the Blackbox Tests epic. Test infrastructure (AZ-576) blocks the rest;
all 10 blackbox child tasks fan out from it.

Tasks (epic AZ-575):
- AZ-576 test_infrastructure (5 SP)
- AZ-577 test_vehicles_positive (5 SP)
- AZ-578 test_missions_positive (5 SP)
- AZ-579 test_waypoints_health_positive (5 SP)
- AZ-580 test_validation_authz_negative (3 SP)
- AZ-581 test_security_auth_claims (5 SP)
- AZ-582 test_security_alg_rotation_cors (5 SP)
- AZ-583 test_resilience_cascade_migrator (3 SP)
- AZ-584 test_resilience_config_db_rotation_race (5 SP)
- AZ-585 test_resource_limits (3 SP)
- AZ-586 test_performance (3 SP)

Total: 45 SP across 11 tasks. Coverage verified against
blackbox/security/resilience/resource-limit/performance test specs
(56 scenarios). _docs/_autodev_state.md advanced to Step 6 (Implement
Tests).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 06:37:00 +03:00

4.8 KiB

Dependencies Table

Date: 2026-05-15 Mode: tests-only decomposition (Step 5 of existing-code autodev flow) Epic: AZ-575 — Blackbox Tests — Missions Total Tasks: 11 Total Complexity Points: 45 (5 + 5 + 5 + 5 + 3 + 5 + 5 + 3 + 5 + 3 + 3)

Task Name Complexity Dependencies Epic
AZ-576 test_infrastructure 5 None AZ-575
AZ-577 test_vehicles_positive 5 AZ-576 AZ-575
AZ-578 test_missions_positive 5 AZ-576 AZ-575
AZ-579 test_waypoints_health_positive 5 AZ-576 AZ-575
AZ-580 test_validation_authz_negative 3 AZ-576 AZ-575
AZ-581 test_security_auth_claims 5 AZ-576 AZ-575
AZ-582 test_security_alg_rotation_cors 5 AZ-576 AZ-575
AZ-583 test_resilience_cascade_migrator 3 AZ-576 AZ-575
AZ-584 test_resilience_config_db_rotation_race 5 AZ-576 AZ-575
AZ-585 test_resource_limits 3 AZ-576 AZ-575
AZ-586 test_performance 3 AZ-576 AZ-575

Coverage Verification

Spec file Scenarios Covered by
tests/blackbox-tests.md § Positive FT-P-01..06 (Vehicles) AZ-577
tests/blackbox-tests.md § Positive FT-P-07..12 (Missions) AZ-578
tests/blackbox-tests.md § Positive FT-P-13..18 (Waypoints + Health) AZ-579
tests/blackbox-tests.md § Negative FT-N-01..08 AZ-580
tests/security-tests.md NFT-SEC-01..06 + 04b AZ-581
tests/security-tests.md NFT-SEC-07..13 AZ-582
tests/resilience-tests.md NFT-RES-01..04 AZ-583
tests/resilience-tests.md NFT-RES-05..08 AZ-584
tests/resource-limit-tests.md NFT-RES-LIM-01..04 AZ-585
tests/performance-tests.md NFT-PERF-01..04 AZ-586

Total scenarios covered: 56 (18 FT-P + 8 FT-N + 14 NFT-SEC + 8 NFT-RES + 4 NFT-RES-LIM + 4 NFT-PERF).

Cross-Task Consistency Checks

Check Result
Every scenario from blackbox-tests.md § Positive (FT-P-01..18) is covered PASS
Every scenario from blackbox-tests.md § Negative (FT-N-01..08) is covered PASS
Every scenario from security-tests.md (NFT-SEC-01..13 + 04b) is covered PASS
Every scenario from resilience-tests.md (NFT-RES-01..08) is covered PASS
Every scenario from resource-limit-tests.md (NFT-RES-LIM-01..04) is covered PASS
Every scenario from performance-tests.md (NFT-PERF-01..04) is covered PASS
No task exceeds 5 complexity points PASS
Every blackbox test task depends on the test-infrastructure task (AZ-576) PASS
Test-infrastructure task (AZ-576) has no upstream test dependencies PASS
No circular dependencies in the task graph PASS — graph is a fan-out: AZ-576 → {AZ-577..AZ-586}
Every e2e/blackbox task has a System Under Test Boundary section PASS — all 10 child tasks include the section
System Under Test Boundary forbids stubbing internal product modules PASS — verified in each task spec
System Under Test Boundary requires comparison to expected-results artifacts PASS — every task references _docs/00_problem/input_data/expected_results/results_report.md and/or the relevant machine-readable expected-result JSON

Overlap & Shared-Concern Notes

  • NFT-SEC-08 (Task 15) ↔ FT-N-08 (Task 13) both exercise the 500 error envelope. FT-N-08 owns the destructive DROP TABLE vehicles fault injection and asserts redaction + log line presence; NFT-SEC-08 additionally asserts the body has NO key matching stack/stackTrace/exception/inner/trace/file-path/type-name. No work duplication — the two tests share the fixture but assert distinct invariants.
  • NFT-SEC-11 (Task 15) ↔ NFT-RES-07 (Task 17) both exercise JWKS rotation. NFT-SEC-11 focuses on the kid-cache mechanics + grace-window timing; NFT-RES-07 additionally asserts the docker inspect StartedAt invariant (no restart). Sharing the same primitive via the JwksRotateFixture from AZ-576.
  • NFT-SEC-12 (Task 15) ↔ NFT-RES-05 (Task 17) both exercise startup fail-fast on missing required env vars. NFT-SEC-12 covers 4 missing-env cases + HTTP-JWKS-URL path. NFT-RES-05 covers the same 4 missing-env cases + an additional whitespace-only case + the DB-down-after-config-resolution differentiator (proves config resolution succeeded before Npgsql failed). Tasks share the MissionsContainerHelper docker-run primitive from AZ-576.

Execution Order Hint

Recommended dependency-aware batches for /implement:

  1. Batch 1 (sequential, blocking the rest): AZ-576 — test_infrastructure
  2. Batch 2 (parallel, fan-out from AZ-576): AZ-577..AZ-586 in any order. Independent test classes within a single xUnit assembly; no inter-task ordering needed.

CSV report sorting at suite end: by Category (Blackbox / Sec / Res / ResLim / Perf), then by test ID within category.