Software Testing¶
Tijdens het vorige project heb je gebruikersacceptatietesten (User Acceptance Tests) uitgevoerd om te controleren of (delen van) de applicatie aan de functionele verwachtingen voldeed. Dit is slechts één van de vele vormen van testen die er binnen het landschap van software ontwikkeling bestaat.
Unit Testing¶
Bij dit project ga je daarom aan de gang met een andere vorm van testen: unit testing. Bij unit testing schrijf je een klein stukje code, meestal met gebruik van een test framework, om geautomatiseerd een stuk code uit je applicatie te testen op correctheid.
Een klein voorbeeld:
Bij deze functie zou je verwachten dat:
add(1, 2)
resulteert in3
.add(-1, 2)
resulteert in1
.
Met een unit test kunnen we dit regelmatig geautomatiseerd controleren. Stel nu dat iemand een wijziging in deze functie maakt waardoor 1 + 2
ineens 4
geeft, dan zal de test falen. Hiermee kun je dus met zekerheid code aanpassen en wijzigen, zonder dat je bang hoeft te zijn elders in de code iets kapot te maken! Dat noemen we ook wel het voorkomen van “regressie”. Tests hoeven overigens niet alleen de happy flow te testen, je kunt ze ook gebruiken om te controleren of code correct omgaat met fouten!
Hoe dit precies werkt, lees je verderop in deze Knowledgebase.
Verwachtingen
We verwachten dat de meest belangrijke functionaliteiten in de webshop zijn voorzien van tests. Ieder teamlid dient hier een evenredige bijdrage aan te leveren!
Wat wel of niet testen?¶
Hoe bepaal je of iets een belangrijke functionaliteit is? Dat is per product verschillend, maar in het geval van een webshop is het de bedoeling dat een gebruiker met zo min mogelijk weerstand kan bestellen en de klant (LucaStars) zo veel mogelijk verdiend.
Met die kennis kan je jezelf bijvoorbeeld de volgende vraag stellen: Als deze functionaliteit niet correct zou werken, belemmert dit dan de gebruiker om een product te bestellen?
Als het antwoord op deze vraag “Ja” is, dan wil je hiervoor een test hebben. Een voorbeeld kan zijn dat een gebruiker geen producten aan een winkelmandje kan toevoegen. Of dat de prijs van een product niet klopt, dat is of voor de gebruiker of voor de klant vervelend.
Testen vanaf sprint 4
Zorg er met je team voor dat je direct vanaf sprint 4 tests ontwikkelt en uitvoert.