Az utóbbi időben többször is elcsodálkoztam (na jó, felkúrtam az agyam), hogy milyen félreértsek vannak a unittestekkel kapcsolatban.
Félreértés No1: Tesztelőknek kell csinálniuk
Alapvető félreértés. A unit teszt már nevében is rácáfol. Programegység teszt. Arra szolgál, hogy a programozó a saját munkáját ellenőrizze. Saját tapasztalat, hogy ezt a segítséget nem lehet lebecsülni. Keverik az automatikus integrációs tesztekkel, amiknek ezek a unittesztek képezhetik az alapját. Egy workflow egyes lépésinek unittesztje megfelelő sorrendben és paraméterekkel végrehajtva már integrációs tesztet adnak.
Félreértés No2: Másik fejlesztőnek kell csinálnia
Igazából teljesen ugyan az a gond, mint az előzővel. A saját munkát kell ellenőriznünk vele. Igen hasznos egy másik fejlesztőnek, ha ellenőriznie akarja, az adott komponensnek a használatát és viselkedését. Azokat felhasználva bizonyosodhat meg arról, hogy a refactoring sikeres volt vagy kibővitve egy-egy bug-tescase-vel a hibajavítás nem tette tönkre a többi funkciót.
Félreértés No3: Kezdőknek kell csinálniuk
Olyan embenek kellene írnia a tesztek, akinek alig van rálátása a rendszerre? Aligha. Más programozó munkáját tesztelje? Olyanét, akinek a gondolkodás és tapasztalata olyan lehet, ami az övétől eltér.
A unit teszt a komponenssel együtt élő és lélegző valami.