Kihagyás

02. gyakorlat

Projektcsapatok összeállítása

A gyakorlat központi eleme a csapatmunkában végzett projektfeladat teljesítése. Ehhez a hallgatóknak 4-5 fős csapatokba kell szerveződnie.

Csapatok összeállítása

A gyakorlatvezető irányításával állítsunk össze a gyakorlat hallgatóiból álló 4-5 fős csapatokat. A csapattagok helyezkedjenek el úgy a teremben, hogy a közös munka során a kommunikáció egymás között gördülékeny legyen!

Projektválasztás

A csapatok által választható projektek a CooSpace (összevont gyakorlat fórumában) találhatók meg. A projektmunkára jelentkezés levélben történik a következő gyakorlatot megelőző nap 8:00:00 -ig. Azt követően a gyakorlaton lesz kijelölve minden csapat számára a tényleges projekt. A projektet tartalmazó repositoryt forkolni kell majd.

Nem mi választunk projektet?

Projektet alapvetően a csapatok választanak, de szeretnénk elkerülni az ütközéseket. Egy projektet egy csapathoz kell rendelni. Ütközés esetén javasolt a csapatoknak maguk között megegyezni a választásban, de végső soron a gyakorlatvezető dönt.

Hogyan tesztelnéd?

Gondolkodtál már azon mi a tesztelés célja? Hibákat keresünk a szoftverben. Nem próbáljuk meg igazolni, hogy a szoftver hibamentes, ugyanis ez nem lehetséges. A szoftverek kreatív emberi tevékenység eredményeképpen jönnek létre, az ember pedig esendő és sokszor hibázik, téved. Ezek az emberi tévedések hibákat (bugokat) eredményeznek a szoftverben, amely hibák a szoftver működésének meghibásodásához vezethetnek. A teszteléssel feltárt hibák hozzásegítenek a szoftver minőségének növekedéséhez (amennyiben a hibák javításra kerülnek), ezáltal a meghibásodások valószínűségének csökkentéséhez.

A tesztelés alapelvei

  • A tesztelés a szoftverhibák meglétét képes kimutatni, és nem a hiányukat.

    Bug numbers

  • Kimerítő tesztelés lehetetlen, ezért priorizálni kell a teszteket és meg kell határozni a kilépési feltételeket.

    Mit jelent a kimerítő tesztelés?

    Ez a tesztelési fajta minden lehetséges futást kipróbál, de gyakorlatban általában nem kivitelezhető, mivel idő- és erőforrásigényes. A kimerítő tesztelés során a programot minden lehetséges szcenárióban tesztelik.

  • A tesztelést minél korábban el kell kezdeni.

    Cost of bugs

    Cost of bugs 2

  • A hibák fürtökben fordulnak elő a modulokban, nem egyenletesen (Pareto-elv: a problémák kb. 80%-a a modulok kb. 20%-ában található).

    Clusters

  • Rovarirtó jelenség: ugyanannak a tesztnek a futtatása nem fog újabb hibát találni (fejlesztők figyelnek a tesztekre és az érintett hibákat elkerülik). Ebből adódóan folyamatosan frissíteni kell a teszteket.

    Pesticide paradoxon

  • A tesztelés környezetfüggő.

    Context)

  • A hibamentesség téveszme: nincs hibamentes szoftver.

    Error)

Agilis alapok

Az agilitás a céges világban és a szoftverfejlesztésben arra utal, hogy a szervezetet rugalmas, hatékony, és alkalmazkodásra kiválóan képes munkatársak működtetnek. A szoftverfejlesztésben ennek azért van jelentősége, mert a szoftverrel szemben támasztott követelmények folyamatosan változnak, jellemzően még a fejlesztés ideje alatt is. Ezek a változások a megrendelői oldalról indulnak ki, amelyek hátterében számos ok meghúzódhat. Ahhoz, hogy a fejlesztési projekt sikeres legyen, a fejlesztői teamnek a változásokhoz alkalmazkodnia kell, amely érinti a fejlesztési folyamatok szervezését is.

2001 februárjában 17 szoftverfejlesztési szakértő találkozott a Utah államban lévő Snowbird Üdülőközpontban, hogy megbeszéljék a tapasztalataikat a pehelysúlyú szoftverfejlesztési módszerekkel kapcsolatban. Ezen a találkozón megfogalmazták és kiadták az alábbi kiáltványt: (Kiáltvány az agilis szoftverfejlesztésért)

Az agilis szoftverfejlesztés nem egy módszertan, hanem olyan, a szoftverfejlesztésre irányuló alapelvek gyűjteménye, amelyek a kiáltvány filozófiájához illeszkednek. Ilyen alapelvek az iteratív fejlesztés hatékonysága a lineáris vízesés módszerhez képest, az ügyfél bevonása a fejlesztési folyamatokba, gyakori szállítás és visszacsatolás, valamint a folyamatos kommunikáció. Leggyakrabban a SCRUM és KANBAN módszereket használják, de tiszta formájukban ritkán kerülnek alkalmazásra.

Agilitás a gyakorlaton

Jelen kurzus során a projektmunka tervezését és végrehajtását az agilitás szem előtt tartásával végezzük. A projekt haladását az óra első felében (röviden) átbeszéljük. A csapatok felé így folyamatos visszajelzést tudunk adni, illetőleg a problémákat időben azonosítani tudjuk, segítve ezáltal a munka egyenletes haladását és a feltárt problémák időben történő megoldását.

Feladatok

FONTOS!

Biztonsági (security) tesztet NE végezzünk, mert előzetes bejelentés és engedélyek nélkül az törvénybe ütköző cselekmény!

Egyelőre NE olvass tovább!!! Először végezd el az előző feladatot!

Hogyan tesztelted?

  • Kerestél valamilyen specifikációt?
  • Milyen adatokkal tesztelted?
  • Feljegyezted a teszt input-okat?
  • Milyen más adatokat rögzítenél?
  • Tudnád reprodukálni a tesztet?
  • Milyen böngésző(ke)t/oprendszert használtál?
  • Válaszidőket megfigyelted?
  • Forráskódot néztétek?
  • Milyen biztonsági kockázatokat rejthet az alkalmazás?

Utolsó frissítés: 2024-03-01 11:55:59