Slojevi provjere
Slojevi provjere različiti su načini na koje projekt provjerava odgovaraju li implementacija, dokumentacija i artefakti isporuke i dalje predviđenim pravilima i očekivanjima kvalitete.
Zašto su slojevi važni
Nijedna pojedinačna metoda provjere nije dovoljna.
- sama dokumentacija ne nameće ponašanje
- sami testovi mogu potvrditi pogrešne pretpostavke
- CI sama ne može definirati pravila koja bi trebala provoditi
Slojeviti pristup je jači jer svaki sloj hvata različitu klasu zanošenja.
Uobičajeni slojevi provjere
1. Specifikacija i smjernice
Prvi sloj definira pravilo.
Bez ovog sloja, kasnije provjere mogu biti stroge, ali proizvoljne.
2. Ručni pregled
Ljudski pregled provjerava namjeru, rubne slučajeve i značenje proizvoda koji možda još nisu automatizirani.
3. Lokalna provjera valjanosti
Skripte i strukturirane provjere hvataju brze probleme koji se ponavljaju prije nego promjene dođu do CI-ja.
4. Testovi
Izvršni testovi provjeravaju očekivano ponašanje, ali samo ako su usklađeni sa specifikacijom.
5. CI vrata
CI čini provjere ponovljivim i vidljivim svim suradnicima i okruženjima.
6. Provjere implementacije
Radni tijekovi implementacije potvrđuju da se izgrađeni artefakti još uvijek mogu objaviti i da su strukturno zdravi.
Kako bi se slojevi trebali odnositi
Slojevi bi trebali ojačati jedan drugog redom:
- dokumenti i specifikacije definiraju očekivanja
- pregled tumači ta očekivanja u kontekstu
- validacijske skripte i testovi automatiziraju stabilne dijelove pregleda
- CI dosljedno provodi te provjere
- implementacija osigurava da se rezultat zapravo može poslati
Dobri ciljevi rane provjere valjanosti
Primjeri jakih ranih kandidata uključuju:
- potrebna prisutnost datoteke
- cjelovitost lokalizacije
- valjanost sintakse
- neispravne interne veze
- zabranjeni urednički citati
- uspješnost generiranja metapodataka
Ove provjere obično su objektivne i jeftine.
Let Books kontekst
Repozitorij Let Books već dokumentira nekoliko slojeva, uključujući:
- pravila o proizvodu i implementaciji u
AGENTS.mdiAGENTS-Implementation.md - validacija razvoja i implementacije u
docs/Development.mdidocs/Deployment.md - pravila uredničkog dokaza u
docs/blog/README.mdidocs/sources/README.md - smjernice za učenje za postupno uvođenje CI i validacije
To provjeru čini dokumentiranim sustavom, a ne samo željom za budućnost.