Cerințe și Trasabilitate - sebiboga/testlink-upgraded GitHub Wiki
Cerințe și Trasabilitate 📋
Ce este o Cerință (Requirement)?
O Cerință este o descriere a ceva ce trebuie implementat și testat:
Cerință: REQ-101
Titlu: Utilizatorii trebuie să se poată loga cu email și parolă
Status: Approved
Prioritate: Critical
Cover Age: 85% (7/8 test cases)
Relația: Cerință → Test Cases
TestLink urmărește cărui test case acoperă care cerință:
Cerință: REQ-050 (Login functionality)
├─ Test Case: TC-001 (Login valid email)
├─ Test Case: TC-002 (Login invalid email)
├─ Test Case: TC-003 (Login blank email)
├─ Test Case: TC-004 (Password reset)
├─ Test Case: TC-005 (Logout)
├─ Test Case: TC-006 (Session timeout)
├─ Test Case: TC-007 (Remember me)
└─ Test Case: TC-008 (2FA)
Coverage: 8/8 test cases → 100% acoperit
Aceasta se numește Trasabilitate - putem urmări ce cerințe sunt testate și cât de bine.
Adăugare Cerințe
Cine poate: Administrator, Manager
Pași:
- Mergi la Proiect → Cerințe → Adaugă Cerință Nouă
- Completează:
| Camp | Descriere |
|---|---|
| Titlu | Descriere scurtă |
| ID Cerință | Unic (ex: REQ-001) |
| Descriere | Detalii ample |
| Prioritate | Critical/High/Medium/Low |
| Status | Draft/Approved/Rejected |
| Versiune | 1 (implicit) |
- Apasă Salvează
Exemplu Cerință:
ID: REQ-201
Titlu: Transferuri de bani între conturi
Descriere:
Sistemul trebuie să permită utilizatorilor să transfere bani
dintr-un cont în altul, cu validare destinație și confirmă
prin SMS OTP.
Prioritate: Critical
Status: Approved
Versiune: 1
Linkare Test Case cu Cerință
Din Test Case:
- Deschide Test Case
- Mergi la Linkuri → Adaugă Cerință
- Selectează cerință din lista
- Apasă Salvează
Efectul:
Test Case: TC-101
├─ Linkuri:
│ ├─ Cerință: REQ-201 (Transferuri bani)
│ └─ Cerință: REQ-202 (Validare Destinație)
└─ Coverage: Acoperă 2 cerințe
Din Cerință:
- Deschide Cerință
- Mergi la Test Cases
- Apasă Adaugă Test Case
- Selectează din lista sau creează nou
- Apasă Salvează
Matrice Trasabilitate
Poți vedea matricea completa: Care test case acoperă care cerință.
Acces:
- Rapoarte → Matrice Trasabilitate
- Sau Cerință → Tabel Coverage
Exemplu Matrice:
Cerință | TC-001 | TC-002 | TC-003 | Coverage
---------|--------|--------|--------|----------
REQ-001 | ✅ | ✅ | ✅ | 100%
REQ-002 | ✅ | ❌ | ✅ | 66%
REQ-003 | ❌ | ❌ | ❌ | 0% ⚠️
REQ-004 | ✅ | ✅ | ❌ | 66%
Coverage Rapoarte
TestLink calculează automat:
Project Coverage Summary
Total Cerințe: 50
Acoperite complet (100%): 40
Parțial acoperite (50-99%): 8
Neacoperite (< 50%): 2
Coverage Proiect: 92%
Interpretare:
| Coverage | Semnificație | Risc |
|---|---|---|
| 100% | Toate cerințele au test cases | ✅ Low |
| 80-99% | Aproape toate acoperite | 🟡 Medium |
| 50-79% | Gapuri semnificative | 🟠 High |
| < 50% | Coverage insuficient | 🔴 Critical |
Untested Requirements
Raportul de Cerințe Netestare:
Cerințe fără test cases:
1. REQ-045: Backup Automata
Prioritate: High
Action: Trebuie create test cases urgent
2. REQ-067: Dark Mode
Prioritate: Low
Action: Nice to have, lower priority
Acces:
- Rapoarte → Untested Requirements
- Vezi ce cerințe nu au test cases
- Prioritizează care trebuie testate
Status Cerințe
| Status | Semnificație |
|---|---|
| Draft | Cerință temporară, neaprobată |
| Approved | Cerință validă, trebuie implementată |
| Rejected | Cerință refuzată, nu va fi făcută |
| Implemented | Deja codificat, aștapta test |
| Tested | Testare completă, gata lansat |
Schimbă Status:
- Cerință → Editează
- Status dropdown
- Salvează
Versionare Cerințe
Cerințele se pot versiona:
REQ-001 (Login Functionality)
├─ v1 (Initial)
├─ v2 (Added 2FA requirement)
├─ v3 (Added biometric login)
└─ v4 (Current - OAuth added)
Fiecare versiune poate fi legată de alte test cases.
Coverage per Build
Poți vedea coverage pentru fiecare build:
Build v1.0:
- Coverage: 85%
- Untested: 7 cerințe
Build v1.1:
- Coverage: 92%
- Untested: 3 cerințe
Build v2.0:
- Coverage: 98%
- Untested: 1 cerință
Rapoarte Trasabilitate
1. Coverage by Requirement
REQ-001: 100% (5/5 tests pass)
REQ-002: 60% (3/5 tests pass, 2 fail)
REQ-003: 0% (0 tests)
2. Gaps in Coverage
Cerințe fără test cases: 3
Cerințe cu test cases failed: 8
Cerințe implementate dar netestare: 2
3. Requirements vs Build
Build v1.5:
- Implemented: 48
- Tested: 45
- Untested: 3
Linkare cu Bug Reports
Cerințele se pot linka și cu bug reports:
REQ-050: Transfer Bani
├─ Test Cases: 8
├─ Bugs Found:
│ ├─ BUG-2024-015 (Transfer amount validation)
│ └─ BUG-2024-016 (Destination account check)
└─ Status: BLOCKED (waiting bug fixes)
Best Practices
✅ DO:
- Creează cerințe ÎNAINTE de test cases
- Linkează fiecare test case cu cerință
- Review coverage pre-launch
- Documentează de ce sunt untested requirements
- Track coverage metrics
- Archive cerințe vechi
❌ DON'T:
- Nu crea test case fără cerință linkată
- Nu lansa cu coverage < 80%
- Nu uita untested requirements
- Nu modifica cerințe fără aprobă
- Nu ștergi cerințe (archivează)
Workflow Trasabilitate Tipic
ETAPA 1: Definire Cerințe
- Product Manager creează cerințe
- Stakeholder-ii aprobă
- Status: APPROVED
ETAPA 2: Creare Test Cases
- QA Lead creează test cases
- Linkează cu cerințe
- Review coverage
- Status: READY
ETAPA 3: Execuție Teste
- Testatori execută
- Raportează pass/fail
- Status: TESTED
ETAPA 4: Pre-Launch Review
- Coverage report: 95%
- Untested: 1 cerință (Low priority)
- Approved pentru launch
Gata cu Cerințe? Merge la Integrări Externe! 🔗