Fejlesztések nyomkövetése

Programozással kapcsolatos cikkek / Egyéb (1623 katt)

Bevezető

Ha elkezdünk fejleszteni egy néhány száz sorosnál hosszabb programot, akkor előbb-utóbb beleütközünk abba a problémába, hogy már nem tudjuk fejben tartani a felmerülő problémákat és a hirtelen beugró ötleteket. Lehet, hogy programozás közben rátalálunk egy bugra, vagy eszünkbe jut egy hasznos fejlesztési ötlet, de nincs időnk azonnal kijavítani a hibát, vagy megvalósítani az új ötletet. Az is előfordulhat, hogy egy felhasználó jelez telefonon valamilyen programhibát, amit nincs időnk kijavítani, csak mondjuk másnap. Ha ezeket a jelzéseket nem jegyezzük fel azonnal, akkor egy-két óra múlva már jó eséllyel nem fogunk emlékezni arra, amire jobb lenne, ha emlékeznénk. A feljegyzendő dolgokat leirkálhatjuk kis cetlikre is, de ezek gyakran elvesznek vagy eltűnnek egy nagyobb papírkupac alatt.

Hobbifejlesztőként is hasznos lehet néhány olyan egyszerű eszköz ismerete, amelyekkel nagy mértékben meg lehet könnyíteni életünket. Ebben az írásban pár kézenfekvő, ám számomra mégis jól bevált, kis fejlesztések esetén használható módszert szeretnék ismertetni.

Milyen módszerek állnak rendelkezésünkre?

1. Spirálfüzet és toll

Én már évek óta alkalmazom azt az ősidők óta bevált technikát, hogy – témakörönként külön – spirálfüzetet használva toll vagy ceruza segítségével kézzel lejegyzem az adott programhoz tartozó hibákat és ötleteket. Ha a felhasználók igényeit szeretném felmérni, akkor magammal viszem a füzetet, és feljegyzem az új kéréseket. Ha találok (vagy jeleznek) valamilyen bugot, akkor azt is leírom. Ha megtörtént a fejlesztés vagy a javítás, akkor zöld filctollal lezártnak jelölöm a bejegyzést. Egyszerű, mint a faék.

A módszer előnye, hogy gyors és olcsó. Nem kell magunkkal cipelni a laptopot, elég, csak ha egy füzet és egy toll van nálunk. Nincs gond az archiválással sem, a spirálfüzetek általában nem szoktak adatot veszíteni, bár előfordult velem már olyan, hogy az egyik füzetemet leöntöttem kávéval.

A módszer hátránya, hogy nehéz a kézzel írott szövegben keresni: a keresés csak lapozgatással és szemrevételezéssel történhet, esetleg felhasználva a hosszú távú memóriánkat. A füzetet nem lehet egykönnyen megosztani más felhasználókkal, így inkább egyfős fejlesztéseknél használható. Az is problémát jelent, hogy egy létező bejegyzéshez nehéz további kommenteket fűzni, mivel csak annyit írhatunk, ami éppen elfér a bejegyzés mellett a füzetlapon.

2. Textfile vagy egyéb szöveges dokumentum

Ebben az esetben feljegyzéseinket egy sima szövegfileban, vagy (tetszés szerint) Word- / OpenOffice- / LibreOffice- / stb. dokumentumban vezethetjük. A lezárt bejegyzéseket meg lehet jelölni pl. dőlt betűs kiemeléssel vagy a sor elejére tett csillaggal. A feljegyzések megfelelő helyen történő bővítése is egyszerűen megoldható egy szövegfile esetén, és nincs terjedelmi vagy helykorlát. A szövegben történő keresést a legtöbb szövegszerkesztő – még a Notepad is – támogatja.

Ez a módszer a használati értéket tekintve nem jelent túl sok előrelépést a spirálfüzethez képest, de a fileokat legalább elküldhetjük e-mailben, ha valaki másnak is meg akarjuk mutatni jegyzeteinket.

3. Excel-táblázat használata

