Bune Practici - sebiboga/testlink-upgraded GitHub Wiki

Bune Practici în TestLink ✨

1. Organizarea Proiectelor

✅ DO:

  • Creeaza un proiect per produs/release

    Bancă
    ├─ Proiect: Banking Web v1.5
    ├─ Proiect: Mobile App v2.0
    └─ Proiect: Admin Portal v1.0
    
  • Denumesti proiectele clar și descriptiv

    ✅ BINE: "Banking Web v2.0 - Q1 2024"
    ❌ RĂU: "Banking v2"
    
  • Documentezi scopul proiectului

    Nume: Banking Web v2.0
    Descriere: 
    Modern redesign cu noi feature-uri:
    - OAuth login
    - Real-time notifications
    - Dark mode
    - Mobile responsive
    
  • Stabilesti date de inceput și deadline

  • Atribui responsabil pe proiect

❌ DON'T:

  • Nu crea "Generic" sau "Test" projekte
  • Nu lăsa proiecte fără descriere
  • Nu muta test cases între proiecte
  • Nu ignora deadline-urile

2. Scrierea Test Cases

✅ DO:

Pași CLARI și SPECIFICI:

❌ RĂU: "Login"
✅ BINE: 
  Pas 1: Deschide https://banking.app/login
  Pas 2: Click câmp "Email"
  Pas 3: Introdu "[email protected]"
  Pas 4: Click câmp "Password"
  Pas 5: Introdu "SecurePass123"
  Pas 6: Click buton albastru "Sign In"

Precondițiuni CLARE:

❌ RĂU: "User is ready"
✅ BINE:
  - Browser: Chrome 119+ pe Windows 10
  - InternetConnection: Active
  - Account Status: Active (not locked)
  - Email: [email protected] (verified)
  - Password: SecurePass123 (correct)

Rezultate AȘTEPTATE OBSERVABILE:

❌ RĂU: "System works"
✅ BINE:
  - Page redirects to /dashboard
  - Display "Welcome, Test User"
  - Cookies set in browser
  - URL changes to: https://banking.app/dashboard
  - Session created in database

Linkare cu CERINȚE:

Test Case: TC-050
├─ Linkuri:
│  ├─ REQ-201: Login functionality
│  └─ REQ-210: OAuth support
└─ Coverage: 2 cerințe

Versionare IMPORTANTĂ:

Test Case: TC-050 (Login)
├─ v1: Initial
├─ v2: Added OAuth steps
└─ v3: Current - Added 2FA

❌ DON'T:

  • Nu pui 20+ pași in un test (max 10)

  • Nu face dependențe între test cases

    ❌ RĂU: 
    TC-100: Login (must run before TC-101)
    TC-101: Transfer (depends on TC-100)
    
  • Nu folosi vagi sau imprecis

    ❌ RĂU: "Click acolo" / "Introdu ceva"
    
  • Nu omite precondițiuni

  • Nu ștergi test cases (arhiveaza)


3. Planificarea Testelor

✅ DO:

Plan per Release:

Plan: Banking v2.0 Release
├─ Build: v2.0 RC1
├─ Platforme: Windows, Mac, iOS, Android
├─ Start: 2024-02-01
├─ End: 2024-02-15
├─ Test Cases: 300
└─ Status: Open

Atribuire CLARĂ:

Fiecare test case → unu tester
- Nu assign la multiple
- Nu lasa neassigned
- Nu sobreload (max 50/tester/plan)

Deadline-uri REALISTE:

✅ BINE:
- Estimare: 30 test cases/tester/week
- 250 test cases → 2 testatori × 2 săptămâni

❌ RĂU:
- 250 test cases → 1 tester × 3 zile (imposibil)

Prioritizare TEST CASES:

Ordine de execuție:
1. Smoke tests (sistem porneste)
2. Critical features (login, payments)
3. Integration tests
4. Edge cases
5. Nice-to-have features

❌ DON'T:

  • Nu face planuri cu 500+ test cases
  • Nu schimba deadline-urile des
  • Nu pune prea multi testatori
  • Nu ignora bufferarea pentru blockers

4. Executarea Testelor

✅ DO:

Respecta EXACT pașii:

Test Case: TC-050
Pas 1: Introdu "[email protected]"

[Tu]: Respecti exact emailul
[Rezultat]: Corect ✅

❌ RÂND: "Am introdus alt email"
(testul nu e valid)

Documenta OBSERVAȚII:

Notes:
- Login dura 2.3 secunde (normal)
- No errors in console
- Cookies set properly
- User-friendly interface
- Ready for production

Raporteza URGENT BLOCKERS:

Test Blocked:
- Dependent: Payment Gateway offline
- Expected: Online by tomorrow
- Action: Re-execute tomorrow
- Status: ON HOLD

Raporteza BUGS detaliat:

Bug: Password visible in plain text
Severity: CRITICAL
Pas: 3 (Password field)
Steps to Reproduce:
1. Open login page
2. Click Password field
3. Type password
4. See: Toți caractere vizibili

Screenshot: password_visible.png
Video: test_recording.mp4
Error log: console_error.txt

❌ DON'T:

  • Nu improviza pași
  • Nu sari pași
  • Nu teste cand esti obosit
  • Nu reporta vag bugs
  • Nu uita de attachments (screenshot)

5. Trasabilitate și Coverage

✅ DO:

Linkare Test ← → Cerință:

Înainte de start:
- Toate cerințele au test cases? ✓
- Coverage > 85%? ✓
- Untested? Documentate? ✓

