dinsdag 19 april 2016

Agile testen voor beginners

Echt goed exploritory testing is moeilijk en vaak voor gevorderden. Testtechnieken zijn vaak moeilijk om te leren en om toe te passen in een Agile omgeving. Dus wat doe je met iemand zonder testervaring, die in het Agile testvak wil beginnen?

Waar het bij Agile testen om gaat, is vaak om een testmethode te hebben, die flexibel is. Die geen tot weinig voorbereiding vraagt en in allerlei situaties toegepast kan worden. Dat maakt exploritory testing ook zo populair. Maar er zijn ook manieren van testen, die snel te leren zijn, weinig voorbereiding vragen en toch flexibel zijn. Drie die ik zelf veel gebruik, zal ik hier beschrijven.

De CRUD test (Create Read Update Delete)

Deze officiële techniek werkt simpel. Je creëert iets, bijvoorbeeld een medewerker, en controleert of de gegevens goed zijn. Je past het aan en controleert of de gegevens goed zijn. Je verwijdert het en controleert of de verwijdering juist heeft plaatsgevonden. Kijkend naar een website of applicatie is het bijna een kwestie van het vinden van de Nieuw, Opslaan en Verwijder knoppen om deze testen uit te voeren. Dat maakt dat er nauwelijks voorbereiding nodig is. En het leertraject is vrij snel.

Een voorbeeld:
Stel je hebt een website waar een persoon een rekening kan openen, wijzigingen kan doorgeven (b.v. aangeven hoeveel je rood mag staan) en de rekening kan opheffen. Dan heb je vervolgens 1 testcase, waarbij je een rekening opent (Create). Je opent een rekening en vervolgens vraag je de rekening opnieuw op en controleer je of alle gegevens correct zijn. (Read). Hierna wijzig je b.v. het bedrag dat je rood mag stan (Update). Dan vraag je opnieuw de gegevens van de rekening op (Read) en controleer je of het bedrag dat je rood mag staan goed is weergegeven. Als laatste hef je de rekening op (Delete) en kijk je of de rekening nog op de website getoond wordt (Read).

De checklist

Vaak is er op een of andere manier sprake van een lijst met eisen. Als de lijst werkelijk een opsomming is, heb je meteen een checklist die je kan gebruiken. Is er sprake van een stuk tekst, dan is dit wat moeilijker. Je kan van de stuk tekst dan een opsomming maken. Maar je kan ook gebruik maken van een marker. Markeer de stukken tekst die je getest hebt of die je niet hoeft te testen. Als de volledige tekst gemarkeerd is, dan is de test afgerond. Kan het simpeler en sneller?

De gegevens test

Dit is geen officiële techniek, maar heel eenvoudig toe te passen. Op bijna elk scherm staan invoervelden of gegevens die data bevat. Als er geen invoerveld is, maar er staan wel gegevens op het scherm, dan kunnen deze gegevens ergens gewijzigd worden. Voor alle invoervelden en andere gegevens kan je eenvoudig de volgende testen uitvoeren

  • Elk gegeven moet minimaal twee waarden hebben gehad
    Dit is om te testen of een bepaald veld steeds dezelfde standaard waarde toont. Ja, ik heb echt meegemaakt dat een vrouw werd opgeslagen en veranderde in een man.
  • Elk gegeven moet minimaal een waarde met de maximale lengte hebben gehad
    Hiermee controleer je of de maximale waarde ook wordt aangehouden bij de invoer, maar daarnaast of dit gegeven op andere schermen netjes wordt weergegeven. Gaat bijvoorbeeld de tekst niet over een andere tekst heen als de maximale lengte van een veld wordt gebruikt. Als er sprake is van een keuzelijst, kies dan de langste waarde.
  • Elk gegeven moet minimaal een keer leeg gelaten zijn
    Hiermee controleer je soms verplichte gegevens goed gecontroleerd worden. Maar bij niet verplichte gegevens controleer je of de applicatie goed omgaat met lege velden. Echte fouten die ik ben tegengekomen, zijn:
    - Twee spaties tussen voor- en achternaam, omdat tussenvoegsel leeg was.
    - Een technische veldnaam de de locatie waar anders het gegeven had gestaan
  • Elke lijst moet minimaal getest zijn met 0, 1 en 3 waardes
    Dit is eigenlijk een variant van de bovenstaande testen, maar dan voor een lijst. Controleer of de applicatie goed omgaat met lege lijsten. Controleer of de lijst 1 waarde goed toont. En controleer of de lijst goed omgaat met meerdere waardes.
Alleen het leeg laten zal niet altijd mogelijk zijn, omdat sommige invoervelden verplicht zijn. Daarom zal je sommige gegevens op sommige schermen niet leeg kunnen tonen. Voor de rest is alles bruikbaar voor elk scherm.

Uitwerking:
Stel je hebt een applicatie waar je de straatnaam in kan voeren. De straatnaam mag maximaal 50 karakters bevatten. In dit geval gebruik je bijvoorbeeld de volgende waardes:

Twee waardes: Johan de Graafplein, Pieter Poter Plofkade
Maximale lengte: 12345678901234567890123456789012345678901234567890
Leeg: Waarschijnlijk is dit een verplicht veld, dus je zal hier controleren of er een melding verschijnt

Dit is slechts een start

De beschreven testen zijn slechts een start. Ze zorgen al vrij snel voor een bruikbare test van een applicatie of website. Terwijl de leercurve en voorbereiding laag is. Er missen nog zaken, zoals ketentesten en het goed testen van beslisschema's. Maar met deze testtechnieken kan je elke beginnende tester vrij snel waardevol inzetten. Zonder Agile testen te maken tot een ouderwets keurslijf of een taak alleen geschikt voor ervaren testers.

Geen opmerkingen:

Een reactie posten

Opmerking: Alleen leden van deze blog kunnen een reactie posten.