Slojevi provere
Slojevi provere su različiti načini na koje projekat proverava da li implementacija, dokumentacija i artefakti isporuke i dalje odgovaraju predviđenim pravilima i očekivanjima kvaliteta.
Zašto su slojevi važni
Nijedna pojedinačna metoda provere nije dovoljna.
- dokumentacija sama po sebi ne sprovodi ponašanje
- sami testovi mogu potvrditi pogrešne pretpostavke
- CI sama ne može da definiše pravila koja bi trebalo da sprovodi
Slojeviti pristup je jači jer svaki sloj hvata različitu klasu odstupanja.
Uobičajeni slojevi provere
1. Specifikacija i uputstva
Prvi sloj definiše pravilo.
Bez ovog sloja, kasnije provere mogu biti stroge, ali proizvoljne.
2. Ručni pregled
Ljudski pregled proverava nameru, ivice slučajeva i značenje proizvoda koji možda još nisu automatizovani.
3. Lokalna validacija
Skripte i strukturirane provere otkrivaju brze, ponovljive probleme pre nego što promene stignu do CI.
4. Testovi
Izvršni testovi potvrđuju očekivano ponašanje, ali samo kada su usklađeni sa specifikacijom.
5. CI kapije
CI čini provere ponovljivim i vidljivim među saradnicima i okruženjima.
6. Provere primene
Radni tokovi primene potvrđuju da izgrađeni artefakti i dalje mogu da se objave i da su strukturno zdravi.
Kako slojevi treba da se odnose
Slojevi bi trebalo da ojačavaju jedan drugog po redosledu:
- dokumenti i specifikacije definišu očekivanja
- pregled tumači ta očekivanja u kontekstu
- validacijske skripte i testovi automatizuju stabilne delove pregleda
- CI dosledno sprovodi te provere
- implementacija osigurava da se izlaz zaista može isporučiti
Dobri ciljevi rane validacije
Primeri jakih ranih kandidata uključuju:
- prisustvo obavezne datoteke
- potpunost lokalizacije
- validnost sintakse
- prekinute interne veze
- zabranjeno uredničko citiranje
- uspeh generisanja metapodataka
Ove provere su obično objektivne i jeftine.
Let Books kontekst
Repozitorijum Let Books već dokumentuje nekoliko slojeva, uključujući:
- pravila proizvoda i implementacije u
AGENTS.mdiAGENTS-Implementation.md - validacija razvoja i primene u
docs/Development.mdidocs/Deployment.md - pravila uredničkog dokaza u
docs/blog/README.mdidocs/sources/README.md - uputstvo za učenje za postepeni CI i uvođenje validacije
To proveru čini dokumentovanim sistemom, a ne samo budućom težnjom.