Gestionarea Cerințelor - sebiboga/testlink-upgraded GitHub Wiki

Gestionarea Cerințelor (Requirements Management) 📋

Ce sunt Cerințele?

Cerințele (Requirements) sunt descrieri ale funcționalității care trebuie implementată și testată:

Business Request
    ↓
Cerință: "Utilizatorii trebuie să se loghe cu Google OAuth"
    ↓
Implementation
    ↓
Test Cases: TC-001, TC-002, TC-003
    ↓
Execution & Tracking
    ↓
Release

Structura Cerință

Fiecare cerință are:

ID: REQ-050
Titlu: Login cu Google OAuth
Descriere:
Sistemul trebuie să accepte autentificare prin Google OAuth.
Utilizatorii pot folosi contul Google pentru acces rapid.

Status: Approved
Prioritate: High
Versiune: 2
Complexitate: Medium
Effort: 8 hours

Linked Test Cases: 5
Coverage: 100%
Implemented: ✅ v2.0 RC1

Creare Cerințe

Cine poate: Administrator, Manager, Requirements Analyst

Pași:

  1. Mergi la Proiect → Cerințe → Adaugă Cerință Nouă
  2. Completează:
Camp Descriere Obligatoriu
ID Unic (REQ-001) ✅
Titlu Scurt și clar ✅
Descriere Detalii ample ✅
Status Draft/Approved/Rejected ✅
Prioritate Critical/High/Medium/Low ✅
Complexitate Simple/Medium/Complex ❌
Effort Ore estimare ❌
  1. Apasă Salvează

Exemplu Cerință Completă:

ID: REQ-201
Titlu: Transfer Bani între Conturi Interne
Status: Approved
Prioritate: Critical

Descriere:
Utilizatorii trebuie să poată transfera bani din orice cont
în alt cont din același bank.

Funcționalități:
- Input destinație cont (validare)
- Input sumă (cu limițe)
- Confirmare transfer
- SMS OTP verification
- Instant completion
- Transaction log

Constraints:
- Minimum transfer: 1 RON
- Maximum transfer: 999,999 RON
- Available: 8 AM - 8 PM (business hours)
- Transaction fee: 1 RON

Acceptance Criteria:
- Transfer success in < 5 seconds
- User gets SMS confirmation
- Transaction logged in database
- Audit trail complete

Status Cerință

Status Semnificație Acțiune
Draft Cerință temporară, neaprobată Review și approve/reject
Approved Validă, trebuie implementată Assign to developer
In Progress Codată în development Monitor progress
Implemented Codul e gata Pass to QA pentru test
Tested Testarea completă Ready for release
Rejected Refuzată Archive
Deferred Amânată pentru viitor Re-plan

Workflow Status:

Draft → Approved → In Progress → Implemented → Tested → Released
  ↑                                                         ↓
  └─────────── Rejected / Deferred ←────────────────────┘

Organizare Cerințe

Hierarchie:

Proiect: Banking v2.0

Epic: User Management
├─ REQ-100: User Registration
├─ REQ-101: User Profile
├─ REQ-102: Password Management
└─ REQ-103: Account Deactivation

Epic: Transfers
├─ REQ-200: Domestic Transfer
├─ REQ-201: International Transfer
├─ REQ-202: Transfer History
└─ REQ-203: Transfer Limits

Epic: Reporting
├─ REQ-300: Transaction Report
├─ REQ-301: Tax Report
└─ REQ-302: Export PDF

Folder Organization:

Poți grupa cerințe în folder-uri:

Requirements/
├─ v1.0/
│  ├─ REQ-001 to REQ-050
│  └─ Status: Completed
│
├─ v2.0/
│  ├─ REQ-100 to REQ-150
│  └─ Status: In Progress
│
└─ Future/
   ├─ REQ-200 to REQ-250
   └─ Status: Not Started

Atribuite și Responsabilitate

Fiecare cerință trebuie atribuită:

REQ-201: Transfer Bani
├─ Owner (Analyst): Maria Ionescu
├─ Developer: Ion Popescu
├─ QA Lead: Alexandra Dumitrescu
└─ Stakeholder: Finance Manager

Schimbă Responsabili:

  1. Cerință → Editează
  2. Schimbă Owner/Developer/QA
  3. Salvează

Linkare cu Test Cases

Trasabilitate cruciala: Fiecare cerință → Test Cases

Metoda 1: Din Cerință

  1. Cerință → Linkuri → Adaugă Test Case
  2. Selectează test case din lista
  3. Apasă Salvează

Metoda 2: Din Test Case

  1. Test Case → Linkuri → Adaugă Cerință
  2. Selectează cerință
  3. Apasă Salvează

Exemplu Linkare:

REQ-201: Transfer Bani
├─ TC-201: Transfer amount validation
├─ TC-202: Destination account check
├─ TC-203: SMS OTP verification
├─ TC-204: Transaction log verification
└─ TC-205: Balance update verification

