A legnagyobb tévedés: a kimerítő tesztelés lehetősége

A tesztelés hét alapelvéből az első: kimerítő tesztelés nem lehetséges. Ennek ellenére jaj, hányszor hallottam: ezt most nagyon alaposan teszteljétek le, és ha bármilyen hiba van benne, azt találjátok meg!

Nagyon vicces volt, hányféle szinonimát találtak a kollégák a „kimerítő” szóra:

  • kívülről-belülről teszteljétek le
  • teszteljétek szét
  • tüzetesen fésüljétek át
  • teszteljétek szénné

Elméletben persze érdekes eljátszani a gondolattal, hogy például egy adott szoftver modul kimerítő tesztelése mit jelentene:

  • minden lehetséges input adatot (minden lehetséges ekvivalens input adatot),
  • minden lehetséges futtatási opciót (összes gomb, összes menüpont, összes opció kipróbálása)
  • minden lehetséges futás közbeni beavatkozási módot (gombok nyomogatása, egér kattintás, környezet módosítása)
  • ezeket az összes lehetséges sorrendben
    • leírni
    • lefuttatni

Végtelen ideig tartana vagy végtelen erőforrást igénybe véve lehetne megvalósítani. Hétfőre kell? Nem probléma!

A valóságban pedig nyilván adott már az ún. regressziós teszt set, amit adott idő alatt le lehet futtatni. Hibákat találni pedig a kollégák tapasztalata, és az új fejlesztésekről megismert információk függvényében lehet. Szerintem a fejlesztő kollégák se örülnének, ha belátható időn belül minden hibát megtalálnánk…

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük