Az IT világában még egy közönséges fejlesztés is tele van buktatókkal. Amikor tesztelésről beszélünk nem csak arról van szó, hogy tökéletességre törekszünk, hanem arról is, hogy tudatos fejlesztéssel mennyi időt és költséget takarítunk meg.
Ebből a szempontból mindenképpen előnyt élveznek az automatizált tesztek, amik már az első kódsorok megírásától futtathatók, így az esetleges hibákra már a fejlesztési folyamat kezdeti szakaszában fény derül, ezzel számtalan költséget megtakarítva a későbbiekben.
Egy projekt megvalósítása során a tesztelési fázisok három szintjét különíthetjük el.
Első szinten találjuk a „component teszteket”, mint a Unit és a TDD, amikor még a különálló részegységek ellenőrzése történik. A fejlesztő saját nyelvén ír elvárásokat, amit az egyes metódusoknak teljesíteniük kell. Amíg ez nem történik meg, addig az adott fázis nem tekinthető késznek.
Második szinten már a rendszer együttes működését kell vizsgálni BDD és ATDD típusú „feature tesztekkel”, amik a felhasználók viselkedését modellezve keresik az esetleges hibákat.
Végül az utolsó rétegét képzik manuális „elfogadási tesztek”.