Continuous test-driven development ehk pidev testipõhine arendus

Continuous test-driven development (CTDD) on tarkvaraarenduse tava, mis laiendab
testipõhist arendust (TDD) taustal automaatse testimise abil,
mida mõnikord nimetatakse pidevaks testimiseks.

CTDD-s kirjutab arendaja esmalt testi, kuid pole sunnitud teste käsitsi täitma.
Teste käivitab automaatselt taustal töötav pidev testimistööriist.
See meetod võib potentsiaalselt vähendada testi käsitsi täitmisest tulenevat ajaraiskamist,
kuna arendaja ei pea testi alustama pärast tavapärase TDD-praktika iga etappi:
pärast (esialgu ebaõnnestunud) testi kirjutamist,
pärast testi läbimiseks vajaliku minimaalse koodikoguse loomist ja pärast koodi ümbertöötamist.

y u no see? buy internet

Continuous test-driven development-i head ja halvad
Head Halvad
Parem koodikvaliteet: Pidev testimine tagab, et kõik koodimuudatused kinnitatakse kohe,
vähendades defekte ja parandades üldist töökindlust.
Kõrged algkulud: Terviklike testikomplektide väljatöötamine ja pideva integreerimise/testimise
infrastruktuuri loomine nõuab märkimisväärset aega ja ressursse.
Kiiremad tagasisideahelad: Arendajad saavad koodimuudatuste kohta kohe tagasisidet,
mis võimaldab probleeme kiiresti tuvastada ja lahendada.
Tööriistade ja automatiseerimise piirangud: Automatiseeritud testimise skaleerimine pidevaks
integreerimiseks nõuab sageli täiustatud tööriistu, millel võib olla piiranguid,
nagu aeglane täitmine või raskused samaaegsete seansside käsitlemisel.
Suurenenud usaldus koodi vastu: Pidev testimine toimib turvavõrguna, vähendades hirmu ümbertöötamise või
uute funktsioonide lisamise ajal vigade sissetoomise ees.
Testhoolduse üldkulud: Rakenduses tehtavad sagedased muudatused võivad nõuda pidevat
testjuhtumite värskendamist, suurendades hooldustööd ja kulusid.
Agiilsete tavadega vastavus: Pidev TDD sobib hästi agiilsete metoodikatega,
jagades arenduse väikesteks juhitavateks iteratsioonideks,
mis keskenduvad kasutajatele väärtuse pakkumisele
Näide ühest case-vahendist mis toetab antud arendusstiili arendusmeeskonnatöös:
Infinitest: JVM-i pidev testijooksja.
Iga kord koodi muutmisel, käivitab Infinitest asjakohased testid.

allikad: Wikipedia Lech Madeyski and Marcin Kawalerowicz Infinitest Perplexity (päringu allikad: developernation synapseindia qatouch wikipedia smartbear)