Ce este Quality Assurance?

Subiect din roadmap-ul QA Engineer · parte din „Bazele QA”

Quality Assurance (QA) reprezintă ansamblul activităților sistematice menite să garanteze că un produs software îndeplinește standardele de calitate și așteptările utilizatorilor. Spre deosebire de testarea simplă, QA se concentrează pe prevenirea defectelor prin îmbunătățirea proceselor de dezvoltare, asigurând astfel fiabilitatea și stabilitatea aplicației. Este crucială deoarece reduce costurile de corectare ulterioară și protejează reputația companiei în fața clienților.

Ce trebuie să știi

  • Diferența dintre QA și Testing: Testarea este o activitate de validare (găsirea bug-urilor), în timp ce QA este un proces managerial și preventiv (evitarea bug-urilor).
  • Tipuri de testare: Cunoaște distincția dintre testarea funcțională (ce face aplicația) și cea non-funcțională (performanță, securitate, UX).
  • Ciclul de viață al defectelor: Înțelege fluxul complet al unui bug, de la raportare și triere, până la fixare și re-testare.
  • Automatizare vs. Manual: Ști când este eficient să scrii teste automate (pentru regresie) și când intervenția manuală este necesară (exploratorie).
  • Documentație: Abilitatea de a scrie cazuri de test clare, reproductibile și ușor de înțeles de către echipă.
  • Colaborare: QA-ul lucrează strâns cu developerii, product managerii și designerii pentru a alinia așteptările tehnice cu cele de business.

Exemplu concret: Scenariu de testare

Imagină-ți o funcție de login. Un test manual verifică dacă utilizatorul poate intra cu parolele corecte. Un test automat (pseudocod) ar arăta astfel:

def test_login_invalid_password():
    user = User("test@example.com", "wrong_pass")
    response = login(user)
    
    # Verificăm că eroarea este afișată și token-ul nu este generat
    assert response.status_code == 401
    assert "Invalid credentials" in response.message
    assert response.token is None

Acest exemplu ilustrează cum QA-ul nu doar „încearcă” aplicația, ci validează comportamentul exact al sistemului față de așteptări.

Cum să înveți

  1. Stăpânește bazele teoretice: Citește despre modelele de testare (V-model, Agile testing) și tehnici de proiectare a cazurilor de test (echivalență, valori limită).
  2. Practică manual: Descarcă o aplicație open-source sau folosește un site public și încearcă să găsești bug-uri, documentându-le profesional (pași pentru reproducere, așteptat vs. obținut).
  3. Învață un limbaj de scripting: Începe cu Python sau JavaScript pentru a înțelege logica din spatele automatizării, chiar dacă nu devii imediat expert în Selenium sau Cypress.

Resurse gratuite

Alte subiecte din „Bazele QA”