Coverage: 5/5 test cases = 100%
Status: All PASS ✅

Versionare Cerințe

Cerințele evoluează și se versioning:

REQ-201 (Transfer Bani)
├─ v1: Initial (approve Jan 2024)
├─ v2: Added international transfer (Feb 2024)
├─ v3: Added transfer limits (Mar 2024)
└─ v4: Added recurring transfers (current)

Fiecare versiune poate fi legată de build diferit:

v1 → Released în v1.5
v2 → Released în v2.0 RC1
v3 → Released în v2.0 RC2
v4 → Planned v2.1

Estimare și Tracking

Effort Estimation

REQ-201: Transfer
├─ Analysis: 4 hours
├─ Development: 16 hours
├─ Testing: 8 hours
├─ Documentation: 2 hours
└─ Total: 30 hours

Progress Tracking

REQ-201 Progress:

Status: In Progress (70% done)
├─ Analysis: ✅ Complete
├─ Development: 🟡 In Progress (80%)
├─ Testing: ⚪ Not Started
└─ Documentation: ⚪ Not Started

Timeline:
├─ Started: 2024-02-01
├─ Current Date: 2024-02-12
├─ Estimate End: 2024-02-20
└─ Days Left: 8

Traceability Matrix

Matrice completa: Requirements → Test Cases → Builds → Results

Matrice Complet:

REQ | Build v1.5 | Build v2.0 | Test Coverage | Status
----|------------|------------|---------------|--------
REQ-001 | ✅ Pass | ✅ Pass | 100% | Ready
REQ-002 | ✅ Pass | 🔴 Fail | 80% | Blocked
REQ-003 | ⚪ N/A | ✅ Pass | 100% | New feature
REQ-004 | ✅ Pass | ⚪ N/A | 100% | Deprecated

Cerințe Neacoperite

Raport automat: Care cerințe nu au test cases?

Untested Requirements Report:

REQ-045: Backup Automata
├─ Priority: High
├─ Status: Approved
├─ Tests: 0/0
└─ Action: Need to create test cases

REQ-067: Dark Mode
├─ Priority: Low
├─ Status: Draft
├─ Tests: 0/0
└─ Action: Can defer to v3.0

REQ-089: Mobile App
├─ Priority: Critical
├─ Status: In Progress
├─ Tests: 0/5
└─ Action: URGENT - Create tests now!

Gap Analysis

Identificare gaps în coverage:

Coverage Analysis:

Total Requirements: 100
With Test Cases: 90 (90%)
Without Test Cases: 10 (10%)

By Priority:
├─ Critical: 50/50 (100%) ✅
├─ High: 35/35 (100%) ✅
├─ Medium: 4/10 (40%) ⚠️
└─ Low: 1/5 (20%) ⚠️

Risk Assessment: MEDIUM
- Medium priority gaps need addressing

Stakeholder Communication

Raport pentru Stakeholder-i:

Requirements Status Report - 2024-02-12

Total Requirements: 100

Completed (Released): 50
- Status: ✅ In Production

In Development: 30
- Status: 🔄 On Track (85% complete)

Testing: 15
- Status: 🟡 Some issues found

Blocked: 3
- Status: 🔴 Waiting for decision

Not Started: 2
- Status: ⚪ Planned for v3.0

Overall: 95% on track for v2.0 release

Audit Trail

TestLink urmărește toți modificările:

REQ-201: Transfer Bani

Audit History:
2024-02-01 10:00 - Created by maria.ionescu
2024-02-05 14:30 - Status changed to Approved by manager
2024-02-10 09:15 - Linked TC-201 by alexandra.dumitrescu
2024-02-12 16:45 - Effort updated to 30h by ion.popescu

Best Practices

✅ DO:

  • Crează cerințe DETAILATE și CLARE
  • Linkează TOȚI test cases cu cerințe
  • Track coverage pre-launch
  • Review cerințe cu stakeholder-i
  • Versioneaza importante requirements
  • Archive oude requirements

❌ DON'T:

  • Nu lansa cu coverage < 80%
  • Nu uita untested requirements
  • Nu modifica cerințe fără audit trail
  • Nu ștergi cerințe (archivează)
  • Nu ignora stakeholder feedback

Workflow Tipic

FAZA 1: PLANNING
- Product team define cerințe
- Stakeholder approve
- Status: APPROVED

FAZA 2: DEVELOPMENT
- Dev team start coding
- Status: IN PROGRESS
- Track effort / timeline

FAZA 3: QA PLANNING
- QA create test cases
- Link cu cerințe
- Estimate test effort

FAZA 4: TESTING
- Execute test cases
- Report results
- Status: TESTED

FAZA 5: RELEASE
- Verify coverage 80%+
- Go/No-Go decision
- Release to production

Gata cu Requirements? Merge la Trasabilitate pentru coverage tracking! 📊