2011. július 12., kedd

Tesztelés mindenek felett!

Több éves tapasztalatunknak köszönhetően megtanultuk, hogy egy szoftverfejlesztő cégnél nagyon fontos szerepe van a tesztelésnek. Hiszen, ha ez jól működik, a rendszer is jól működik, ami pedig sok elégedett ügyfelet eredményez.

Ezért tesztelőink saját, egyedi megoldásokat igyekeznek kialakítani annak érdekében, hogy minél egyszerűbb és alaposabb munkát végezzenek.

Lássuk az egyik újításukat:

A P@rtner lehetőleg hibamentes verzióinak előállítása érdekében néhány hónapja alkalmazzuk a unit és funkció tesztelést.

  • Az unit teszt olyan teszt, amely a forráskód egységeinek helyes működését ellenőrzi. Az egység (unit) alatt általában a metódusokat értjük, mint legkisebb elemet.
  • A funkcionális teszt arra fókuszál, hogy a rendszer funkció, a felhasználó igényeinek megfelelően (a specifikációnak megfelelően) működnek-e.

Fél éve készítjük ezeket a teszteket, melyek száma - köszönhetően a P@rtner.ERP integrált vállalatirányítási rendszer jól átgondolt teszt hierarchiájának - már a tízezret is meghaladja.

Az egyszerű unit tesztektől a fejlesztői munkát ellenőrző teszteken át, a bonyolult funkcionális tesztekig nagyon sokféle tesztekkel rendelkezünk. A tesztesetek számát folyamatosan növeljük, munkaidőnk 25%-át erre fordítjuk. Emellett nagyon fontosnak tartjuk a tesztelési framework fejlesztését is.

Komoly sikernek érezzük ebben a témában a tesztesetek pontozásának kidolgozását, amelyet egy már meglévő keretrendszerbe (DUnit2) kellett belefejlesztenünk. Kialakítottunk egy olyan struktúrát, amiben az egyes tesztesetekhez pontok rendelhetőek, és a tesztek futása közben a rendszer folyamatosan számolja a hibás tesztek pontszámát.

Az automatikus build-elést követő tesztelés végén a friss verziók ezen pontszám alapján minősítésre kerülnek:

  • zöld: minden unit és funkcionális teszt sikeres volt;
  • sárga: voltak hibával végződő tesztek, de ezek össz pontszáma nem haladja meg az általunk definiált határértéket;
  • piros: a hibás tesztek össz pontszáma meghaladja a határértéket.

Az egyes tesztesetek számát úgy állítottuk be, hogy a pontszám megfeleljen a hiba súlyosságának. Például az olyan tesztek pontszáma, amelyek sikertelensége a P@rtner használhatatlanságával egyenértékű, megkapták a határértéket, így akár egy ilyen hibás teszt esetén is piros minősítést kap a verzió.

Nincsenek megjegyzések:

Megjegyzés küldése