tdd

Skratka TDD znamená “Test-Driven Development”, čo v preklade znamená „vývoj riadený testovaním“. TDD je metodológia vývoja softvéru, pri ktorej sa najskôr píšu automatizované testy, ktoré definujú požadované správanie kódu, a až potom sa píše samotný kód.

Kľúčové kroky TDD:

1.Napíš test (Write a Test):

•Pred napísaním funkcie vytvoríte test, ktorý určí požadované správanie.

•Test musí spočiatku zlyhať, pretože implementácia funkcie ešte neexistuje.

Príklad (Python, pytest):

def test_add():

    assert add(2, 3) == 5

2.Napíš kód (Write Just Enough Code):

•Implementujte len toľko kódu, aby test prešiel.

Príklad:

def add(a, b):

    return a + b

3.Refaktoruj (Refactor):

•Optimalizujte kód bez toho, aby ste zmenili jeho správanie, a zabezpečte, že všetky testy stále prechádzajú.

Príklad:

•Ak sa počas implementácie objavia duplikácie, odstráňte ich.

Cyklický proces TDD:

TDD funguje v troch fázach:

1.Red: Napíš test, ktorý zlyhá.

2.Green: Napíš kód, aby test prešiel.

3.Refactor: Upraviť a optimalizovať kód, pričom test stále musí prejsť.

Výhody TDD:

1.Lepšia kvalita kódu:

•Kód je čistejší a lepšie navrhnutý, pretože je písaný s ohľadom na testovateľnosť.

2.Bezpečné zmeny:

•Každá zmena je okamžite overená existujúcimi testami, čo minimalizuje riziko zavedenia nových chýb.

3.Dokumentácia:

•Testy slúžia ako živá dokumentácia aplikácie.

4.Lepšie pochopenie požiadaviek:

•Písanie testov vás núti dôkladne pochopiť požiadavky a správanie kódu.

Nevýhody TDD:

1.Počiatočná investícia času:

•Vyžaduje viac času na začiatku vývoja.

2.Náročné pre začiatočníkov:

•Môže byť náročné správne identifikovať, čo testovať.

3.Zbytočné testy pri rýchlych prototypoch:

•TDD nemusí byť ideálne pri rýchlom vytváraní konceptov, ktoré sa často menia.

Príklad použitia TDD v praxi:

Ak vyvíjate funkciu na výpočet faktoriálu:

1.Napíšte test:

def test_factorial():

    assert factorial(5) == 120

2.Napíšte kód, aby test prešiel:

def factorial(n):

    if n == 0:

        return 1

    return n * factorial(n – 1)

3.Refaktorujte kód, ak je to potrebné.

Kedy použiť TDD:

•Pri vývoji kritických systémov (bankovníctvo, zdravotníctvo).

•Pri dlhodobých projektoch, kde je dôležitá udržiavateľnosť.

•Pri práci v tímoch, kde testy zvyšujú dôveru v zmeny.

TDD je efektívny spôsob, ako zabezpečiť vysokú kvalitu kódu, minimalizovať chyby a vytvárať dobre testovateľné aplikácie.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top