CI Pipeline with Test Management / 🧪 Run Tests & Generate Reports (push) Waiting to run
CI Pipeline with Test Management / 🐳 Docker Integration Tests (push) Blocked by required conditions
CI Pipeline with Test Management / 🏗️ Build Docker Image (push) Blocked by required conditions
CI Pipeline with Test Management / 📊 Generate Test Summary (push) Blocked by required conditions
Test Reporting & Gherkin Analysis / 🧪 Run Tests & Generate Reports (push) Waiting to run
Test Reporting & Gherkin Analysis / 📊 Analyze Test Coverage (push) Blocked by required conditions
Test Reporting & Gherkin Analysis / 🔄 Sync with Linear (push) Blocked by required conditions
Test Reporting & Gherkin Analysis / ⚡ Performance Monitoring (push) Blocked by required conditions
- agent docs: Linear (ZEE-*) → Plane (MITHOME-*) everywhere (task tracking, commit examples, workflows, env vars) - testing steering: replace the obsolete Gherkin/Linear reporting with the pre-deploy suite and the CMS test scripts - README: rewrite to Next.js 15, local deploy, Plane, CMS, security monitoring - DOCKER/proto docs: correct dev-stack ports (app 8080, mongo 27018) and Next.js 15 - content-editor-recovery: mark the old 'next steps' as done - mark clearly-obsolete Linear/GitHub-era guides as deprecated (banner) — LINEAR-SYNC, GITHUB-CICD/INTEGRATION, TEST-MANAGEMENT/REPORTING, traceability, sync-status analysis, requirements docs
125 lines
6.2 KiB
Markdown
125 lines
6.2 KiB
Markdown
> **ELAVULT (deprecated)** — Linear-korszakbeli (ZEE-*) nyomkövetés.
|
|
|
|
# Requirements Traceability Matrix
|
|
|
|
## 📋 Requirements ↔ Test Cases ↔ Automated Tests
|
|
|
|
### Contact Form Validation (REQ-001 / ZEE-47)
|
|
|
|
| Functional Requirement | Test Case | Automated Test File | Test Function | Status |
|
|
|------------------------|-----------|-------------------|---------------|--------|
|
|
| **FR-001: Required Field Validation** | | | | |
|
|
| - Name field required | TC-001 (ZEE-48) | `route.unit.test.ts` | `should reject missing name` | ✅ |
|
|
| - Email field required | TC-001 (ZEE-48) | `route.unit.test.ts` | `should reject missing email` | ✅ |
|
|
| - Subject field required | TC-001 (ZEE-48) | `route.unit.test.ts` | `should reject missing subject` | ✅ |
|
|
| - Message field required | TC-001 (ZEE-48) | `route.unit.test.ts` | `should reject missing message` | ✅ |
|
|
| - GDPR consent required | TC-001 (ZEE-48) | `route.unit.test.ts` | `should reject without GDPR consent` | ✅ |
|
|
| **FR-002: Email Format Validation** | | | | |
|
|
| - Valid email acceptance | TC-001 (ZEE-48) | `route.unit.test.ts` | `should accept valid contact form data` | ✅ |
|
|
| - Invalid email rejection | TC-001 (ZEE-48) | `route.unit.test.ts` | `should reject invalid email format` | ✅ |
|
|
| - Real-time validation | TC-001 (ZEE-48) | `browser-integration.test.ts` | `should validate form data before API submission` | ✅ |
|
|
| **FR-003: GDPR Consent Validation** | | | | |
|
|
| - Checkbox validation | TC-001 (ZEE-48) | `route.unit.test.ts` | `should reject without GDPR consent` | ✅ |
|
|
| - Explicit consent required | TC-001 (ZEE-48) | `browser-integration.test.ts` | `should reject invalid form data` | ✅ |
|
|
|
|
### Security & Performance (Non-Functional)
|
|
|
|
| Non-Functional Requirement | Test Case | Automated Test File | Test Function | Status |
|
|
|---------------------------|-----------|-------------------|---------------|--------|
|
|
| **NFR-001: Rate Limiting** | | | | |
|
|
| - Request throttling | TC-002 (ZEE-49) | `integration.test.ts` | `should handle contact form rate limiting` | ✅ |
|
|
| - Error handling | TC-002 (ZEE-49) | `integration.test.ts` | `should handle contact form rate limiting` | ✅ |
|
|
| - Recovery after limit | TC-002 (ZEE-49) | `integration.test.ts` | `should handle contact form rate limiting` | ✅ |
|
|
| **NFR-002: Spam Protection** | | | | |
|
|
| - Spam content detection | - | `integration.test.ts` | `should handle contact form spam detection` | ✅ |
|
|
| - Suspicious pattern blocking | - | `integration.test.ts` | `should handle contact form spam detection` | ✅ |
|
|
| **NFR-003: Input Sanitization** | | | | |
|
|
| - XSS prevention | - | `route.unit.test.ts` | `should sanitize input data` | 🟡 |
|
|
| - SQL injection prevention | - | N/A | MongoDB uses BSON | ✅ |
|
|
|
|
### End-to-End User Flows
|
|
|
|
| User Journey | Test Case | Automated Test File | Test Function | Status |
|
|
|--------------|-----------|-------------------|---------------|--------|
|
|
| **Complete Form Submission** | | | | |
|
|
| - Navigate to contact page | - | `e2e-docker.test.ts` | `should navigate through all main pages` | ✅ |
|
|
| - Fill form with valid data | - | `e2e-docker.test.ts` | `should handle complete contact form submission flow` | ✅ |
|
|
| - Submit successfully | - | `e2e-docker.test.ts` | `should handle complete contact form submission flow` | ✅ |
|
|
| **Error Handling Flow** | | | | |
|
|
| - Submit invalid data | - | `e2e-docker.test.ts` | `should handle validation errors properly` | ✅ |
|
|
| - See validation errors | - | `e2e-docker.test.ts` | `should handle validation errors properly` | ✅ |
|
|
| - Correct and resubmit | - | Manual Test | - | 🟡 |
|
|
|
|
## 📊 Coverage Statistics
|
|
|
|
### Overall Coverage
|
|
- **Requirements Covered**: 3/3 (100%)
|
|
- **Test Cases Created**: 2/3 (67%)
|
|
- **Automated Tests**: 15/15 (100%)
|
|
- **Passing Tests**: 15/15 (100%)
|
|
|
|
### Test Type Distribution
|
|
- **Unit Tests**: 8 tests (53%)
|
|
- **Integration Tests**: 4 tests (27%)
|
|
- **E2E Tests**: 3 tests (20%)
|
|
|
|
### Priority Coverage
|
|
- **Critical**: 3/3 tests (100%)
|
|
- **High**: 5/5 tests (100%)
|
|
- **Medium**: 4/4 tests (100%)
|
|
- **Low**: 3/3 tests (100%)
|
|
|
|
## 🔄 Continuous Tracking
|
|
|
|
### Last Updated
|
|
- **Date**: 2025-01-05
|
|
- **Updated By**: Test Management System
|
|
- **Test Execution**: All tests passing ✅
|
|
|
|
### Pending Items
|
|
- [ ] Create TC-003 for accessibility testing
|
|
- [ ] Add manual test cases for UI/UX validation
|
|
- [ ] Implement XSS prevention test
|
|
- [ ] Add performance benchmark tests
|
|
|
|
### Linear Issue Links
|
|
|
|
#### **Funkcionális Követelmények (REQ-001-099)**
|
|
- **REQ-001**: [ZEE-50 - Kezdőlap Funkcionalitás](https://linear.app/zeener/issue/ZEE-50)
|
|
- **REQ-004**: [ZEE-51 - Kapcsolat Űrlap](https://linear.app/zeener/issue/ZEE-51)
|
|
- **REQ-002**: [ZEE-47 - Rólunk Oldal](https://linear.app/zeener/issue/ZEE-47) (legacy)
|
|
- **REQ-003**: [ZEE-XX - Szolgáltatások Oldal](https://linear.app/zeener/issue/ZEE-XX) (planned)
|
|
- **REQ-005**: [ZEE-XX - Navigáció Rendszer](https://linear.app/zeener/issue/ZEE-XX) (planned)
|
|
- **REQ-006**: [ZEE-XX - Webmail Integráció](https://linear.app/zeener/issue/ZEE-XX) (planned)
|
|
|
|
#### **Nem-funkcionális Követelmények (REQ-100-199)**
|
|
- **REQ-101**: [ZEE-52 - Responsive Design](https://linear.app/zeener/issue/ZEE-52)
|
|
- **REQ-102**: [ZEE-53 - Accessibility (A11y)](https://linear.app/zeener/issue/ZEE-53)
|
|
- **REQ-103**: [ZEE-XX - SEO Alapok](https://linear.app/zeener/issue/ZEE-XX) (planned)
|
|
|
|
#### **Teljesítmény Követelmények (REQ-400-499)**
|
|
- **REQ-401**: [ZEE-54 - Lighthouse Score ≥ 90](https://linear.app/zeener/issue/ZEE-54)
|
|
|
|
#### **Test Cases**
|
|
- **TC-001**: [ZEE-48 - Email Format Validation Test](https://linear.app/zeener/issue/ZEE-48)
|
|
- **TC-002**: [ZEE-49 - Rate Limiting Integration Test](https://linear.app/zeener/issue/ZEE-49)
|
|
|
|
## 🎯 Quality Gates
|
|
|
|
### Definition of Done - Requirements
|
|
- [x] Requirement documented with acceptance criteria
|
|
- [x] Test cases created and linked
|
|
- [x] Automated tests implemented
|
|
- [x] All tests passing
|
|
- [x] Code review completed
|
|
- [x] Documentation updated
|
|
|
|
### Definition of Done - Test Cases
|
|
- [x] Test steps clearly defined
|
|
- [x] Expected results specified
|
|
- [x] Automated implementation exists
|
|
- [x] Edge cases covered
|
|
- [x] Linked to parent requirement
|
|
|
|
This traceability matrix ensures complete coverage from requirements through test cases to automated test implementation, providing full visibility into our test management process.
|