Ako písať testovateľné akceptačné kritériá

Reálny problém z praxe

Séria: Ako písať dokumentáciu a manuály v IT projekte

User story je často jedna veta. A akceptačné kritériá k nej buď nie sú vôbec, alebo sú tiež len „nejaké poznámky“.

Potom to dopadne vždy rovnako:

  • vývoj implementuje podľa svojho výkladu,
  • tester testuje podľa svojho výkladu,
  • dokumentácia sa píše podľa toho, čo sa „náhodou“ správa v systéme.

Akceptačné kritériá mali byť miesto, kde sa to celé zarovná. Lenže nie sú.

Čo sa tu vlastne pokazilo

Akceptačné kritériá sa zamieňajú za:

  • zoznam úloh („urobiť tlačidlo“, „pridať pole“, „upraviť DB“),
  • opis riešenia („spraviť endpoint“, „pridať tabuľku“),
  • alebo všeobecnú vetu („musí to fungovať“).

Testovateľné akceptačné kritériá však majú popísať pozorovateľné správanie systému tak, aby:

  • sa dalo jednoznačne overiť,
  • bolo jasné, čo je „hotovo“,
  • a minimalizovali sa dodatočné otázky.

Skutočné náklady

Keď akceptačné kritériá nie sú testovateľné:

  • vznikajú „falošné bugy“ (nie je jasné, či je to chyba alebo očakávané správanie),
  • pribúda ping-pong komunikácia v komentároch,
  • testy sa píšu neskoro a chaoticky,
  • dokumentácia sa dopisuje až po urgenciách od zákazníka.

Minimálny model riešenia

1) Kritérium musí byť pozorovateľné

Nie „systém bude bezpečný“, ale napríklad: „neautorizovaný používateľ dostane hlášku X a akcia sa nevykoná“.

2) Kritérium má byť binárne

Dá sa vyhodnotiť ako splnené/nesplnené.

3) Pokryť aspoň tri typy situácií

  • happy path (základný scenár),
  • validácie a chyby (čo sa stane pri zlom vstupe),
  • práva/role (kto to smie robiť).

4) Nepísať riešenie, ale správanie

Akceptačné kritériá nie sú technická špecifikácia.

BDD a Given–When–Then

BDD (Behavior-Driven Development) je prístup, kde sa požiadavky formulujú ako očakávané správanie systému v konkrétnych scenároch, aby boli zrozumiteľné pre biznis aj tím a dali sa priamo overovať.

Formát:

  • Given (za predpokladu)
  • When (keď)
  • Then (potom)

Príklad z praxe

User story

Ako používateľ chcem exportovať zoznam objednávok, aby som ich mohol spracovať v účtovnom systéme.

Akceptačné kritériá v Given–When–Then

Scenár 1: Export prebehne úspešne

  • Given (za predpokladu), že používateľ má rolu „Účtovník“ a v zozname sú aspoň 2 objednávky
  • When (keď) klikne na „Export“ a zvolí formát CSV
  • Then (potom) sa stiahne súbor CSV obsahujúci stĺpce: číslo objednávky, dátum, suma, mena

Scenár 2: Nie sú dáta na export

  • Given (za predpokladu), že zoznam objednávok je prázdny
  • When (keď) používateľ klikne na „Export“
  • Then (potom) systém zobrazí hlášku „Nie sú dostupné dáta na export“ a súbor sa nestiahne

Scenár 3: Nedostatočné oprávnenie

  • Given (za predpokladu), že používateľ nemá rolu „Účtovník“
  • When (keď) klikne na „Export“
  • Then (potom) systém export neumožní a zobrazí hlášku „Nemáte oprávnenie na export“

Poznámka: Technické detaily typu „kde je endpoint“ alebo „ako sa generuje CSV“ sem nepatria. To je až špecifikácia/technická dokumentácia.

Prepojenie na kvalitu a workflow

Akceptačné kritériá sú najkratšia cesta k tomu, aby:

  • tester vedel pripraviť testy bez dohadovania,
  • vývoj vedel, čo má byť výsledné správanie,
  • dokumentácia nebola písaná „objavovaním systému“.

V ideálnom workflow je to reťazec:

User story → Akceptačné kritériá → Test cases → Dokumentácia → Release notes

Ak zlyhá akceptácia, všetko ďalšie sa len „lepí“.

Mini checklist: testovateľné akceptačné kritériá

  • Sú kritériá napísané ako pozorovateľné správanie, nie riešenie?
  • Dá sa každé kritérium vyhodnotiť splnené/nesplnené?
  • Je pokrytý aspoň 1 happy path?
  • Je pokrytá aspoň 1 validačná/negatívna situácia?
  • Je pokryté oprávnenie/rola (ak je relevantné)?
  • Sú pomenované výstupy (hláška, zmena stavu, stiahnutý súbor, vytvorený záznam)?

Konkrétna formulácia do Jiry / DoD

Definition of Done – AC:

  • Akceptačné kritériá sú uvedené minimálne pre: happy path, negatívny scenár, oprávnenia (ak relevantné).
  • Kritériá sú napísané v Given (za predpokladu) / When (keď) / Then (potom) alebo ekvivalentne jasným testovateľným spôsobom.
  • Kritériá neobsahujú implementačné detaily.

Krátke zhrnutie

Testovateľné akceptačné kritériá sú krátky, ale presný opis správania systému.
Keď sú dobré, šetria čas vývoju, testerovi aj človeku, ktorý neskôr píše dokumentáciu.

Pridajte Komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Návrat hore