Skip to content

Kako napisati QRD: vodič za zahteve kvaliteta

QRD, ili Quality Requirements Document, definiše standarde kvaliteta koje gotov proizvod mora da ispuni. Dok funkcionalni zahtevi opisuju šta sistem radi, a nefunkcionalni zahtevi opisuju koliko dobro funkcioniše, QRD postavlja granicu prihvatanja — merljive kriterijume koji određuju da li je proizvod spreman za release.

QRD odgovara na pitanje: kako znamo da je ovaj proizvod dovoljno dobar da se isporuči?

Key insight

QRD nije plan testiranja. Plan testiranja opisuje kako testirati sistem. QRD opisuje šta „kvalitet” znači za ovaj konkretni projekat — benčmarkove, standarde i kriterijume prihvatanja koje testiranje mora da verifikuje.

Ko piše i za koga

Vlasnik QRD-a je obično QA lider, menadžer kvaliteta, test arhitekta ili tehnički projektni menadžer — neko ko može da prevede poslovna očekivanja u merljive ciljeve kvaliteta.

ČitalacŠta traži u dokumentu
QA / test inženjeriKriterijumi prihvatanja, benčmarkovi kvaliteta, ciljevi pokrivenosti testova
DeveloperiStandardi kvaliteta po kojima moraju da kodiraju, definicija završenog
Produkt menadžeriKriterijumi spremnosti za release, kompromisi u kvalitetu
Projektni menadžeriMiljokazi kvaliteta, pragovi rizika, go/no-go kriterijumi
Compliance / pravni timRegulatorni standardi kvaliteta, zahtevi za reviziju
Zainteresovane stranePoverenje da proizvod ispunjava njihova očekivanja

Kada je QRD potreban — a kada nije

QRD je potreban kada:

  • Projekat ima eksterne standarde kvaliteta koje mora da ispuni (ISO 9001, IEC 62304 za medicinske uređaje, DO-178C za avijacijski softver)
  • Više timova ili vendora doprinosi proizvodu i potrebni su im zajednički benčmarkovi kvaliteta
  • Organizacija ima formalan proces release-a sa kapijama kvaliteta
  • Prethodni projekti su imali probleme sa kvalitetom jer kriterijumi prihvatanja nisu bili definisani ili su bili neformalni
  • Klijent ima specifična očekivanja kvaliteta dokumentovana u ugovoru

QRD nije potreban kada:

  • Tim ima uspostavljenu definiciju završenog i kulturu kvaliteta koja funkcioniše bez formalne dokumentacije
  • Zahtevi za kvalitet su već pokriveni u sekciji nefunkcionalnih zahteva SRD-a
  • Projekat je prototip, MVP ili proof of concept gde se kvalitet eksplicitno žrtvuje zarad brzine
  • Tim je dovoljno mali da se standardi kvaliteta komuniciraju usmeno i dosljedno primenjuju

Šta QRD sadrži

Osnovne sekcije

