Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Testplan

Inleiding

Dit testplan vormt de kern van de kwaliteitsbewaking van het gemaakte product. Het doel van dit testplan is niet alleen om fouten te identificeren maar ook om te zorgen dat de kwaliteit en functionaliteit van het systeem blijft voldoen aan de verwachtingen. In dit testplan staan functionele en unit tests van het systeem beschreven. Wij zullen alleen de gemaakte Java code testen binnen dit project omdat dit het meeste in lijn ligt met de kern van de opdracht. De database zou mogelijk ook verder kunnen worden getest echter gaan wij dat niet doen.

Unit Tests 

Binnen ons project hebben wij de unittests compact gehouden en testen wij per klasse individueel de methoden die zich daarin bevinden. Met een testmethode zoals deze zal er snel achter worden gekomen wat er fout is binnen een methode als een van de tests niet wordt gehaald. Ook is dit handig wanneer er veranderingen worden gemaakt aan bestaande code, omdat de tests dan niet volledig zullen falen, maar alleen de veranderde gedeeltes.

De unit tests zijn uitgevoerd en geschreven met behulp van Junit JUnit en Mockito.

Functionele tests

Wij hebben per usecase ook functionele tests gemaakt. Deze testen zijn gebaseerd op de usecase detailleringen en moeten de uitvoering van de applicatie simuleren in de vorm van fysiek uitgevoerde testen. Verder in het document zullen de uitgevoerde functionele testen ook gaan staan. Hieronder een lijst met usecases die wij hebben getest:

...

Deze usecases hebben wij kunnen realiseren binnen het project en zijn de tests voor uitgevoerd.

Tooling

Voor het onderhouden van de kwaliteit van ons project hebben wij SonarQube en Jenkins gebruikt. Door deze tools te gebruiken hebben wij de kwaliteit van onze beter te kunnen beheren.

SonarQube

Met SonarQube kunnen wij gegenereerde rapporten ontvangen die ons duidelijkheid leveren over de kwaliteit van onze code. Deze tooling leest vaak over onze code en geeft ons feedback over wat er mogelijk fout is. Dit doet SonarQube in de vorm van code smells. Hierbij moet je denken aan code die niet gebruikt wordt, code die dubbel bestaat binnen het project of andere foutieve elementen. 

Wij streven naar een project zonder code smells.

Jenkins

Met Jenkins kunnen wij de applicatie dagelijks laten worden gecontroleerd d.m.v. het te runnen en dan te testen. Doordat Jenkins deze testen uitvoert kunnen zij gedetailleerde rapporten over build- en testresultaten leveren. Deze rapporten geven ons belangrijke informatie over de status van ons project zoals de huidige code coverage van onze testen. Zo kunnen wij duidelijk zien hoeveel van onze code is gedekt door de testen. Jenkins zal niet kijken naar de controller functies omdat het niet echt mogelijk is om deze te testen. Hierdoor zal de totale code-coverage niet naar beneden worden gehaald.

Wij streven naar een project met 80% code coverage.

Testrapport

In dit gedeelte van het document staat het testrapport voor alle gerealiseerde Java onderdelen van het OOSE-project. 


Unit tests

Alle unit tests binnen ons project zijn met succes uitgevoerd. We hebben 196 tests uitgevoerd, waarvan alle 196 tests zijn geslaagd. Dit toont aan dat de methoden binnen elke klasse goed functioneren. Onze testaanpak, gebruikmakend van JUnit en Mockito, heeft zich effectief bewezen in het identificeren van mogelijke problemen en het waarborgen van de betrouwbaarheid van onze code.

Functionele Testen

Usecase 1

1.1 Spelers bekijken

Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Spelers bekijken

Tabel met alle spelers en invulvelden worden getoond.


1.2 Spelers toevoegen

Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Spelers bekijken

Tabel met alle spelers en invulvelden worden getoond.


24Nieuwe speler aanmaken

Voornaam: Henk
Achternaam: de Jong
Rating: 100
Type: Lid

Nieuwe speler is aangemaakt.


Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Spelers bekijken

Tabel met alle spelers en invulvelden worden getoond.


24Nieuwe speler aanmaken

Voornaam: 
Achternaam: de Jong
Rating: 100
Type: Lid

Melding "Voornaam is leeg of te lang"


Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Spelers bekijken

Tabel met alle spelers en invulvelden worden getoond.


24Nieuwe speler aanmaken

Voornaam: Henk
Achternaam: 
Rating: 100
Type: Lid

Melding "Achternaam is leeg of te lang"


Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Spelers bekijken

Tabel met alle spelers en invulvelden worden getoond.


24Nieuwe speler aanmaken

