Introductie tot testen

Introductie tot testen in Java

Maria Milusheva

Senior Software Engineer

Wat is testen?

Softwaretesten:

  • Proces om te beoordelen of software aan de eisen voldoet

Testen kan:

  • Handmatig — nodig maar beperkt en minder betrouwbaar
  • Geautomatiseerd — voert in seconden honderden tests en checks uit

We gebruiken JUnit 5 voor geautomatiseerd testen

Afbeelding van een programmeur

Introductie tot testen in Java

Randgevallen

"Als het niet getest is, is het stuk."$^1$

Randgeval — invoer of conditie aan de grens van wat typisch of verwacht is

Voorbeelden: variabelen op maximale capaciteit, null of leeg, negatieve waarden

Grafische weergave van een test

1 Citaat oorspronkelijk van Bruce Eckel
Introductie tot testen in Java

Voorbeeld: onverwacht gedrag bij een randgeval

Bekijk deze code:

public int addTwoNumbers(int a, int b) {
    return a + b;
}

⚠ Neem inputs 2147483647 (max int) en 1

➡ Uitkomst is -2147483648 (min int)

Introductie tot testen in Java

Herhaling: variabelengrootte — primitieve types zijn beperkt

Tabel met primitieve types — byte, short, int, long, float, double, char en boolean

Introductie tot testen in Java

Voorbeeld: lancering Ariane 5

Eerste vlucht van de Ariane 5 in 1996:

  • Meer dan 8 jaar ontwikkeling
  • Kosten: > $370 miljoen
  • Ontplofte 37 seconden na lancering
  • Oorzaak: softwarefout — overflow van short

Lancering van de Ariane 5-raket van de European Space Agency.

Introductie tot testen in Java

Voordelen van testen

  • Beschermt tegen randgeval-bugs
  • Vergroot begrip van project en eisen
  • Versnelt ontwikkeling op lange termijn
  • Automatiseert het afdwingen van eisen
  • Beschermt tegen menselijke fouten

light_bulb.jpg

1 https://books.google.com/books/about/Clean_Architecture.html?id=8ngAkAEACAAJ
Introductie tot testen in Java

Laten we oefenen!

Introductie tot testen in Java

Preparing Video For Download...