Szerkesztés alatt!
Az oldal további része szerkesztés alatt áll, a tartalma minden további értesítés nélkül többször, gyakran, jelentősen megváltozhat!
Projektmunka¶
A hivatalos Projektmunka forrás a közös CooSpace színtér newsboardja!
Ez az oldal szerkesztés alatt áll. Próbáljuk lekövetni a CooSpace közös gyakorlati színterének hírei közé felpakolt információkat, de ha eltérés van, akkor a CooSpace színtér számít hivatalos forrásnak.
A félév során mindenkinek egyénileg végig kell vinnie egy projektmunkát.
1. mérföldkő
Határidő: 2025-03-02 (vasárnap) 23:59
Maximális elérhető pontszám: 6
Az 1. mérföldkő feladatai:
- Készíts saját projektet a GitLab-on a tantárgy SDP25-SzoftverfejlesztesiFolymatok csoportja alatt a saját kurzusodnak fenntartott
SDP25-IBNa1017L-%
alcsoportban (ahol a%
helyére a saját csoportod számát írod),SDP25-hxxxxxx
néven (ahol ahxxxxxx
helyére a sajáth
-s azonosítódat írod). A projekt URL neve (slug)SPD25-hxxxxxx
alakú legyen. - A saját
SDP25-hxxxxxx
nevű projektedben vedd fel az alábbi mérföldköveket (milestone):- "MS1: Saját GitLab projekt létrehozása" (határidő: 2025-03-02)
- "MS2: Projekt és tervezett funkciók kiválasztása és dokumentálása" (határidő: 2025-03-16)
- "MS3: Tervezett funkciók megvalósítása" (határidő: 2025-04-13)
- "MS4: Tesztelés, hibajavítás" (határidő: 2025-04-20)
- "MS5: CI rendszer beüzemelése" (határidő: 2025-05-11)
- "MS6: A projekt bemutatása a gyakorlatvezetőnek" (határidő: az utolsó gyakoraltod napja a 2025-05-19-i héten)
- A projektedben hozz létre cimkéket (label) az issue-k állapotának kezelésére! Készíts legalább egy "To Do" és egy "Doing" cimkét!
- A projektben hozz létre "Projekt létrehozása" issue-t! Az issue-t rendeld hozzá a korábban létrehozott MS1-es mérföldkőhöz! Magadhoz is rendeld hozzá az issue-t! Ezután zárd le az issue-t (hiszen készen van).
- Szintén hozz létre egy-egy issue-t a következőkről, és rendeld őket magadhoz illetve a megfelelő mérföldkőhöz (ha van megfelelő mérföldkő).
Ezeket az issue-kat még nem kell lezárni, hiszen nincsenek készen:
- "Gyakorlati projekt kiválasztása."
- "Fejlesztési feladatok kiválasztása a választott gyakorlati projekthez."
- "A projektfeladatok dokumentálása GitLab-on."
- Zárd le az MS1-es mérföldkövet.
Mire jár pont?
- A megfelelő alcsoportban megfelelő névvel és URL-lel létrejött a GitLab projekt.
- A projektben definiálva lett 6 milestone, megfelelő névvel és határidővel.
- A projektben van egy "To Do" és egy "Doing" nevű cimke.
- A projektben van legalább 4 issue:
- Egy "Projekt létrehozása" nevű, amely az MS1-es milestone-hoz és a projekt létrehozójához/tulajdonosához van rendelve, és le van zárva.
- Három másik, megfelelő nevekkel, az MS2-es milestone-hoz és a projekt létrehozójához/tulajdonosához rendelve, és nincsenek lezárva.
- Az MS1-es milestone le van zárva (úgy, hogy minden hozzá rendelt issue is le van zárva).
Lehetséges hibák
- A megadott csoportban a hallgatónak nincs projektje. Ebben az esetben a további pontok feltételei sem ellenőrizhetőek!
- A hallgatónak a megadott csoportban van ugyan projektje, de a projekt adatai (név, slug) nem megfelelőek.
- Nincsenek mérföldkövek.
- 6-nál több mérföldkő van.
- A meglévő mérföldkövek nevei nem egyeznek a megadottakkal.
- A meglévő helyes nevű mérföldkövek határidejei egyenként nem egyeznek a megadottakkal.
- A projektben nincs "To Do" cimke.
- A projektben nincs "Doing" cimke.
- A projektben nincs "Projekt létrehozása" nevű issue.
- Az issue nincs hozzárendelve a megfelelő mérföldkőhöz.
- Az issue nincs hozzárendelve a megfelelő felhasználóhoz.
- Az issue nincs lezárva.
- A projektben nincs "Gyakorlati projekt kiválasztása.", "Fejlesztési feladatok kiválasztása a választott gyakorlati projekthez." és/vagy "A projektfeladatok dokumentálása GitLab-on." nevű issue.
- Az adott issue nincs hozzárendelve a megfelelő mérföldkőhöz.
- Az adott issue nincs hozzárendelve a megfelelő felhasználóhoz.
- Az adott issue le van zárva már ezen a ponton.
2. mérföldkő
Határidő: 2025-03-16 (vasárnap) 23:59
Maximális elérhető pontszám: 12
Előfeltétel: saját projekt OWNER jogokkal
- Létezik a GitLab-on a tantárgy SDP25-SzoftverfejlesztesiFolymatok csoportja alatt a saját kurzusodnak fenntartott
SDP25-IBNa1017L-%
alcsoportban (ahol a%
helyére a saját csoportod számát írod) egy általad létrehozottSDP25-hxxxxxx
nevű (ahol ahxxxxxx
helyére a sajáth
-s azonosítódat írod) projekt. A továbbiakban erre a "saját projekt" néven, a hozzá tartozó Git repository-ra pedig a "saját repository" néven fogunk hivatkozni.
Nincs általad létrehozott ilyen projekt
Ha nincs ilyen projekted a GitLab-on, akkor nem tudunk mit ellenőrízni, és nem tudunk mire pontot adni.
- Ebben a projektben OWNER jogaid vannak.
Nincs OWNER jogod a projekten
Kérd meg a gyakorlatvezetődet, hogy adjon neked OWNER jogokat a saját projektedhez.
A 2. mérföldkő feladatai:
- Nézd át a CooSpace-en a közös gyakorlati színtérben publikált projekteket és projektmunka feature-listákat, majd válassz két feature-t, amit meg kell majd valósítanod az adott projektben! A két feature ugyanannak a projektnek a két feature-e kell, hogy legyen! A feature-ökre jelentkezni a CooSpace-en a saját gyakorlatod színterében található Projektmunka és Feature Választás nevű jelentkezések típusú eszközön keresztül kell.
- Ha készen vagy a projekt kiválasztásával, zárd le a korábbi "Gyakorlati projekt kiválasztása." issue-t.
- Ha készen vagy a fejlesztési feladatok kiválasztásával, zárd le a korábbi "Fejlesztési feladatok kiválasztása a választott gyakorlati projekthez." issue-t.
- A saját projektedben készíts egy új issue-t "Alap projekt feltöltése." címmel, rendeld ezt magadhoz és az MS2 mérföldkőhöz. Az issue határidejének add meg a mérföldkő határidejét (2025-03-16).
- Töltsd le a CooSpace közös gyakorlati színtéréből a kiválasztott projekted forráskódját! Ezt fel kell töltened a saját repository-d main branch-ére.
- A saját repository-d main branch-ében töltsd ki a
README.md
fájlt a hiányzó adatokkal (és ne a CooSpace-re feltöltött program README.md-jét használd)! - Zárd le az "Alap projekt feltöltése." issue-t.
- Hozz létre két új issue-t. Mindkettő a "Feature-megvalósítás: [feature-neve]" címmel szerepeljen, ahol a [feature-neve] helyett a választott feature nevét írod be (ahogy azok a CooSpace jelentkezésben is szerepelnek). Az issue-kat rendeld az MS3 mérföldkőhöz, és a határidejük legyen a mérföldkő határideje (2025-04-13).
- Zárd le a korábbi "A projektfeladatok dokumentálása GitLab-on." című issue-t.
- A két új issue-hoz hozz létre egy-egy új merge request-et a GitLab felületen keresztül (ezáltal egy-egy branch is létrejön default névvel, ami az issue azonosító számával kezdődik. A két merge request-hez rendeld hozzá magadat assignee-ként, és a gyakorlatvezetődet reviewer-ként, és rendeld őket az MS3 mérföldkőhöz. A két új merge request-et egyelőre hagyd Draft állapotban.
- Zárd le az MS2 mérföldkövet!
Mire jár pont?
- A CooSpace-en választottál két feature-t ugyanahhoz a projekthez.
- Van "Gyakorlati projekt kiválasztása." issue és le van zárva.
- Van "Alap projekt feltöltése." issue, megfelelő emberhez és mérföldkőhöz rendelve, megfelelő határidővel, és le van zárva.
- A git repository main branch-e tartalmazza a projekt fájljait.
- A git repository main branch-ében a
README.md
megfelelő módon van kitöltve. - Léteznek a "Feature-megvalósítás - ..." issue-k, megfelelő mérföldkőhöz rendelve, megfelelő határidővel, és nyitott állapotban.
- Van "A projektfeladatok dokumentálása GitLab-on." issue és le van zárva.
- Léteznek a feature issue-khoz a megfelelő branch-ek.
- Létezik a két merge request:
- az MS3-hoz rendelve,
- össze vannak kötve a megfelelő branch-ekkel és issue-kkal,
- hozzád vannak rendelve,
- a reviewer a gyakorlatvezetőd, és
- mindkettő draft.
- Az MS2 létezik, és le van zárva.
Lehetséges hibák
- Nem létezik, vagy nem beazonosítható a projekt.
- Az 1. mérföldkő szükséges elemei (milestones, issues) nem, vagy nem beazonosítható módon készültek el.
- A választott feature-ökből nem a megadott névvel készült issue.
- A vizsgált issue-k
- állapota nem megfelelő,
- határideje nem megfelelő,
- mérföldköve nem megfelelő,
- hozzárendelése nem megfelelő.
- Nincs, vagy nem beazonosítható a merge request.
- A merge request
- nincs mérföldkőhöz rendelve,
- nincs összekötve a megfelelő issue-val,
- nem a megfelelő branch-hez tartozik,
- nincs hozzád rendelve,
- nincs a gyakorlatvezetőhöz, mint reviewer-hez rendelve,
- nem draft.
- Az MS1 és MS2 nincs lezárva, vagy a többi mérföldkő le van zárva.
- A Git-ben nincs main branch.
- Az alap projekt nem a main-re lett feltöltve.
- A main nem az alapprojektet és a megfelelően kiegészített
README.md
-t tartalmazza.
3. mérföldkő
Határidő: 2025-04-13 (vasárnap) 23:59
Maximális elérhető pontszám: 18
Előfeltétel: kiválasztott és dokumentált feature-ök
- Létezik a GitLab-on a tantárgy SDP25-SzoftverfejlesztesiFolymatok csoportja alatt a saját kurzusodnak fenntartott
SDP25-IBNa1017L-%
alcsoportban (ahol a%
helyére a saját csoportod számát írod) egy általad létrehozottSDP25-hxxxxxx
nevű (ahol ahxxxxxx
helyére a sajáth
-s azonosítódat írod) projekt. A továbbiakban erre a "saját projekt" néven, a hozzá tartozó Git repository-ra pedig a "saját repository" néven fogunk hivatkozni.
Nincs általad létrehozott ilyen projekt
Ha nincs ilyen projekted a GitLab-on, akkor nem tudunk mit ellenőrízni, és nem tudunk mire pontot adni.
- A CooSpace-en választottál két feature-t ugyanahhoz a projekthez, és ehhez léteznek a megfelelő issue-k, merge request-ek.
Nem választottál feature-öket
Ha nincs választott feature, akkor nincs mire pontot adni.
Nincs a feature-ökhöz tartozó issue
Ha nem dokumentáltad a feature-öket, akkor nem tudunk mit ellenőrizni.
A 3. mérföldkő feladatai:
-
A 2. mérföldkőben a két feature issue-hoz készítettél egy-egy (akkor még draft) merge request-et, amelyekhez kapcsolódik egy-egy branch is. A megfelelő feature fejlesztéseket ezekben a branch-ekben kell megvalósítani, külön-külön, mindegyiket a saját branchében. A feature-ök fejlesztése a mérföldkő során lezárul. A következő mérföldkőben majd a tesztelés eredménye alapján ugyan lehet még hibát javítani, de a két feature-nek -- ha nem is tökéletesen, de -- ebben a mérföldkőben el kell készülnie. A feature-t a mérföldkő szempontjából akkor tekintjük késznek, ha a program futtatható, és a feature -- ha apróbb hibákkal vagy megkötésekkel is, de -- használható.
-
A feature-ök elkészülte után a hozzá tartozó merge request-ekről vedd le a draft jelzőt, és a branch-eket merge-eld be a main-be! Ezt megteheted "egyesével" rögtön az adott feature elkészülte után, vagy akár "egyszerre", amikor mindkettő készen van; de arra figyelj, hogy a két feature-t a két, korábban létrehozott branch-en külön-külön kell elkészíteni! Nem tilos a másik feature megvalósítását az egyik merge-elése után elkezdeni, amíg erre a korábban létrehozott branch-et használod, amit szintén nem tilos az érdemi munkát megelőzően a main-nel szinkronizálni. Ha nem a GitLab-on keresztül, hanem "kézzel" merge-elsz, akkor figyelj arra, hogy a branch egy merge commit-tal kerüljön be a main-be, és ne fast forward merge-et használj! (Utóbbi esetben nem fog látszani a main-től különböző branch-ben való fejlesztés.) A merge-ek során/után az adott branch-eket törölheted. Ha valamelyik merge során conflict van, azt természetesen fel kell oldani.
-
A két merge után immáron a main branch-en lévő két feature-nek nem csak külön-külön, de együtt/egymás mellett is működnie kell! Ha esetleg a második feature merge-elése után kiderülne, hogy ez nem így van, akkor a hiba egy main-től különböző branch-en javítható (ami lehet akár valamelyik feature branch is, ha még megvannak), és a javítás a main-be mergelhető.
-
Egy feature sikeres merge-elése és main-ben való elérhetősége után le kell zárnod az előző mérföldkő során létrehozott, az adott feature-höz tartozó issue-t is ("Feature-megvalósítás: [feature sorszáma és neve]")! Ha jól használtad a GitLab felületet, akkor az a merge után a megre request lezárásával együtt automatikusan megtörténik.
-
Zárd le az MS3 mérföldkövet!
-
Hozz létre két új issue-t, "Tesztelés: [feature sorszáma és neve]" címmel, ahol a [feature sorszáma és neve] helyett a választott feature nevét írod be (ahogy a Coospace jelentkezésben és a korábbi issue címben is szerepelnek)! Rendeld hozzá saját magadat a két új issue-hoz, és rendeld a két issue-t az MS4 mérföldkőhöz! A két issue határideje legyen 2025.04.20! Merge request-et szabad, de nem kötelező ezekhez létrehozni, és akár egy közös branch-en is meg lehet valósítani a teszteket, de az nem lehet a main!
-
Bár a teszteket a 4. mérföldkőhöz kapcsoltuk, ha a fejlesztés közben teszteket is készítesz, az nem hiba. A 4. mérföldkőnek az ehhez kapcsolódó releváns kritériuma mindössze annyi lesz, hogy ne a main branch-en készüljenek ezek a tesztek. Így az adott feature-öket akár megírás után rögtön tesztelhetjük is, ez nem fog pontlevonással járni. A tesztek ugyanúgy bekerülhetnek a main branch-be a feature branch-ekről már ezen a ponton, mint egy későbbi, a 4. mérföldkő végéig elkészülő kifejezetten tesztelős/hibajavítós branch-ről.
Mire jár pont?
- Van merge commit (legalább kettő, a két feature branch-hez).
- A megfelelő merge request és issue le van zárva.
- A feature a megfelelő szinten meg van valósítva, a program futtatható, az új feature használható.
- A két feature együtt/egymás mellett is megfelelően működik.
- Létezik a két tesztelős issue, megfelelő névvel, határidővel, mérföldkőhöz és felhasználóhoz rendelve.
- MS3 le van zárva.
Lehetséges hibák
- Az MS1 és MS2 mérföldkövekhez kapcsolódó "eredmények" nem léteznek, pl. nincs, vagy nem megfelelő nevű a projekt, nincs választott feature, nincs merge request, branch, issue. Ez esetben az MS3 mérföldkő egyes részei, vagy akár az egésze, nem értékelhető.
- Nincs merge commit, a mergelés fast forward-dal történt, vagy eleve a main-en lett megvalósítva a feature.
- A feature nem megfelelő szinten lett megvalósítva.
- A program nem fut.
- A két feature külön-külön igen, de együtt/egymás mellett nem működik.
- Hiányzik a két tesztelős issue, vagy nem megfelelő beállytásokkal létezik.
Pontozás
Az első két mérföldkő pontozása viszonylag mechanikus volt: jól meghatározott feladatok, amiket nagyjából egyféleképpen lehetett jól megcsinálni. Ebben a mérföldkőben viszont már vannak olyan részek, amikben eléggé kreatív tudsz lenni. A merge-elés, issue és merge request lezárása persze most is egyértelműen ellenőrizhető, de a feature megvalósítása már nem, ott sok mérlegelnivaló van. Éppen ezért erre a mérföldkőre különösen igaz, hogy a projekt személyes bemutatása során a mérföldkőre adott pontszámot a gyakorlatvezető jelentősen módosíthatja!
4. mérföldkő
Határidő: 2025-04-20 (vasárnap) 23:59
Maximális elérhető pontszám: 18
Előfeltétel: megvalósított feature-ök
- Létezik a GitLab-on a tantárgy SDP25-SzoftverfejlesztesiFolymatok csoportja alatt a saját kurzusodnak fenntartott
SDP25-IBNa1017L-%
alcsoportban (ahol a%
helyére a saját csoportod számát írod) egy általad létrehozottSDP25-hxxxxxx
nevű (ahol ahxxxxxx
helyére a sajáth
-s azonosítódat írod) projekt. A továbbiakban erre a "saját projekt" néven, a hozzá tartozó Git repository-ra pedig a "saját repository" néven fogunk hivatkozni.
Nincs általad létrehozott ilyen projekt
Ha nincs ilyen projekted a GitLab-on, akkor nem tudunk mit ellenőrízni, és nem tudunk mire pontot adni.
- A CooSpace-en választottál két feature-t ugyanahhoz a projekthez, és ehhez léteznek a megfelelő teszt issue-k.
Nem választottál feature-öket
Ha nincs választott feature, akkor nincs mire pontot adni.
Nincs teszt issue
Ha nincs teszt issue, akkor nem tudunk mit ellenőrizni.
- A két választott feature meg lett valósítva.
A két feature nem lett megvalósítva
Bár léteznek úgynevezett test first fejlesztési módszertanok (pl. Test Driven Development, Behaviour Driven Development), amikor a teszteknek a megvalósított program nélkül is lehet értéke, itt most a "megvalósított szoftver nélkül nincs mit tesztelni" elvet követjük, ha tehát nincs megvalósított feature, akkor a teszt sem fog pontot érni.
A 4. mérföldkő feladatai:
- Az előző mérföldkő során létrehoztál egy-egy issue-t a két megvalósított feature-höz. Ezek neve "Tesztelés: [feature sorszáma és neve]" címmel, ahol a [feature sorszáma és neve] helyett a választott feature nevét írod be (ahogy a CooSpace jelentkezésben és a korábbi issue címben is szerepelnek). A megvalósítandó teszteket ezekhez az issue-khoz dokumentáld le, markdown formátumban írd be szabadszöveges módon, hogy miket tesztelsz, felsorolva a teszteseteket, és leírva, hogy miket próbálnak letesztelni a működésben. Ha már a fejlesztés során (vagy korábban) létrehoztad ezeket a teszteseteket, az nem hiba, de akkor is le kell őket dokumentálni!
- Mindkét megvalósított feature-höz valósíts meg legalább 3-3 tesztesetet! Ezek nem kell, hogy a teljes feature-t teszteljék, lehetnek a feature-ben résztvevő függvények tesztjei is (amennyiben a feature modularizált ennyire), de mindenképpen olyan függvényekhez írj tesztet, amit te készítettél vagy módosítottál! A 3-3 darab teszteset a minimum, nem tilos ennél többet elkészíteni.
- A tesztek elnevezése utaljon arra, hogy milyen részfunkciót ellenőriznek, melyik függvényt tesztelik, és ténylegesen ellenőrizzék, hogy az adott részfunkció megfelelően működik!
- A tesztek elkészítése során feltárt programhibákat ki lehet javítani a teszt (vagy egy külön) branch-en.
- A teszteseteket meg lehet valósítani az egyes teszt issue-khoz létrehozott merge request-ekhez tartozó külön branch-ekben, vagy egy közös branch-ben, de akár a korábbi feature branch-eken is (ha azokat még nem törölted). A fő kritérium, hogy ne közvetlenül a main branch-en dolgozz!
- A tesztelés módja (milyen eseteket vizsgálsz meg, mennyire releváns értékeket, edge case-eket választasz) rád van bízva, azonban valóban a megfelelő működést kell mérnie. Ezt a 6. mérföldkő bemutatója során ellenőrizni fogjuk, és a tesztelés minősége, alapossága utólag különösen kihathat a végső pontszámra. A bemutató során a tesztek lesznek leginkább fókuszban, ezért különösen figyel rá, hogy ezek tényleg relevánsak legyenek, meg tudd indokolni, hogy miért hasznosak.
- Az elkészített teszteket merge-eld be a main-be, és bizonyosodj meg róla, hogy ezek a main-ben is lefutnak! Az, hogy hány külön branch-ben készíted el a teszteket (a józan ész határain belül) nem számít. Ha a merge már korábban, esetleg a feature-rel együtt megtörtént, az sem baj. A kapcsolódó merge request-eket zárd le!
- Zárd le a két feature teszt issue-t!
- Hozz létre egy új issue-t "Continuous integration megvalósítása" címmel! Ezt rendeld az MS5 mérföldkőhöz és magadhoz. A határideje legyen vasárnap!
- Zárd le az MS4 mérföldkövet!
Mire jár pont?
- A tesztek a megfelelő issue-kban dokumentálva vannak.
- A tesztek megfelelően meg vannak valósítva.
- A tesztek merge commit-(ok)on keresztül kerültek be a main-be.
- A megfelelő teszt issue le van zárva.
- Létezik a CI issue, megfelelő beállításokkal.
- MS4 le van zárva.
Lehetséges hibák
- A tesztek nincsenek dokumentálva a teszt issue-kban.
- A tesztek nincsenek megvalósítva.
- A teszt dokumnetáció és megvalósítás nincs összhangban.
- A tesztek nem külön branch-ről kerültek a main-be (vagy legalábbis ez nem bizonyítható fast forward merge miatt).
- A teszt issue-k nincsenek lezárva.
- Nem létezik a CI issue, vagy rosszak a beállításai.
- MS4 nincs zárva.
Pontozás
A harmadik mérföldkőhöz hasonlóan ebben a mérföldkőben is viszonylag nagy tere van a kreativitásnak. A merge-elés, issue és merge request lezárása persze most is egyértelműen ellenőrizhető, de a tesztek megvalósítása már nem, ott sok mérlegelnivaló van. Éppen ezért erre a mérföldkőre is különösen igaz, hogy a projekt személyes bemutatása során a mérföldkőre adott pontszámot a gyakorlatvezető jelentősen módosíthatja!
5. mérföldkő
Határidő: 2025-05-11 (vasárnap) 23:59
Maximális elérhető pontszám: 6
Előfeltétel: megvalósított feature-ök
- Létezik a GitLab-on a tantárgy SDP25-SzoftverfejlesztesiFolymatok csoportja alatt a saját kurzusodnak fenntartott
SDP25-IBNa1017L-%
alcsoportban (ahol a%
helyére a saját csoportod számát írod) egy általad létrehozottSDP25-hxxxxxx
nevű (ahol ahxxxxxx
helyére a sajáth
-s azonosítódat írod) projekt. A továbbiakban erre a "saját projekt" néven, a hozzá tartozó Git repository-ra pedig a "saját repository" néven fogunk hivatkozni.
Nincs általad létrehozott ilyen projekt
Ha nincs ilyen projekted a GitLab-on, akkor nem tudunk mit ellenőrízni, és nem tudunk mire pontot adni.
- A CooSpace-en választottál két feature-t ugyanahhoz a projekthez, és ehhez léteznek a megfelelő teszt issue-k.
Nem választottál feature-öket
Ha nincs választott feature, akkor nincs mire pontot adni.
Nincs teszt issue
Ha nincs teszt issue, akkor nem tudunk mit ellenőrizni.
- A két választott feature meg lett valósítva.
A két feature nem lett megvalósítva
Bár léteznek úgynevezett test first fejlesztési módszertanok (pl. Test Driven Development, Behaviour Driven Development), amikor a teszteknek a megvalósított program nélkül is lehet értéke, itt most a "megvalósított szoftver nélkül nincs mit tesztelni" elvet követjük, ha tehát nincs megvalósított feature, akkor a teszt sem fog pontot érni.
- A két választott feature-höz létezik legalább 3-3, egységteszt keretrendszerrel futtatható teszteset.
A két feature-höz nincsenek tesztek
A mérföldkő feladata a tesztesetek CI módon történő automatikus futtatása lesz. Ha nincs mit futtatni, nincs értelme a mérföldkőnek.
Az 5. mérföldkő feladatai:
- Az előző mérföldkő során létrehoztál legalább 3-3 tesztesetet a két megvalósított feature-höz, amelyek a megfelelő egységteszt keretrendszerrel futtathatók. A CI pipeline ezeket a teszteket fogja lefuttatni, és jelez, ha valamelyik nem fut megfelelően. Ezt minden módosítás után megteszi.
- A pipeline rendelkezzen két stage-el, amik a két megvalósított feature-t reprezentálják. A sorrendjük rád van bízva, a nevük legyen "feature-1" és "feature-2".
- A stage-ekben az elkészített teszteket külön job-okként vedd fel, az egyik feature tesztjei az egyik stage-hez, a másiké a másik stage-hez tartozzanak! A job-ok elnevezése tükrözze azt, hogy mit tesztel az általa használt teszteset, azaz legyen egyértelmű, hogy mit akarnak tesztelni! Amennyiben logikai függés áll fenn két teszt között (pl. ha az egyik elbukik, akkor a másik is biztosan el fog), beállíthatsz függést (needs vagy dependencies), ám ez nem kötelező.
- Minden job rendelkezzen a "test" tag-gel, ez fogja neki kijelölni a megfelelő runnert, ami a gyakorlati csoportban rendelkezésre áll! Határidő-közeli feltöltéseknél figyelj rá, hogy a runnert valószínűleg ekkor több tíz vagy száz hallgatótársad is használni akarja, így eltarthat egy darabig, mire kikerül a stage-ünk pending állapotból! Ezt vedd figyelembe munkád megtervezésekor, nehogy emiatt kerülj csúszásba!
- A tesztek közül legalább az egyiknek készíts artifact-ot is, amely egy log fájl lesz! Ez tartalmazhatja a teszt kimenetét, vagy tetszőleges, a teszt eredményét tükröző szöveget. Az artifact megőrzési ideje legyen 2 hétre állítva!
- Ha a pipeline valami hibát jelez, javítsd ezt -- a hibás kód vagy hibás teszt módosításával --, ám ha történt ilyen utólagos módosítás, a bemutatón erről be kell majd számolni!
- Zárd le a "Continuous integration megvalósítása" című issue-t!
- Hozz létre egy új issue-t "Bemutatás előkészítése" címmel! Ezt rendeld az MS6 mérföldkőhöz és magadhoz!
- Zárd le az MS5 mérföldkövet!
Mire jár pont?
Lehetséges hibák
6. mérföldkő
Határidő: az utolsó gyakoraltod napja a 2025-05-19-i héten, a gyakorlat vége
Maximális elérhető pontszám: bináris értékelés
Előfeltétel: a projektmunka mind az 5 korábbi mérföldkövéhez tartozó feladatok elvégzése
- Létezik a GitLab-on a tantárgy SDP25-SzoftverfejlesztesiFolymatok csoportja alatt a saját kurzusodnak fenntartott
SDP25-IBNa1017L-%
alcsoportban (ahol a%
helyére a saját csoportod számát írod) egy általad létrehozottSDP25-hxxxxxx
nevű (ahol ahxxxxxx
helyére a sajáth
-s azonosítódat írod) projekt. A továbbiakban erre a "saját projekt" néven, a hozzá tartozó Git repository-ra pedig a "saját repository" néven fogunk hivatkozni. - A saját projektedben meg van valósítva két általad választott feature, ezekhez létezik legalább 3-3 egységteszt, melyeket a CI automatikusan lefuttat a projekt minden változtatásakor.
A 6. mérföldkő feladatai:
-
Felkészülés:
- Ellenőrizd a végső, feltöltött kódodat: minden úgy van-e a main branch-en, ahogy annak egy kész projektnél, a megrendelőnek való átadásnál lennie kell:
- A main branch-en van a végső kódod?
- Működőképes a végső kód?
- A módosításaid rendben felkerültek?
- A tesztjeid léteznek ezen a branch-en és képesek lefutni?
- Működik a CI pipeline és sikeres?
- Lezártál mindent a GitLab-on, amit ténylegesen elvégeztél?
- Ha hiba merül fel, javíthatod, ám erről a bemutatáskor nagyon tömören be kell számolnod a gyakorlatvezetőnek. Mivel határidő utáni módosításokról van szó, ezek már sokkal inkább hotfix-nek számítanak, mint ténylegesen a projekt keretében végzett munkának. Ez tehát nem a tényleges munka helyettesítésére alkalmas, hanem a váratlan hibák kiküszöbölésére, de a pontszámot a gyakorlatvezető mérlegelése alapján ezen módosítások is befolyásolhatják.
- Ha már mindent rendben találsz, akkor zárd le a korábban létrehozott "Bemutatás előkészítése" issue-t!
- Zárd le az MS6 mérföldkövet!
- Ellenőrizd a végső, feltöltött kódodat: minden úgy van-e a main branch-en, ahogy annak egy kész projektnél, a megrendelőnek való átadásnál lennie kell:
-
A GitLab projekt bemutatása órán a gyakorlatvezetőnek.
- A bemutató a gyakorlat helyén és idejében fog megvalósulni.
A gyakorlat ideje kifejezetten szűkös, ezért mindenkitől elvárjuk a gyors és hatékony bemutatást.
A bemutatás történhet a kabinetes számítógépen, vagy saját laptopon is.
A bemutatásra a következő előkészületeket kell tenni:
- Meg kell nyitni a GitLab felületet, azon belül az általad létrehozott
SDP25-hxxxxxx
projektet: egy böngésző-fülön a main branch-et, egy másikon pedig a commit-history-t megnyitva. - Lokálisan meg kell nyitni a projektet egy tetszőleges szövegszerkesztőben vagy fejlesztői környezetben (minimum a szintaxis-színezést támogatnia kell).
- Lokálisan működőképes állapotba kell hozni a kódot és a teszteket (akár a fejlesztői környezeten belül, akár a konzolról a
python
/python3
és/vagypytest
paranccsal, ez rád van bízva). A teszteknek sikeresen le kell futniuk.
- Meg kell nyitni a GitLab felületet, azon belül az általad létrehozott
- A bemutató során elsősorban a teszteken keresztül nézzük meg az eredményt. Itt amit érdemes mindenképp átismételned: Milyen teszteket készítettél és miért pont ezeket, hogyan ellenőrzik ezek a megvalósított új feature-öket. A bemutató során a teszteket szinte biztosan le kell futtatni, de a gyakorlatvezető kérheti a kód futtatását vagy megnyitását is. A bemutató során be kell számolni arról, ha egy megvalósítás hibásan vagy hiányosan történt. A bemutató során (és egyébként is) a gyakorlatvezetőnek jogában áll a kód vagy a munka bármely aspektusába belekérdezni. A gyakorlatvezető felméri azt is, hogy önálló munka történt-e, ugyanis a követelmények értelmében saját és önálló munkát kellett csinálni.
- A bemutatón elképzelhető, hogy nem a saját gyakorlatvezetőndnek kell bemutatnod a projektet, illetve a saját gyakorlatvezetőd sem feltétlenül fog ott helyben pontosan emlékezni arra, amit korábban átnézett/lepontozott. A bemutatóra ezért úgy kell készülni, mintha a reviewer ismerné ugyan a feladatot, de most látná először a megvalósításodat.
- Az idő rövidsége miatt ha nem készíted elő időben a bemutatást, vagy a bemutatás valami technikai ok miatt elakad vagy elhúzódik, a gyakorlatvezető a következő hallgatóhoz lép tovább. Ez nem jelent automatikusan sikertelen bemutatást, és ha az idő megengedi, a gyakorlatvezető még visszatérhet a későbbiekben, ám a többi hallgató, akiknek még nem kezdődött meg a bemutatója ebben az esetben előnyt élvez. Amennyiben nem jut idő a gyakorlat során a bemutató végigvitelére, a gyakorlatvezető által meghatározott pót-időpontban, vagy ennek hiányában egy egyénileg egyeztetett időpontban folytatható a bemutatás. A gyakorlatvezető ezt a pótlást a javító alkalomra, vagy akár a vizsgaidőszakra is átteheti. A bemutató befejezéséig (a bemutató legkésőbb a pótlás időpontjának végén befejezettnek minősül, akár megjelentél, akár nem -- utóbbi esetben természetesen sikertelen a bemutatás) a gyakorlat nem kerül lezárásra.
- A minimális pontszámot el nem ért hallgatók esetében a bemutatón való megjelenés nem kötelező, de vedd figyelembe, hogy a bemutatón esetleg tisztázhatsz pár dolgot, amit a gyakorlatvezető a mérföldkövek pontozásánál "benézett", így van esélyed átbillenteni a pontszámot a minimálisan szükséges fölé. A bemutatón való határidő-alkudozásokra vagy a munka további meghosszabbítására viszont nincs lehetőség, és a bemutató elmulasztása vagy nem befejezése sem engedélyez további munkát a projekten!
- A bemutató a gyakorlat helyén és idejében fog megvalósulni.
A gyakorlat ideje kifejezetten szűkös, ezért mindenkitől elvárjuk a gyors és hatékony bemutatást.
A bemutatás történhet a kabinetes számítógépen, vagy saját laptopon is.
A bemutatásra a következő előkészületeket kell tenni:
Mire figyel a gyakorlatvezető?
- A szoftver megvalósításának mértékére
- A tesztek megfelelőségére
- A CI működésére/használatára
- A Git megfelelő használatára (branch-ek, merge-ek)
- A GitLab megfelelő használatára (merge request, issue, cimkézés, milestone kezelés, ...)
- Saját munka: az önmagában nem baj -- és sok esetben nem is ellenőrizhető --, ha a feladatok megoldásához segítséget vettél igénybe, de bármit használsz is a projekt megvalósítása során, értened kell, hogy az mire való, mire jó, miért van ott.
Lehetséges hibák
- A Git-ben található állapot és a GitLab nincs összhangban
- A szoftver valójában nem lett kifejlesztve
- A tesztek nem megfelelő minőségűek