Voornaam: Henk
Achternaam: de Jong
Rating: 999999
Type: Lid

Melding "Rating is te laag of te hoog"


1.3 Spelers verwijderen

Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Spelers bekijken

Tabel met alle spelers en invulvelden worden getoond.


24Speler verwijderen


Melding "Weet je het zeker?"


36Keuze bevestigen

Yes wordt gekozen

Speler is verwijderd.


Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Spelers bekijken

Tabel met alle spelers en invulvelden worden getoond.


24Speler verwijderen


Melding "Weet je het zeker?"


36Keuze bevestigen

Cancel wordt gekozen

Speler is niet verwijderd.


1.4 Spelers bewerken

Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Spelers bekijken

Tabel met alle spelers en invulvelden worden getoond.


24Speler bewerken


De waarden van de velden veranderen naar de data van de geselecteerde speler.


36Gegevens aanpassen

Voornaam: Henk
Achternaam: de Jong
Rating: 100
Type: Lid

Gegevens van speler zijn aangepast.


Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Spelers bekijken

Tabel met alle spelers en invulvelden worden getoond.


24Speler bewerken


De waarden van de velden veranderen naar de data van de geselecteerde speler.


36Gegevens aanpassen

Voornaam: Henk
Achternaam: 
Rating: 100
Type: Lid

Melding "Rating is te laag of te hoog"


Usecase 2

2.1 Competitie aanmaken.

Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Competities bekijken

Tabel met alle competities en invulvelden worden getoond.


23Competitie aanmaken
Competitiegegevens kunnen ingevuld worden


35Nieuwe speler aanmaken

Naam: Competitie 1
Type: Periodecompetitie
Aantal ronden: 5
Startdatum: 2024-01-01
Winst: 1.0
Remise: 0.5
Verlies: 0.0
Oneven: 1.0
Vrijgesteld: 1.0

Nieuwe Competitie is aangemaakt.


2.2 Competities bekijken

Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Competities bekijken

Tabel met alle competities en invulvelden worden getoond.


2.3 Competities bewerken

Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Competities bekijken

Tabel met alle competities en invulvelden worden getoond.


24Competitie bewerken


De waarden van de velden veranderen naar de data van de geselecteerde Competitie.


36Gegevens aanpassen

Naam: Competitie 1

Type: Periodecompetitie

Aantal ronden: 5

Startdatum: 2024-01-01

Winst: 2.0

Remise: 1.0

Verlies: 0.0

Oneven: 1.0

Vrijgesteld: 1.0

Gegevens van competitie zijn aangepast.




2.4 Competitie verwijderen

Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Competities bekijken

Tabel met alle competities en invulvelden worden getoond.


23Competitie verwijderen


Melding "Weet je het zeker?"


35Keuze bevestigen

Yes wordt gekozen

Competitie is verwijderd.


Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Competities bekijken

Tabel met alle competities en invulvelden worden getoond.


23Competitie verwijderen


Melding "Weet je het zeker?"


35Keuze bevestigen

Cancel wordt gekozen

Competitie is niet verwijderd.


Usecase 3

Competitiegroepen bekijken

Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Competitiegroepen bekijkenCompetitie: 1

Tabel met groepen van de competitie worden getoond.


Competitiegroep aanmaken

Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Competitiegroepen bekijkenCompetitie: 1

Tabel met groepen van de competitie worden getoond.


23Competitiegroep instellen

Invulvelden worden laten zien


35Competitiegroep toevoegenGroepsnaam: B

De competitiegroep is aangemaakt


Competitiegroep bewerken

Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Competitiegroepen bekijkenCompetitie: 1

Tabel met groepen van de competitie worden getoond.


23Competitiegroep instellenGroepsnaam: B

Invulvelden worden laten zien


35Competitiegroep aanpassenGroepsnaam: Nieuwe groep

De competitiegroep is aangepast


Competitiegroep verwijderen

Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Competitiegroepen bekijkenCompetitie: 1

Tabel met groepen van de competitie worden getoond.


23Competitiegroep verwijderenGroepsnaam: Nieuwe groep

Melding "Weet je het zeker?"


35Bevestiging"Ja" wordt gekozen

De competitiegroep is verwijderd


Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Competitiegroepen bekijkenCompetitie: 1

Tabel met groepen van de competitie worden getoond.


23Competitiegroep verwijderenGroepsnaam: A

Melding "Weet je het zeker?"


35Bevestiging"Nee" wordt gekozen

De competitiegroep is niet verwijderd



Usecase 4

Spelers van competitiegroep bekijken

Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Competitiegroepen bekijkenCompetitie: 1

Tabel met groepen van de competitie worden getoond.


23Spelers in competitiegroep bekijkenGroepsnaam: A

