Skip to content
Novus Examples
csv1.6 KB

Test Case Matrix — Twelve Documented Cases (CSV)

Twelve test cases with level, priority, the requirement each covers, preconditions, steps and expected result — the table a test-management import expects. Eleven of the twelve are automated, and the requirement column joins this file to the traceability matrix next to it.

Preview — first 14 linescsv
case_id,title,level,priority,requirement,preconditions,steps,expected_result,automated,suite
TC-001,Single item shows tax separately,unit,P1,REQ-PRICE-01,empty cart,add 1 NX-1042,subtotal 12.99 tax 2.60 total 15.59,yes,cart.PricingTest
TC-002,Quantity multiplies the subtotal,unit,P1,REQ-PRICE-02,empty cart,add 3 NX-1042,subtotal 38.97,yes,cart.PricingTest
TC-003,Negative quantity is rejected,unit,P2,REQ-PRICE-03,empty cart,add -1 NX-1042,ValueError raised,yes,cart.PricingTest
TC-004,Percentage discount applies to subtotal,unit,P1,REQ-DISC-01,subtotal 25.00,apply 20 percent,payable 20.00,yes,cart.DiscountTest
TC-005,Discounts stack in declared order,unit,P1,REQ-DISC-02,two coupons,apply both,percent then loyalty,yes,cart.DiscountTest
TC-006,Expired coupon is ignored,unit,P2,REQ-DISC-03,expired coupon,apply coupon,no change to payable,yes,cart.DiscountTest
TC-007,Loyalty tier pricing,integration,P3,REQ-DISC-04,loyalty member,apply tier,tier price applied,no,manual
TC-008,Session is created for a new cart,unit,P1,REQ-SESS-01,no session,add an item,session id issued,yes,checkout.SessionTest
TC-009,Session expires after timeout,integration,P1,REQ-SESS-02,session aged 30 min,read session,session rejected,yes,checkout.SessionTest
TC-010,Cart is restored on resume,integration,P2,REQ-SESS-03,saved session,resume,cart contents restored,yes,checkout.SessionTest
TC-011,Receipt renders as plain text,contract,P2,REQ-RCPT-01,cart with 1 item,request receipt,text receipt matches fixture,yes,checkout.ReceiptTest
TC-012,Payment capture retries on timeout,integration,P1,REQ-PAY-01,gateway timing out,capture payment,retried once then failed cleanly,yes,checkout.PaymentTest

Specifications

Seed
61200
Rows
12
Columns
10
Delimiter
,
Header
true
Levels
unit, contract, integration
Priorities
P1, P2, P3
Automated Cases
11
Line Endings
LF

Testing contract

Expected to pass
Scenario
Import a test-case table and join it to a requirements list.
Expected result
12 rows import with every requirement id resolving to a row in requirements-traceability.csv, and 11 rows marked automated.

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

“Test Case Matrix — Twelve Documented Cases (CSV)” is a deterministic Novus Examples fixture for CSV parsing, Data import, Conversion testing. Clean and deliberately messy CSVs — quoted commas, embedded newlines, ragged rows, odd delimiters, and encodings.

Documented properties for this file: seed 61200 · 12 rows · 10 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("test-case-matrix.csv")
print(df.head())
print(df.dtypes)

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