Co je TDD a ATDD?

V tomto článku upozorníme na podobnosti a rozdíly mezi dvěma populárními metodami testování, které jsou obecně známé jako TDD a ATDD.

TDD znamená vývoj řízený testy, zatímco ATDD znamená vývoj řízený akceptačními testy. Pochopení toho, jak tyto dva přístupy k testování fungují, je pro profesionály v oblasti testování zásadní a tento příspěvek vám poslouží jako základní informace, které vám pomohou začít s jejich objevováním. Pochopíte, co je TDD vs. ATDD.

Co je to Test-Driven Development (TDD)?

TDD je systém vývoje softwaru podle zásad extrémního programování (XP), nicméně postupem času se odštěpil jako samostatná technika vývoje softwaru.

V TDD se jednotkové testování provádí přímo na zdrojovém kódu.

Tester nejprve napíše automatický testovací případ, který definuje požadovanou funkci, kterou by měl systém v ideálním případě vykonávat, ale záměrně navrhne testovací případ tak, aby jej systém v současném stavu nemohl splnit.

Druhé si vývojář poznamená důvody, proč systém testu nevyhověl, a napíše kód potřebný k refaktorizaci systému, aby jím na druhý pokus prošel. Tento proces je shrnut v následujícím grafu.

test driven development

Proces TDD takto pokračuje, kličkuje mezi neúspěchem a úspěchem, takže každá iterace posouvá systém na jeho hranice a pak mu je pomáhá překonat díky zpětné vazbě, která vzniká.

TDD je experiment s dobrovolným selháním a chce to docela odvahu, abyste si tuto kontraintuitivní techniku omotali kolem prstu. Jakmile se vám to však podaří, budete odměněni jednoduchou, ale velmi účinnou metodou, která vám pomůže bojovat se strachem ze selhání při testování a zároveň zlepšit odvedenou práci.

Co je Acceptance Test-Driven Development (ATDD)?

ATDD je metoda testování založená na spolupráci, která nutí všechny lidi podílející se na tvorbě nového softwaru (např.např. testery, vývojáře a uživatele), aby jako tým definovali akceptační kritéria, která má systém splňovat v raných fázích vývoje.

Smyslem tohoto kroku je zajistit, aby se všechny tyto zúčastněné strany shodly na hlavních cílech projektu, zejména pokud jde o funkčnost, kterou může koncový uživatel očekávat. Během této fáze ATDD mohou být velmi užitečné techniky, jako jsou uživatelské persony a uživatelské příběhy.

Když jsou na systému konečně spuštěny akceptační testy, jsou zaznamenána selhání a vývojáři pak chybné komponenty refaktorizují napsáním kódu potřebného ke splnění akceptačních kritérií při dalším pokusu.

Tento proces probíhá iterativně, obvykle na konci každého sprintu, dokud není finální produkt připraven k nasazení. Vysvětluje to následující graf.

vývoj řízený akceptačními testy

ATDD poskytuje týmu jasnější představu o tom, jak bude konečný produkt fungovat, což umožňuje všem soustředit se na dlouhodobé cíle a neztrácet se v jednotlivých řádcích kódu.

Shrnutí

Teď už dobře chápete základní rozdíly mezi TDD a ATDD. Tyto dvě metody testování spolu úzce souvisejí, nicméně ATDD zahrnuje do procesu také akceptační testování a klade větší důraz na týmovou spolupráci než TDD.

Oba přístupy dobře zapadají do agilních principů, protože oba podporují sběr zpětné vazby, abyste mohli stavět na svých předchozích chybách. Vzhledem k tomu, že systém neustále refaktorujete a řešíte problémy, se kterými jste se setkali při předchozím pokusu, pomáhají vám tyto metody postupně vyvíjet hodnotnější finální produkt.

Přidejte se k více než 60 000 odběratelům

Pro nejnovější blogy, novinky z oboru a exkluzivní tipy.

*Váš e-mail je u nás v bezpečí, nesnášíme také spam

.

Leave a Reply