Skip to content

Commit

Permalink
doc commit
Browse files Browse the repository at this point in the history
  • Loading branch information
wry6181 committed May 22, 2024
1 parent 25f4475 commit 6d02235
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 38 deletions.
2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 2 additions & 4 deletions doc/BDDTests.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,9 @@ A tesztek mindegyike sikeresen lefut és nem jelez hibát. Ez arra utal, hogy ko
* src
* test
* java
* com.stepDefinition
itt vannak a konkrét függvények
* com.stepDefinition - itt vannak a konkrét függvények

* src
* test
* resources
* Features
itt vannak a tesztek
* Features - itt vannak a tesztek
52 changes: 19 additions & 33 deletions doc/BuildCI.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,44 +2,30 @@
#### Villamosmérnöki és Informatikai Kar
#### Budapesti Műszaki és Gazdaságtudományi Egyetem

## Build CI
## Build + CI
# Beszámoló
### Sólyom Béla - OUYZY7

### Alkalmazás
Utánajárás után a User Interface teszteléséhez a QF-Test alkalmazást találtam a legjobbank. Ez ugyan egy fizetős software,
de az ingyenes próbaidőszak alatt ki tudtam próbálni és a teszteket is meg tudtam valósítani benne.
Az alkalmazásban különböző teszteseteket és inputokat lehet definiálni.

### Linux sajátosságok
Az alkalmazást és a teszteket Linux operációs rendszeren futtattam.
Ennek következtében elképzelhetőek különböző design eltérések más OS-ek esetében. Ennek következtében eléképzelhető, hogy a tesztek egy része eltérő eredményt ad.

### Maven
A tesztelést implementáltam maven-ben is, de mivel a program elérési útját is meg kell adni, illetve az alkalmazás operációsrendszer függő is,
ezért jelenleg kikommenteltem, hogy ne legyen útban.

### Tesztek
Hat fő tesztcsoportot hoztam létre, az elsők egyszerűbbek, a vége felé vannak komplexebbek is:
* *Start window*: A kezdőablakot teszteli, a megjelenő képet, illetve a szövegeket.
* *Story window*: A story gomb működését, illetve az utána megjelenő ablak szövegeit teszteli.
* *Settings window*: A settings gomb működését teszteli. Majd a megjelenő ablak képét és szövegeit ellenőrzi. Ezt követően a beállítás értékeit. Utána módosítja az értékeket és megnézi, hogy ténylegesen is változtak-e a kiírt értékek.
* *Game window*: Először módósítja a beállításokat, majd a Start gomb menyomása után ellenőrzi a megjelenő ablakot. Checkolja a megjelenő szövegeket illetve ellenőrzi a beállított értékek helyességét is. Ezt követően az első játékossal elvégez pár műveletet (Move, Make sticky). A műveletek után ellenőrzi a megjelenő képet. Következő lépésként a második és harmadik játékos lépését is megcsinálja a program (Move, Make sticky, Move, Destroy pipe). A lépés utáén újabb ellenőrzés, hogy megjelennek-e a változtatások. A negyedik játékos esetében (Move, Repair pipe) akciókat hajt végre a program. A megjelenő kép ellenőrzése mellett a szöveg válzoztatásait is ellenőrzi.
* *Game round*: A teszt egy teljes kört lejátszik, majd megnézi, hogy ténylegesen megtörténtek-e a változások, illetve csökkent-e a számláló.
* *Game end*: A játék végét teszteli. Először beállítja, hogy csak egy kör legyen, majd ezt az egy kört lejátsza. Az utolsó játékos után megjelenő záróképernyő szövegeit és gombjait teszteli a program.
A build és continuous integration (CI) feladatainak automatizálásához a Maven és a GitHub Actions eszközöket használtam. Az alábbiakban részletezem az egyes lépéseket és a megvalósított megoldásokat.

### Maven beállítása
A projekt build menedzsmentjéhez a Maven-t használtam. A pom.xml fájlban definiáltam a szükséges függőségeket és build konfigurációkat, beleértve az esetleges jövőbeni QF-Test integrációt.
### CI beállítása GitHub Actions segítségével
A GitHub Actions-t használtam a folyamatos integráció megvalósításához. Két különböző job-ot definiáltam, amelyek Ubuntu és Windows környezetben is futtatják a build és tesztelési folyamatokat.

### Eredmények
A tesztek mindegyike sikeresen lefut és nem jelez hibát, egy kivételével. A Settings window teszt esetében a kezdeti megjelenéskor egy hibát talál a program.
A "Rounds: 10" kíírásnál kezdetben nem stimmel a szöveg, ez viszont helyesen változik, ha módosítjuk a beállítás értékét. A probláma esztétikai, a szövegben van egy plusz szóköz feleslegesen.
Ezt érdemes javítani. Ezen kívül a program által tesztelt elemek helyesen mőködnek.
A tesztek összesített eredményeit külön fájlban meg lehet tekinteni, lásd később.
A beállított CI pipeline sikeresen végrehajtja a következő lépéseket mindkét operációs rendszeren:
- Kódbázis letöltése a GitHub repozitóriumból.
- Java fejlesztési környezet beállítása a megfelelő JDK verzióval.
- Projekt build és tesztelés a Maven segítségével.
- Függőségek naprakészen tartása és figyelése.



### Fájlok
* src
* test
* qf-test
* resources
* A megjelenés tesztelásáhez szükséges képek
* testReport
* report.html - A teszt eredményei egy html fájlban
* iet-hf.qft - A QF-Test projekt, amiben a tesztek vannak definiálva
pom.xml - maven build
* .github
* workflows
* maven.yml - CI Github-on is fusson a build

0 comments on commit 6d02235

Please sign in to comment.