...
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.
Binnen dit project streven wij voor een code coverage van minimaal 80%.
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 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 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:
- Usecase 1 - Beheren van spelers
- Usecase 2 - Beheren van competities
- Usecase 3 - Beheren van competitiegroepen
- Usecase 4 - Beheren van spelers in competitiegroep
- Usecase 5 - Noteren Startrating
- Usecase 6 - Ronde Resultaten invoeren
- Usecase 7 - Resultaat externe ronde invoeren
- Usecase 8 - Gegevens publiceren op website
- Usecase 9 - Printen ronde-indeling
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.