Ebben az esetben feljegyzéseinket egy Excel- / OpenOffice- / LibreOffice- / stb. táblázatban vezetjük. Ennek a módszernek előnye lehet az előzőekhez képest, hogy a táblázatos formában jobban át lehet tekinteni a jegyzeteket, illetve külön oszlopokban újabb attribútumokat rendelhetünk a bejegyzésekhez.

4. Bug tracking program használata

Előbb-utóbb felmerülhet a fejlesztőkben, hogy az előző pontokban ismertetett fapados módszereken ideje lenne túllépni, és egy, elsősorban az adott célra készített programot használni a feladatok, ötletek és bugok nyomkövetésére.

Ilyenkor általában elkezdünk keresgélni az interneten, hogy megtudjuk, mások mit mondanak a bug tracking programokról szerzett tapasztalataikról. Szeretnék ajánlani néhány angol nyelvű cikket, amelyeket érdekesnek találtam a témával kapcsolatban:

http://www.joelonsoftware.com/articles/fog0000000043.html
http://www.joelonsoftware.com/articles/fog0000000029.html
http://www.thegeekstuff.com/2010/08/bug-tracking-system

A Joel on Software oldalon megjelent cikkben olvasható gondolatok közül szeretném idézni a következőket:

Do you have a bug database?

I don't care what you say. If you are developing code, even on a team of one, without an organized database listing all known bugs in the code, you are going to ship low quality code. Lots of programmers think they can hold the bug list in their heads. Nonsense. I can't remember more than two or three bugs at a time, and the next morning, or in the rush of shipping, they are forgotten. You absolutely have to keep track of bugs formally.

Bug databases can be complicated or simple. A minimal useful bug database must include the following data for every bug:

- complete steps to reproduce the bug
- expected behavior
- observed (buggy) behavior
- who it's assigned to
- whether it has been fixed or not

If the complexity of bug tracking software is the only thing stopping you from tracking your bugs, just make a simple 5 column table with these crucial fields and start using it.

Joel azt tanácsolja, hogy ne akarjunk minden hibát fejben tartani, inkább jegyezzük azokat le, lehetőleg valamilyen program segítségével. Nem kell, hogy ez a program túl bonyolult legyen, elegendő, ha néhány egyszerű feltételnek megfelel.

A Top 10 Open Source Bug Tracking System című cikkben találtam rá a WebIssues nevű programra, és az utóbbi időben ezt használom a feladatok, bugok és ötletetek nyomon követésére. A rendszer nyílt forrású és ingyenesen használható.

A WebIssues honlapját az alábbi címen lehet elérni:

http://webissues.mimec.org/

A programnak van Windows és más operációs rendszerek (Linux, OS X – ezeket nem próbáltam ki) alatt futtatható verziója, illetve ha feltelepítjük a PHP-s részt egy webszerverre, akkor egy böngészőből elérhető felületet is kapunk.

A telepítés elég egyszerű, gyakorlatilag egy Next-Next-Finish kattintgatásból áll. A program működéséhez kell egy megfelelően paraméterezett adatbázis, amely lehet MySQL vagy PostgreSQL.

Így néz ki a windowsos GUI, amely bizonyos levelezőprogramokra emlékeztet:



Nekem kényelmesebbnek tűnt a webes felület használata, amely így néz ki:



Egy ideje már használom a WebIssues-t, többek között a Lidércfény Online Kulturális Magazin (http://www.lidercfeny.hu/) fejlesztésének követésére. Tetszik az egyszerűsége, és egy ilyen, viszonylag kis oldal, mint a Lidércfény fejlesztésének támogatására tökéletes. További előny, hogy kevés táblából áll a WebIssues adatbázisa, és egyszerű felépítésű is, így igény esetén akár saját kimutatásokat is lehet készíteni az adatok alapján.



Záró gondolatok

Remélem, ezzel a rövid írással – amely elsősorban az amatőr fejlesztők igényeit vette figyelembe – sikerült érdekes gondolatokat és hasznos információkat átadnom az érdeklődőknek.

Előző oldal Kapitány