Sobes.tech
Junior

Poți vorbi despre testele de acceptare?

sobes.tech AI

Răspuns de la AI

Testarea de acceptare (Acceptance Testing) este nivelul de testare în care se verifică pregătirea produsului pentru lansare (decizie go/no-go).

Caracteristici principale și obiective:

  • Verificarea conformității cu cerințele clientului: Funcționalitatea, performanța, ușurința în utilizare și securitatea sunt evaluate din perspectiva utilizatorului final sau a clientului.
  • Participarea părților interesate: Este realizată de către clienți, analiști de afaceri, utilizatori finali sau reprezentanții lor.
  • Tipuri:
    • Test alfa: Este realizat de echipa internă (adesea, dar nu întotdeauna, în prezența clientului) în mediul dezvoltatorului sau al testerului.
    • Test beta: Este realizat de utilizatori reali în mediul lor de lucru real.
  • Criterii de acceptare: Condiții clar definite și măsurabile care trebuie îndeplinite pentru ca funcționalitatea să fie considerată acceptată. De obicei, formulate sub forma unor povești de utilizator sau scenarii.
    # Exemplu de scenariu cu Cucumber
    Scenariu: Autentificare reușită
        Având în vedere că utilizatorul se află pe pagina de autentificare
        Când utilizatorul introduce credențiale valide
        Și face clic pe butonul de autentificare
        Atunci utilizatorul ar trebui să fie redirecționat către tabloul de bord
    
  • Relația cu alte niveluri de testare: Se realizează după testarea sistemului, când sistemul în ansamblu a fost testat și considerat stabil.
  • Rezultat: Decizia dacă produsul corespunde așteptărilor clientului și este gata pentru lansare.

Instrumente: Pot fi utilizate aceleași instrumente ca și pentru testarea sistemului (Selenium, Cypress, TestRail etc.), dar adesea se folosesc și cadre BDD (Cucumber, SpecFlow, Behave) pentru automatizarea testelor bazate pe povești de utilizator.

# Exemplu de implementare a unui pas din Cucumber în Python cu Selenium
from selenium.webdriver.common.by import By

@when('utilizatorul introduce credențiale valide')
def step_impl(context):
    context.driver.find_element(By.ID, "username").send_keys("testuser")
    context.driver.find_element(By.ID, "password").send_keys("password123")