Skip to content

Commit

Permalink
Merge pull request #9 from BME-MIT-IET/feature/issue-3-bdd-tests
Browse files Browse the repository at this point in the history
Feature/issue 3 bdd tests
  • Loading branch information
Tenyitamas authored May 22, 2024
2 parents 51a0fe2 + d5510d2 commit 094dd26
Show file tree
Hide file tree
Showing 30 changed files with 1,071 additions and 468 deletions.
20 changes: 0 additions & 20 deletions .idea/jarRepositories.xml

This file was deleted.

12 changes: 0 additions & 12 deletions .idea/misc.xml

This file was deleted.

6 changes: 0 additions & 6 deletions .idea/vcs.xml

This file was deleted.

3 changes: 2 additions & 1 deletion doc/feladat2.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ Mivel az eszközök rengeteg hibát és figyelmeztetést találhatnak, ezért el
A manuális küdátvizsgálásnál is már kijött, hogy sok code smellt tartalmaz a kódbázis, ezt a Sonarcloud bekötése meg is erősítette. A fő cél az volt, hogy a security hotspotokat megszűntessük és néhány tesztesetet felvegyünk. A tesztelést Mockito és Junit segítségével írtuk és jacocoval ellenőriztük lokálisan a kódlefedettséget.
- kezdetben: 0 % test coverage, 391 issue, 4.8 % duplication, 16 security issue
- végeredmény: 5 % test coverage, 212 issue és **_0 security hotspot_** (!!!)

![](sonar_start.png)
![](sonar_end.png)
## Kihívások, Eredmények, Tanulságok
Már a fejlesztési fázisban érdemes elkezdeni a kód minőségének javításást, ellenőrzését ilyen és hasonló framework-ök használatával, hogy később ne tornyosuljanak fel az issuek.
Előszőr azt akartuk, hogy át is menjen a sonar ellenőrzésen, de ez ilyen keretek között irreális lett volna, illetve nem tanított volna újabb tesztelési metódusokat, csak az eddig már felhasznált és bemutatott metodikákat használta volna újra.
22 changes: 22 additions & 0 deletions doc/feladat3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# BDD tesztek

## Feladat
BDD tesztek Cucumber-rel

## Megoldás

### Projekt beállítása:
A Java projektben a Cucumber integrálásához hozzáadtuk a szükséges függőségeket a pom.xml fájlhoz, beleértve a cucumber-java és cucumber-junit könyvtárakat.

### Funkcionális követelmények leírása:
A tesztelni kívánt funkciókat Gherkin nyelven írtuk le. A Gherkin nyelv egyszerű szintaxist használ, amely kulcsszavakból (Given, When, Then) áll. Ezek a resources könyvtárban található .feature fájlok.

### Step definíciók implementálása:
A szcenárió lépéseihez Java metódusokat társítottunk. Ezeket a metódusokat annotációkkal láttuk el, amelyek megfelelnek a Gherkin szintaxisának. Ezek a steps könyvtárban található Java osztályok metódusok, itt kötjük össze a teszteseteket a játék mechanikájával.

### Teszt futtatása:
A Cucumber teszteket JUnit futtatóval indítottuk. A teszt eredményeit a JUnit standard kimenetén keresztül értékeltük, amely tartalmazta a sikeres és sikertelen tesztesetek részleteit.

### Eredmények értékelése:
Az összes teszteset sikeresen lefutott, ami azt jelenti, hogy a programunk megfelelt az előzetesen meghatározott üzleti követelményeknek.

Binary file added doc/sonar_end.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/sonar_start.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 17 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<groupId>iet-hf-2024-old-imsc3</groupId>
<artifactId>iet-hf-2024-old-imsc3</artifactId>
<version>1.0-SNAPSHOT</version>

<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
Expand All @@ -17,12 +17,25 @@
</properties>

<dependencies>
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-java -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>7.18.0</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.8.2</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>7.18.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
Expand All @@ -38,6 +51,7 @@
</dependencies>
<build>
<plugins>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
Expand Down Expand Up @@ -74,6 +88,7 @@
</plugin>

</plugins>

</build>

</project>
Loading

0 comments on commit 094dd26

Please sign in to comment.