Requirements Traceability Matrix with One Gap (CSV)
Thirteen requirements mapped to the test cases that cover them — and one, REQ-PAY-02, deliberately covered by nothing. A coverage-gap report that does not surface that row is not working, which makes this the answer key for exactly that check.
requirement,description,priority,covered_by,test_count,status
REQ-PRICE-01,Tax is shown separately from the subtotal,P1,TC-001,1,covered
REQ-PRICE-02,Subtotal scales with quantity,P1,TC-002,1,covered
REQ-PRICE-03,Negative quantities are rejected,P2,TC-003,1,covered
REQ-DISC-01,Percentage discounts reduce the payable amount,P1,TC-004,1,covered
REQ-DISC-02,Discounts apply in a declared order,P1,TC-005,1,covered
REQ-DISC-03,Expired coupons have no effect,P2,TC-006,1,covered
REQ-DISC-04,Loyalty tiers override percentage discounts,P3,TC-007,1,manual-only
REQ-SESS-01,A cart always has a session,P1,TC-008,1,covered
REQ-SESS-02,Sessions expire after 30 minutes,P1,TC-009,1,covered
REQ-SESS-03,A resumed session restores the cart,P2,TC-010,1,covered
REQ-RCPT-01,Receipts render as plain text,P2,TC-011,1,covered
REQ-PAY-01,Payment capture retries once on timeout,P1,TC-012,1,covered
REQ-PAY-02,Partial refunds are supported,P2,,0,UNCOVERED
Specifications
- Seed
- 61200
- Rows
- 13
- Columns
- 6
- Delimiter
- ,
- Header
- true
- Requirements
- 13
- Uncovered Requirements
- 1
- Uncovered Id
- REQ-PAY-02
- Line Endings
- LF
Testing contract
Reference control- Scenario
- Find requirements with no test coverage in a traceability matrix.
- Expected result
- Exactly one requirement, REQ-PAY-02, has an empty covered_by and a test_count of 0.
What is a .csv file?
CSV (Comma-Separated Values) is a plain-text tabular format where rows are lines and fields are separated by commas, with quoting rules for values that contain delimiters, quotes, or newlines. It has no formal type system and depends on encoding and dialect conventions. It is the most portable format for tabular data exchange.
How to use this file
Use an example CSV to test parsers against quoting and embedded-delimiter edge cases, header handling, encoding detection, and import pipelines into databases or spreadsheets.
How to use this file for testing
“Requirements Traceability Matrix with One Gap (CSV)” is a deterministic Novus Examples fixture for CSV parsing, Data import, Schema validation. Clean and deliberately messy CSVs — quoted commas, embedded newlines, ragged rows, odd delimiters, and encodings.
Documented properties for this file: seed 61200 · 13 rows · 6 columns · LF. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.
Test and coverage reports document their totals (suites, cases, passes, failures, skips, covered lines) in the spec table. Point your CI dashboard, coverage gate, or report converter at the file and assert those counts survive; format twins carry identical numbers so a conversion can be scored exactly.
Feed the file to your parser and assert it handles the documented quirks — quoted delimiters, embedded newlines, ragged rows, or invalid syntax; the valid↔invalid distinction is labelled in the title.
Code examples
import pandas as pd
df = pd.read_csv("requirements-traceability.csv")
print(df.head())
print(df.dtypes)Related files
- csvCoverage — Per-File Table (CSV)The same coverage as a flat table with a TOTAL row, for spreadsheets, trend charts and diffing two runs without an XML parser. The TOTAL row is the arithmetic sum of the four file rows, so it doubles as a checksum on any tool that regenerates it. Every file in this group describes the same four-file source tree and reports 127/140 lines, 17/24 branch outcomes and 18/20 functions, so a converter can be diffed against a known answer.

- csv10,000-Row CSVA CSV with 10,000 data rows — for testing streaming parsers, memory handling, and import performance.

- csvClean CSVA clean, well-formed CSV with a header and 20 rows — the baseline case for CSV parser testing.

- csvCSV — Hash Comment LinesA CSV with # comment lines mixed among data — common in scientific exports; tests comment skipping.

- csvCSV — Pipe DelimiterA pipe-delimited (| ) tabular file — for testing non-comma delimiter autodetection.

- csvCSV — Semicolon Delimiter (EU)European-style CSV using semicolons as delimiters and comma decimals — a common locale edge case.

Generated by generation/testing.py. Free for any use, no attribution required — license.