Mis on Specification by Example?
Specification by Example (SBE) on tarkvaraarendusmetoodika, mis kasutab testitavaid näiteid nõuete selgitamiseks, valideerimiseks ja dokumenteerimiseks. Selle peamine eesmärk on saavutada ühtne arusaam süsteemi toimimisest arendajate, testijate ja äriekspertide vahel.
SBE ühendab nõuete kogumise ja testimise, muutes need osaks ühest integreeritud protsessist. Näited, mida kasutatakse nõuete kirjeldamiseks, on samal ajal aluseks ka automatiseeritud testidele, mis kinnitavad, et süsteem töötab vastavalt ootustele.
SBE tugineb järgmistele peamistele põhimõtetele:
- Kaasav koostöö: Arendajad, testijad ja ärieksperdid töötavad tihedalt koos, et määratleda ja valideerida nõudeid.
- Testitavad näited: Nõuded väljendatakse konkreetsete näidetena, mis on mõistetavad kõigile osapooltele.
- Automatiseeritud testid: Näited teisendatakse automatiseeritud testideks, mis valideerivad süsteemi pidevalt.
Arendustsükli joonis
Specification by Example tsüklit iseloomustab järgmine protsess:
- Nõuete ja äriloogika kogumine äriekspertidelt.
- Testitavate näidete koostamine ja valideerimine koostöös arendajatega.
- Testide automatiseerimine, et tagada nende pidev käivitamine.
- Süsteemi iteratiivne täiustamine ja valideerimine näidete abil.

Specification by Example eelised ja puudused
Eelised
- Parandab erinevate osapoolte vahelist koostööd ja kommunikatsiooni.
- Tagab nõuete selguse ja arusaadavuse kõigile meeskonnaliikmetele.
- Vähendab vigu ja mitmeti mõistetavust nõuetes.
- Toetab automatiseeritud testimist ja pidevat valideerimist arendusprotsessi käigus.
Puudused
- Nõuab rohkem aega ja ressursse näidete loomisel ja valideerimisel.
- Automatiseeritud testide haldamine võib olla keeruline ja ajamahukas.
- Eeldab, et kõik osapooled on pühendunud ja osalevad aktiivselt protsessis.
- Ei pruugi sobida väiksemate ja lihtsamate projektide jaoks.
Case-vahend: Cucumber
Cucumber on üks populaarsemaid vahendeid Specification by Example rakendamiseks. See võimaldab ärireeglite väljendamist testitavate näidete kujul, kasutades lihtsat ja inimloetavat Gherkin-keelt.
Cucumberi omadused
- Võimaldab kirjutada teststsenaariume, mida saavad mõista kõik meeskonnaliikmed, sealhulgas ärieksperdid.
- Integreerub erinevate programmeerimiskeelte ja testiraamistikega.
- Toetab koostööd arendajate, testijate ja ärikliendi vahel.
Näide Gherkin-keeles:
Feature: Konto saldo kontroll Scenario: Konto omanik vaatab saldo Given konto omanik on sisse loginud When konto omanik avab saldo vaate Then kuvatakse konto saldo 100 eurot