In de linker tabel worden de beschikbare spelers voor de groep laten zien
In de rechter tabel worden de spelers in de groep getoond.


Spelers toevoegen aan competitiegroep

Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Competitiegroepen bekijkenCompetitie: 1

Tabel met groepen van de competitie worden getoond.


23Spelers in competitiegroep bekijkenGroepsnaam: A

In de linker tabel worden de beschikbare spelers voor de groep laten zien
In de rechter tabel worden de spelers in de groep getoond.


35Spelers toevoegen aan groep

Spelers: Jane Smith, Michael Johnson

De spelers zijn toegevoegd aan de groep en zijn te zien in de rechter tabel, en niet meer in de linker tabel.


Spelers verwijderen van een competitiegroep

Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Competitiegroepen bekijkenCompetitie: 1

Tabel met groepen van de competitie worden getoond.


23Spelers in competitiegroep bekijkenGroepsnaam: A

In de linker tabel worden de beschikbare spelers voor de groep laten zien
In de rechter tabel worden de spelers in de groep getoond.


35Spelers verwijderen uit groep

Spelers: Jane Smith, Michael Johnson

De spelers zijn verwijderd uit de groep en zijn te zien in de linker tabel, en niet meer in de rechter tabel.


Usecase 5

Startrating vastleggen

Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Spelers bekijken

Tabel met spelers wordt getoond


23Leg startrating vast


Melding "Weet je het zeker?"


35Bevestiging

"Ja" wordt gekozen

Startrating is vastgelegd, en wordt getoond op het scherm


Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Spelers bekijken

Tabel met spelers wordt getoond


23Leg startrating vast


Melding "Weet je het zeker?"


35Afkeuring

"Nee" wordt gekozen

Melding wordt afgewezen, spelerstabel wordt getoond op het scherm.


Usecase 6

Ronde resultaten invoeren

Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Groepen van competitie bekijkenCompetitie: 1

Tabel met groepen van competitie wordt getoond


23Ronden van groep bekijkenGroep: A

Tabel met ronden in groep wordt getoond


35Wedstrijden van ronde bekijkenRonde: 1

Tabel met wedstrijden in ronde wordt getoond


47Resultaat invoeren

Wedstrijd: 1

Resultaat: 1-0

Resultaat van wedstrijd is "1-0", Rating is aangepast


Usecase 7

Resultaat externe ronde invoeren

Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Vragen om gegevens in te vullen
Invulvelden en knop wordt weergegeven.


23Vul naam van interne speler in

Interne speler: 1 | Bas Berends (403)

Muis wordt doorgestuurd naar het veld voor de rating van de externe speler


35Vul rating in van externe speler

Externe rating: 100

Muis wordt doorgestuurd naar het veld voor de uitslag van de wedstrijd


47Kies uitslag wedstrijd

Resultaat: 0 - 1

Opslaan knop wordt clickable


5Bevestig door klikken op opslaan knop


Pop up met bevestiging verschijnt


611Bevestig door op ja te klikken


Rating wordt geüpdatet voor interne speler


Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Vragen om gegevens in te vullen
Invulvelden en knop wordt weergegeven.


23Vul naam van interne speler in

Interne speler: 1 | Bas Berends (403)

Muis wordt doorgestuurd naar het veld voor de rating van de externe speler


35Vul rating in van externe speler

Externe rating: 100

Muis wordt doorgestuurd naar het veld voor de uitslag van de wedstrijd


47Kies uitslag wedstrijd

Resultaat: 0 - 1

Opslaan knop wordt clickable


5Bevestig door klikken op opslaan knop


Pop up met bevestiging verschijnt


611Annuleer door op Annuleer te klikken


Pop up verdwijnt en ingevulde velden verschijnen weer


Usecase 9

Gegevens publiceren op website

Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Competities opvragen
Tabel met alle competities en invulvelden worden getoond.


23Competitie selecterenZomercompetitieCompetitie wordt geselecteerd


35Uploaden gegevens van competitie
Op de gegenereerde url's zijn de gegevens te zien


Usecase 10

Printen ronde-indeling

Stap

UC Stap

Actie

 Testdata

Verwachte resultaat

Echte Resultaat

11Vragen om gegevens in te vullen
Invulvelden en knop wordt weergegeven.


23Competitie selecterenCompetitie 1 | ZomertoernooiCompetitie 1 wordt in het dropdown menu getoond


35Ronde selecterenRonde nummer: 1 | Ronde datum: 2024-05-27Ronde 1 wordt in het dropdown menu getoond


47Pad PDF kiezenC:\Users\<gebruiker>\DocumentsPad wordt naast browse-knop getoond


59PDF genereren
PDF wordt op gewenste pad gegenereerd