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.
| 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 |