Test Traceability
53 of 55 requirements have no linked test case
| Requirement | Description | Test Case | Type | DQ Rule | Automation Script | Latest Execution |
|---|---|---|---|---|---|---|
| REQ-201 active | The document requires that customer data be renamed to 'customer_thai' and the 'fax' field must be changed to 'address', with all new data entries being formatted as a comma-separated pair of 'customer_id,address'. | TC-REQ-PICKER-VERIFY-001 Requirement picker live verification Test case: retired | functional | — | No automation script | Not executed |
| REQ-CHINOOK-001 active | Pipeline ที่นำเข้าข้อมูลจากตาราง track ต้องตรวจสอบ Schema ก่อนประมวลผล โดยต้องตรวจสอบว่าคอลัมน์ที่จำเป็นยังมีอยู่และชนิดข้อมูลไม่เปลี่ยนแปลง หากพบการเปลี่ยนแปลงที่ไม่เข้ากัน ต้องหยุดการประมวลผลของขั้นตอนถัดไป และต้องบันทึกเหตุการณ์ Schema Drift พร้อมระบุคอลัมน์ที่มีการเปลี่ยนแปลงไว้สำหรับตรวจสอบย้อนหลัง | No test cases linked — coverage gap | ||||
| REQ-COPILOT-001 active | Copilot routing-layer regression coverage. | No test cases linked — coverage gap | ||||
| REQ-COVERAGE-001 active | Requirement-level coverage-report regression coverage. | TC-DQ-PICKER-001 Album not-null check | data_quality | album.album_id — not_null |
| Pass Sep 25, 2026, 4:15 AM |
| REQ-DE-002 active | เนื่องจากจะรับข้อมูลลูกค้าจากระบบ CRM ใหม่ customer_id ต้องเปลี่ยนจาก INTEGER เป็น VARCHAR(20) รูปแบบ 'CRM-xxxxx' ยังคงห้ามซ้ำและห้ามเป็นค่าว่าง และตารางปลายทางที่ใช้ customer_id ต้องรองรับชนิดใหม่ | No test cases linked — coverage gap | ||||
| REQ-DE-003 active | Customer email addresses must be fully hidden in all downstream reporting outputs. | No test cases linked — coverage gap | ||||
| REQ-DE-004 active | Data governance requirement for the customer dataset. | No test cases linked — coverage gap | ||||
| REQ-DIAG-001 active | diag | No test cases linked — coverage gap | ||||
| REQ-DIAG-002 active | diag | No test cases linked — coverage gap | ||||
| REQ-DIFF-TEST-001 active | Customer phone numbers must be retained for 90 days after account closure. | No test cases linked — coverage gap | ||||
| REQ-ERRMAP-001 active | Error-mapping regression coverage for /requirements/{id}/impact. | No test cases linked — coverage gap | ||||
| REQ-HIST-001 active | History regression coverage. | No test cases linked — coverage gap | ||||
| REQ-PROMO-01 active | เปลี่ยนมาทำโปรโมชั่นระดับอัลบั้ม (album) แทนระดับเพลงเดี่ยว | No test cases linked — coverage gap | ||||
| REQ-PROMO-02 active | Verification requirement for docker container fix (port 3001 write path) | No test cases linked — coverage gap | ||||
| REQ-PROMO-03 active | โปรโมชั่นเดือนนี้อิงข้อมูลลูกค้าเพื่อหาเพลงยอดฮิตของเดือน" | No test cases linked — coverage gap | ||||
| REQ-PROMO-04 active | ติดตามข้อมูลอัลบัมเพื่อทำ catalog → เปลี่ยนมาติดตามข้อมูลการซื้อขายของแทน เพราะเป็นจุดที่กระทบระบบอื่นเยอะที่สุด | No test cases linked — coverage gap | ||||
| REQ-TEST-001 active | Customer email must be masked in downstream reporting. | No test cases linked — coverage gap | ||||
| REQ-TEST-TT-001 active | Test Traceability fixture requirement REQ-TEST-TT-001. | No test cases linked — coverage gap | ||||
| REQ-TEST-TT-GAP-001 active | Test Traceability fixture requirement REQ-TEST-TT-GAP-001. | No test cases linked — coverage gap | ||||
| REQ-TOOLREG-01 active | tool_registry.py Phase 3 requirement-tool regression coverage. | No test cases linked — coverage gap | ||||
| REQ-TT-001 active | Test Traceability fixture requirement REQ-TT-001. | No test cases linked — coverage gap | ||||
| REQ-TT-COV-ACT active | Coverage endpoint fixture requirement (active). | No test cases linked — coverage gap | ||||
| REQ-TT-COV-RET deprecated | Coverage endpoint fixture requirement (retired). | No test cases linked — coverage gap | ||||
| REQ-TT-GAP-01 active | Test Traceability fixture requirement REQ-TT-GAP-01. | No test cases linked — coverage gap | ||||
| REQ-TT-STALE-1 active | Test Traceability fixture requirement REQ-TT-STALE-1. | No test cases linked — coverage gap | ||||
| REQ-WIKI-001 active | Wiki requirement-scoped retrieval regression coverage. | No test cases linked — coverage gap | ||||
| THS-REQ-001 active | ค่า `customer_id` ในตาราง customer ต้องไม่ซ้ำกัน | No test cases linked — coverage gap | ||||
| THS-REQ-002 active | คอลัมน์ `customer_id` ของตาราง customer ต้องมีชนิดข้อมูล `int` | No test cases linked — coverage gap | ||||
| THS-REQ-003 active | ค่า `email` ที่ไม่ว่างทุกแถวต้องตรง regex `^[^@\s]+@[^@\s]+\.[^@\s]+$` | No test cases linked — coverage gap | ||||
| THS-REQ-004 active | ค่า `support_rep_id` ที่ไม่ว่างทุกแถวต้องมีอยู่ใน `employee.employee_id` | No test cases linked — coverage gap | ||||
| THS-REQ-006 active | ค่า `first_name, last_name, email, support_rep_id` ราย `customer_id` ต้องตรงกับต้นทางทุกแถว | No test cases linked — coverage gap | ||||
| THS-REQ-007 active | ค่า `total` ของ invoice ต้องอยู่ระหว่าง 0 ถึง 25 | No test cases linked — coverage gap | ||||
| THS-REQ-009 active | จำนวนแถวของ invoice_line ปลายทางต้องเท่ากับต้นทางในทุก partition | No test cases linked — coverage gap | ||||
| THS-REQ-011 active | ค่า `name` ต้องเป็นหนึ่งใน 5 ค่า: AAC audio file, MPEG audio file, Protected AAC audio file, Protected MPEG-4 video file, Purchased AAC audio file | No test cases linked — coverage gap | ||||
| THS-REQ-012 active | ตาราง customer_summary ต้องมีคอลัมน์ `total_spend` | No test cases linked — coverage gap | ||||
| THS-REQ-013 active | customer_summary ต้องถูกเขียนสำเร็จครั้งล่าสุดไม่เกิน 24 ชั่วโมง | No test cases linked — coverage gap | ||||
| THS-REQ-014 active | ค่า `spend_tier` ต้องเป็นหนึ่งใน `high`, `medium`, `low` | No test cases linked — coverage gap | ||||
| THS-REQ-015 active | ค่า `customer_id` ของ invoice_summary ต้องไม่ว่างทุกแถว | No test cases linked — coverage gap | ||||
| THS-REQ-016 active | คอลัมน์ `milliseconds` ของ track ต้องมีชนิด `int` | No test cases linked — coverage gap | ||||
| THS-REQ-017 active | คอลัมน์ `unit_price` ของ invoice_line ต้องมีชนิด `decimal(10,2)` | No test cases linked — coverage gap | ||||
| THS-REQ-018 active | invoice_summary ต้องถูกเขียนสำเร็จครั้งล่าสุดไม่เกิน 72 ชั่วโมง (ตาม DQ rule 47) | No test cases linked — coverage gap | ||||
| THS-REQ-019 active | `line_count` ของแต่ละ `invoice_id` ต้องเท่ากับจำนวน `invoice_line_id` ใน invoice_line และ invoice ที่ไม่มีแถวใน invoice_line ต้องมี `line_count` เป็น 0 (fillna(0) ที่ core/capabilities/invoice_summary.py:25) | No test cases linked — coverage gap | ||||
| THS-REQ-020 active | `total_spend` ของแต่ละ `customer_id` ต้องเท่ากับผลรวม `total_amount` ใน invoice_summary และ customer ที่ไม่มีแถวใน invoice_summary ต้องไม่มี total_spend (null) | No test cases linked — coverage gap | ||||
| THS-REQ-021 active | `spend_tier` ต้องเป็น `high` เมื่อ `total_spend >= 100`, `medium` เมื่อ `>= 40`, นอกนั้น `low` | No test cases linked — coverage gap | ||||
| THS-TLC-001 active | จำนวนแถวของ raw_trips ต่อวัน (partition ตามวัน pickup) เท่ากับจำนวนแถวของไฟล์ต้นทางในวันนั้น | No test cases linked — coverage gap | ||||
| THS-TLC-002 active | checksum ราย partition (วัน pickup) ของ column หลักใน raw_trips (21 column ที่ประกาศจากไฟล์ต้นทาง) ตรงกับต้นทาง | No test cases linked — coverage gap | ||||
| THS-TLC-003 active | `clean_trips.fare_amount` ต้องไม่ติดลบ | No test cases linked — coverage gap | ||||
| THS-TLC-004 active | ค่าที่ไม่ว่างของ `clean_trips.payment_type` ต้องอยู่ใน {0, 1, 2, 3, 4, 5, 6} ตาม data dictionary | No test cases linked — coverage gap | ||||
| THS-TLC-005 active | `clean_trips.PULocationID` และ `DOLocationID` ต้องไม่ว่าง | No test cases linked — coverage gap | ||||
| THS-TLC-007 active | รายได้รวม (`total_revenue`) ใน borough_kpi เท่ากับผลรวม `total_amount` ของ clean_trips ต่อ (`pickup_date`, `pu_borough`) | No test cases linked — coverage gap | ||||
| THS-TLC-008 active | ระยะทางเฉลี่ยต่อเที่ยว (`avg_trip_distance`) ใน borough_kpi เท่ากับค่าเฉลี่ย `trip_distance` ของ clean_trips ต่อ (`pickup_date`, `pu_borough`) | No test cases linked — coverage gap | ||||
| THS-TLC-009 active | clean_trips ต้องแสดง column ตามรายการที่กำหนด (column ที่มีอยู่ตอนสร้าง baseline) | No test cases linked — coverage gap | ||||
| THS-TLC-010 active | ชนิดของ `clean_trips.trip_distance` เป็น double และ `lpep_pickup_datetime` เป็น timestamp | No test cases linked — coverage gap | ||||
| THS-TLC-011 active | การโหลด clean_trips ที่สำเร็จล่าสุดต้องไม่เก่ากว่า 35 วัน (840 ชั่วโมง) เมื่อเทียบกับนาฬิกาจำลอง | No test cases linked — coverage gap | ||||
| THS-TLC-012 active | partition วันล่าสุดของ clean_trips ต้องไม่ถอยหลังจาก partition ล่าสุดของ snapshot ล่าสุดที่ผ่าน requirement นี้ (high-watermark) และจำนวนเที่ยวของ partition นั้นต้องไม่น้อยกว่าค่าต่ำสุดของ 28 partition ก่อนหน้า | No test cases linked — coverage gap | ||||