9. fejezet - Hibakövetés

Egy szoftver készítése során és átadása után is merülhetek fel problémák a működéssel kapcsolatban. A szoftver készítése során és gyakran az átadás után is tesztelők keresnek hibákat, illetve az átadás után a felhasználók futhatnak be egy-egy hibába. Ezeket a hibákat javítani kell, amihez a programozóknak értesülniük kell a hibákról. A hiba felfedezője és a fejlesztők között a hibakövető (bug tracking) rendszerek teremtik meg a kapcsolatot. A hibakövető rendszereket néha hívják hibabejelentő rendszereknek is. Hibakövető rendszer például:

Ebben a jegyzetben a Bugzilla és a Mantis rendszert mutatjuk be.

9.1. Bugzilla

A hibakövető rendszerek legfontosabb tulajdonsága, hogy milyen életútja lehet a hibának a rendszeren belül. Ezt a hibakövető rendszer állapot gépe írja le. Az alábbi ábrán a Bugzilla állapot gépét láthatjuk:

9.1. ábra - A Bugzilla rendszer állapot gépe

A Bugzilla rendszer állapot gépe


A hiba legegyszerűbb életútja a következő:

  • A hibát bejelenti a tesztelő vagy a felhasználó. Fontos, hogy minél részletesebb legyen a hiba leírása, hogy reprodukálható legyen. Ekkor a hiba Új állapotú lesz.

  • Az új hibákról értesítést kap a vezető fejlesztő, aki a hibát hozzárendeli az egyik fejlesztőhöz, általában ahhoz, aki a hibás funkciót fejlesztette. Ekkor a hiba Hozzárendelt állapotba kerül.

  • A fejlesztő a hozzárendelt hibát megpróbálja reprodukálni. Ha ez sikerül és megtalálja a hiba okát is, akkor javítja a hibát. A javítást feltölti a verziókövető rendszerbe, majd jelzi, hogy megoldotta a hibát. Ilyenkor érdemes egy regressziós tesztet csinálni, hogy meggyőződjünk, hogy a javítás nem okoz-e más hibákat. Ekkor a hiba Megoldott állapotú lesz.

  • A megoldott hiba visszakerül az azt bejelentő tesztelőhöz, vagy esetleg egy másikhoz. A tesztelő ellenőrzi, hogy tényleg megoldódott a hiba. Ha igen, akkor véget ér a hiba életútja, az állapota lezárt lesz.

Az optimális lefutástól sok helyen eltérhetünk. Például kiderül, hogy a hiba nem reprodukálható, vagy a megoldott hibáról kiderülhet, hogy még mindig fennáll. Ezeket a lehetőségeket mind lefedi a fenti állapotgép.