QRD obično uključuje pet sekcija:

  1. Uvod — svrha, opseg, odnos sa drugim dokumentima (SRD, PRD, plan testiranja) i definicije pojmova kvaliteta korišćenih u dokumentu.

  2. Atributi kvaliteta — specifične karakteristike kvaliteta koje proizvod mora da pokaže, svaka sa merljivim ciljem.

    AtributDefinicijaCiljMetod merenja
    PouzdanostUptime sistema i stopa grešaka99,95% uptime, ispod 0,1% stopa grešakaProdukcijski monitoring, mesečno
    PerformanseVreme odziva pod opterećenjemP95 < 300ms pri 5K istovremenih korisnikaLoad testiranje sa k6/Locust
    BezbednostOtpornost na poznate ranjivostiNula kritičnih/visokih CVE pri release-uSAST + DAST skeniranje, penetration test
    UpotrebljivostZavršenost zadataka od strane ciljnih korisnika90% stopa završetka zadatka u testiranju upotrebljivostiModerisani test upotrebljivosti, N=10
    OdrživostSloženost koda i pokrivenost testovimaCiklomatska složenost ispod 15, pokrivenost testovima iznad 80%SonarQube analiza
    PristupačnostUsaglašenost sa standardima pristupačnostiWCAG 2.2 AAAutomatizovana + ručna revizija
    KompatibilnostPodrška za pregledače i uređajeChrome, Firefox, Safari, Edge (poslednje 2 verzije); iOS 16+, Android 13+Matrica cross-browser testiranja
  3. Kriterijumi prihvatanja — specifični, testabilni uslovi koji moraju biti ispunjeni pre nego što proizvod može da se release-uje. Svaki kriterijum je povezan sa atributom kvaliteta i ima prag prolaz/pad.

    IDKriterijumPragBlokira?
    QA-001Svi P0 funkcionalni zahtevi prolaze automatizovane testove100% prolazDa
    QA-002Nema otvorenih kritičnih ili visoko ozbiljnih bagova0 otvorenih P0/P1 bagovaDa
    QA-003Testovi performansi prolaze pri ciljnom opterećenjuP95 < 300ms pri 5K korisnikaDa
    QA-004Bezbednosno skeniranje ne pokazuje kritične ranjivosti0 kritičnih CVEDa
    QA-005Revizija pristupačnosti prolazi WCAG 2.2 AASvi AA kriterijumi ispunjeniDa
    QA-006Pokrivenost koda prelazi cilj>80% pokrivenost linijaNe (savetodavno)
    QA-007Sav tekst vidljiv korisniku pregledan za gramatiku i lokalizaciju100% pregledanoNe (savetodavno)

    „Blokira” znači da se release ne može nastaviti ako ovaj kriterijum padne. „Savetodavno” znači da tim pregleda rezultat, ali može da isporuči sa poznatim nedostatkom i planom za naknadno rešavanje.

  4. Proces kvaliteta — kako se kvalitet održava tokom celog životnog ciklusa projekta, ne samo pri release-u. Ovo uključuje:

    • Standardi za pregled koda — šta recenzenti proveravaju, minimalan broj odobrenja
    • Strategija testiranja — unit, integracijsko, end-to-end, testiranje performansi, bezbednosti, pristupačnosti i kada se svako pokreće
    • Kapije kvaliteta — kontrolne tačke u procesu razvoja gde se kvalitet formalno procenjuje (npr. posle svakog sprinta, pre staging deploy-a, pre production release-a)
    • Upravljanje defektima — kako se bagovi klasifikuju (P0-P3), triažiraju i rešavaju, sa ciljnim vremenima odgovora po nivou ozbiljnosti
  5. Dodaci — specifikacije dashboarda za metrike kvaliteta, kontrolne liste usaglašenosti, definicije ozbiljnosti defekata, rečnik pojmova i dnevnik promena.

Key insight

Najvredniji deo QRD-a je tabela kriterijuma prihvatanja (sekcija 3). To je ugovor između razvojnog tima i zainteresovanih strana: ako ovi kriterijumi prođu, proizvod se isporučuje. Ako bilo koji blokirajući kriterijum padne, ne isporučuje se. Ovo uklanja subjektivne debate o kvalitetu u vreme release-a.

QRD i drugi dokumenti zahteva

QRD radi uz SRD, a ne u sekvenci:

MRD → BRD → PRD → FRD → SRD

                          TRD (infrastruktura)
                          QRD (standardi kvaliteta)
DokumentDefinišePrimer
SRDŠta sistem radi i koliko dobro„Sistem odgovara u roku od 200ms na P95”
TRDKoja infrastruktura ga podržava„Potrebna su 3 app servera iza load balancer-a”
QRDKako se kvalitet meri i prihvata„Release zahteva P95 < 300ms verifikovan load testom i nula kritičnih CVE”

Nefunkcionalni zahtevi SRD-a definišu ciljeve. QRD definiše kako se ti ciljevi verifikuju, koji su pragovi prolaz/pad i šta se dešava kada nisu ispunjeni.

Tipične greške

1. Definisanje kvaliteta bez merenja. „Proizvod mora biti visokog kvaliteta” je besmisleno. Kvalitet se mora razložiti na specifične, merljive atribute (performanse, pouzdanost, bezbednost, upotrebljivost) sa numeričkim ciljevima.

2. Proglašavanje svega blokirajućim kriterijumom. Ako svaki kriterijum kvaliteta blokira release, ništa se ne isporučuje. Rezervišite „blokirajući” status za kriterijume koji direktno utiču na korisnike, integritet podataka ili bezbednost. Koristite „savetodavno” za standarde koji poboljšavaju kvalitet, ali nisu zaustavljači isporuke.

3. Pisanje QRD-a na kraju projekta. Zahtevi za kvalitet treba da budu definisani pre početka razvoja, ne tokom pripreme za release. Kasno napisani QRD-ovi postaju retrospektivna opravdanja umesto prospektivnih standarda.

4. Bez povezanosti sa testiranjem. QRD bez odgovarajuće strategije testiranja je lista želja. Svaki atribut kvaliteta mora imati definisan metod merenja: koji alat pokreće test, kada se pokreće i ko pregleda rezultate.

5. Ignorisanje praćenja duga kvaliteta. Kada savetodavni kriterijumi padnu pri release-u, QRD treba da dokumentuje nedostatak i plan za njegovo rešavanje. Bez ovoga, dug kvaliteta se neprimetno akumulira.

Resursi