Background for the header
To the home page of the University of Antwerp

 

 

Software Testing

Doelstellingen

De studenten kunnen standaard software testing technieken en tools toepassen:

  1. Het testen van basispaden in een programma als white box test techniek.
  2. Het opstellen van test cases op basis van een specificatie.
  3. Het gericht toepassen van test strategieën om de functionaliteit van een applicatie black box af te toetsen aan de documentatie.

Opgaves

Deze oefeningensessie bestaat uit drie oefeningen. Probeer de beschikbare tijd (twee uur) als volgt in te delen: 45' voor opgave 1, 15' voor opgave 2 en 60' voor opgave 3.

Opgave 1

Stel een verzameling onafhankelijke paden op voor een gegeven algoritme, met als doel de correctheid van de implementatie voor elk van deze paden na te gaan.

Wat wordt er van jullie verwacht?

  • Bestudeer de bron code en documentatie van het te testen algoritme.
  • Stel een control flow graph op.
  • Bepaal een verzameling van onafhankelijke paden.
  • Bereid test cases voor om deze paden te kunnen uitvoeren.

Opgave 2

Een belangrijk onderdeel van de functionaliteit van een project omvat het inlezen van data in een XML formaat. De specificatie voor dit onderdeel ziet er als volgt uit:

Precondition:
	Every < symbol requires a finishing > symbol further on.
	Every tag such as <OBJECT> requires a closing tag </OBJECT>.
Postcondition:
	Syntax exception or list with all tags in sequence of occurrence.

Wat wordt er van jullie verwacht?

  • Stel klassen van invoer samen (bijvoorbeeld via equivalence partitioning) op basis van de specificatie. Bepaal de invoervoorwaarde en de verwachte uitvoer.

Opgave 3

In deze opgave krijg je een (Java) implementatie van een web banking component. Het is jouw taak om na te gaan of deze implementatie (die bijvoorbeeld via outsourcing tot stand is gekomen) voldoet met de specificatie zoals weergegeven in de documentatie van het systeem.

Wat wordt van jullie verwacht?

  • Maak jezelf vertrouwd met het concept state-based testing. Laadt de implementatie in een IDE zoals Eclipse. Installeer de web banking implementatie in Eclipse. Je kan deze slides gebruiken als handleiding.
  • Gebruik test strategieën zoals Equivalence Partitioning en Boundary Value Analysis om efficient categorieën van invoer na te gaan. Implementeer deze testen met behulp van JUnit.
  • Vul de documentatie aan waar nodig.
  • Rapporteer defecten in een vorm waarmee de ontwikkelaars aan de slag kunnen om de implementatie te corrigeren. Kijk bijvoorbeeld naar een probleemrapporteringssysteem zoals Bugzilla (voorbeeldrapport).

Download

Web banking implementatie

Oplossingen