# Blackbox Tests Template Save as `DOCUMENT_DIR/tests/blackbox-tests.md`. --- ```markdown # Blackbox Tests ## Positive Scenarios ### FT-P-01: [Scenario Name] **Summary**: [One sentence: what black-box use case this validates] **Traces to**: AC-[ID], AC-[ID] **Category**: [which AC category — e.g., Position Accuracy, Image Processing, etc.] **Preconditions**: - [System state required before test] **Input data**: [reference to specific data set or file from test-data.md] **Steps**: | Step | Consumer Action | Expected System Response | |------|----------------|------------------------| | 1 | [call / send / provide input] | [response / event / output] | | 2 | [call / send / provide input] | [response / event / output] | **Expected outcome**: [specific, measurable result] **Max execution time**: [e.g., 10s] --- ### FT-P-02: [Scenario Name] (repeat structure) --- ## Negative Scenarios ### FT-N-01: [Scenario Name] **Summary**: [One sentence: what invalid/edge input this tests] **Traces to**: AC-[ID] (negative case), RESTRICT-[ID] **Category**: [which AC/restriction category] **Preconditions**: - [System state required before test] **Input data**: [reference to specific invalid data or edge case] **Steps**: | Step | Consumer Action | Expected System Response | |------|----------------|------------------------| | 1 | [provide invalid input / trigger edge case] | [error response / graceful degradation / fallback behavior] | **Expected outcome**: [system rejects gracefully / falls back to X / returns error Y] **Max execution time**: [e.g., 5s] --- ### FT-N-02: [Scenario Name] (repeat structure) ``` --- ## Guidance Notes - Blackbox tests should typically trace to at least one acceptance criterion or restriction. Tests without a trace are allowed but should have a clear justification. - Positive scenarios validate the system does what it should. - Negative scenarios validate the system rejects or handles gracefully what it shouldn't accept. - Expected outcomes must be specific and measurable — not "works correctly" but "returns position within 50m of ground truth." - Input data references should point to specific entries in test-data.md.