2. fejezet - A tesztelés helye a szoftver életciklusában

Ebben a fejezetben röviden áttekintjük a szoftver életciklusát és az ezt meghatározó legfontosabb módszertanokat. Külön kiemeljük a tesztelés helyét az életciklusban és a módszertanokban is.

2.1. A szoftverkrízis

A tesztelés szükségességét, mint annyi mást, a szoftverkrízis (software crisis) húzta alá. A szoftverkrízis alatt azt értjük, hogy a szoftver projektek jelentős része sikertelen. Sikertelen a következő értelemben:

  1. Vagy a tervezettnél drágábban készül el (over budget),

  2. Vagy a tervezetnél hosszabb idő alatt (over time),

  3. Vagy nem az igényeknek megfelelő,

  4. Vagy rossz minőségű / rossz hatásfokú / nehezen karbantartható,

  5. Vagy anyagi / környezeti / egészségügyi kárhoz vezet,

  6. Vagy átadásra sem kerül.

Ezek közül a tesztelés a minőségi problémákra ad választ, illetve a károkozás megelőzésében segít. Tehát tesztelésre azért van szükség, hogy a szoftver termékben meglévő hibákat még az üzembe helyezés előtt megtaláljuk, ezzel növeljük a termék minőségét, megbízhatóságát. Abban szinte biztosak lehetünk, hogy a szoftverben van hiba, hiszen azt emberek fejlesztik és az emberek hibáznak. Gondoljunk arra, hogy a legegyszerűbb programban, mondjuk egy szöveges menü kezelésben, mennyi hibát kellett kijavítani, mielőtt működőképes lett. Tehát abban szinte biztosak lehetünk, hogy tesztelés előtt van hiba, abban viszont nem lehetünk biztosak, hogy tesztelés után nem marad hiba. A tesztelés után azt tudjuk elmondani, hogy a letesztelt részekben nincs hiba, így nő a program megbízhatósága. Ez azt is mutatja, hogy a program azon funkcióit kell tesztelni, amiket a felhasználók legtöbbször fognak használni.