Verifica Coverage:

REQ Coverage Report:
├─ Fully Covered: 45/50 (90%)
├─ Partially: 4/50 (8%)
├─ Not Covered: 1/50 (2%) ← Document why
└─ Decision: Proceed (low risk)

Track Test ← → Bug:

Test Execution:
├─ TC-050: FAIL
├─ Bug: BUG-2024-0456
├─ Status: JIRA linked
└─ Next: Retest after fix

❌ DON'T:

  • Nu lansa fără coverage > 80%
  • Nu lasa untested requirements
  • Nu ignora gaps
  • Nu ștergi linkuri

6. Rapoarte și Metrici

✅ DO:

Review Daily Progress:

Daily Standup:
- Progress: 250/300 tests done (83%)
- Pass Rate: 85%
- New Bugs: 3
- Blockers: 1

Track Key Metrics:

├─ Overall Pass Rate: 85%
├─ Platform Pass Rate: Windows 88%, Mac 82%
├─ Tester Performance: Maria 92%, Ion 85%
├─ Coverage: 94%
└─ Risk: LOW

Escalate Risks:

Risk: MEDIUM
├─ 30% fail rate (target: < 15%)
├─ Coverage: 78% (target: > 85%)
├─ Action: +1 tester, extended deadline
└─ Manager informed

❌ DON'T:

  • Nu ignora metrics
  • Nu lance cu low coverage
  • Nu raporteza vag blockers
  • Nu uita stakeholder updates

7. Integrări Externe

✅ DO:

Setup Integrări PRE-TEST:

Înainte de start:
- ✅ JIRA connection tested
- ✅ GitHub linked
- ✅ API tokens valid
- ✅ Permissions checked

Auto-link Bugs:

Bug Found → Auto-create JIRA
      ↓
JIRA ID linked în TestLink
      ↓
Track fix în JIRA
      ↓
Retest în TestLink

❌ DON'T:

  • Nu setup integrări la ultimă clipă
  • Nu crează manual bug-uri dacă auto-sync active
  • Nu share API tokens

8. Colaborare în Echipă

✅ DO:

Comunicație CLARĂ:

Daily Standup:
- "I'm testing module X, found 2 bugs"
- "I'm blocked on payment gateway"
- "Finished 30 tests, all pass"
- "Need clarification on step 3"

Documentație SHARED:

Wiki/Docs:
- Setup instruction (screenshots)
- Test data (test emails, accounts)
- Troubleshooting (common issues)
- Contacts (who to ask what)

Code of Conduct:

- Respect deadlines
- Document properly
- Communicate blockers
- Help teammates
- Share knowledge

❌ DON'T:

  • Nu lucra in silo
  • Nu documenta in private docs
  • Nu share criterii diferite
  • Nu compete între testatori

9. Managementul Versiunilor și Build-urilor

✅ DO:

Track Build Changes:

Plan Tracking:
├─ Build v1.5.0 RC1 (current)
├─ Build v1.5.0 RC2 (if RC1 fails)
├─ Build v1.5.0 GA (final)
└─ Each tracked separately

Re-test on Build Upgrade:

Build v1.5.0 RC1 → PASS 80%
        ↓
Build v1.5.0 RC2 (bug fix) → RE-RUN TESTS
        ↓
Result: PASS 90% ✅

❌ DON'T:

  • Nu test multiple builds in parallel (confusing)
  • Nu confunda version-urile

10. Pre-Launch Checklist

✅ FINAL REVIEW:

BEFORE PRODUCTION RELEASE:

Code:
☑️ All code reviewed
☑️ CI/CD passed
☑️ Security scan passed

Testing:
☑️ Coverage > 90%
☑️ Pass rate > 85%
☑️ Critical bugs: 0
☑️ High bugs: < 5
☑️ All platforms tested

Requirements:
☑️ All requirements tested
☑️ No missing features
☑️ Docs updated

Signoff:
☑️ QA Lead: Approved
☑️ Product Manager: Approved
☑️ DevOps: Ready to deploy
☑️ Manager: Released

11. Post-Launch Actions

✅ DO:

Documenta Learnings:

Post-Mortem (1 week after launch):
- What went well: 2 critical bugs caught
- What didn't: Coverage gaps in corner cases
- Next time: +1 tester for edge cases

Archive Completed Plans:

Plan v1.5: CLOSED
├─ Archive tests
├─ Save rapoarte
└─ Keep for reference

❌ DON'T:

  • Nu ștergi data după launch
  • Nu ignora feedback
  • Nu uita post-mortem

Summary: Workflow Ideal

PHASE 1: SETUP (Week 1)
├─ Creare proiect
├─ Configurare platform/build
├─ Scriere test cases
├─ Setup integrări
└─ Atribuire testatori

PHASE 2: PLANNING (Week 1-2)
├─ Creare test plan
├─ Atribuire test cases
├─ Set deadlines
└─ Review coverage (target > 85%)

PHASE 3: EXECUTION (Week 2-3)
├─ Daily testing
├─ Daily standup
├─ Bug raporting
├─ Retest fixed bugs
└─ Track progress

PHASE 4: REVIEW (End Week 3)
├─ Final metrics
├─ Gap analysis
├─ Risk assessment
├─ Go/No-Go decision
└─ Signoff

PHASE 5: LAUNCH (Week 4)
├─ Deployment
├─ Smoke testing
├─ Monitor in production
└─ Post-mortem

Succesul în TestLink vine din DISCIPLINĂ și DOCUMENTARE! 🎯