De grootste kennisbank van het HBO

Inspiratie op jouw vakgebied

Vrij toegankelijk

Terug naar zoekresultatenDeel deze publicatie

Project Test Automathic, afstudeeronderzoek naar het automatisch testen van niet deterministische systemen

Rechten: Alle rechten voorbehouden

Project Test Automathic, afstudeeronderzoek naar het automatisch testen van niet deterministische systemen

Rechten: Alle rechten voorbehouden

Samenvatting

"Wat zijn de mogelijkheden om een automatisch testprogramma te bouwen die het daadwerkelijke gedrag van componenten toetst aan het in I-Mathic gespecificeerde gedrag?"
Het antwoord op deze vraag kan verkregen worden als alle deelvragen beantwoord zijn.

Test AutoMathic is een zijproject van het I-Mathic project. Een moeilijkheid aan systemen in I-Mathic is dat ze niet-deterministisch zijn: de output is niet volledig afhankelijk van de input. Dit maakt het testen lastig, volgens sommigen zelfs onmogelijk. Het ontwikkelen van een testprogramma blijft gerechtvaardigd als het juiste doel voor ogen wordt gehouden: het testen van een programma is gericht op een grotere zekerheid van correctheid, niet op een absolute zekerheid.
De beschrijving in I-Mathic is nauwkeurig genoeg om te gebruiken als input voor de test.
De communicatie met een te testen component verloopt over channels. Een channel kan services aanroepen op een ander proces. Via deze channels kan ook het testprogramma communiceren met het te testen component. Het imiteert dan een ander proces.
Omdat het systeem niet-deterministisch is, is het lastig om te voorspellen in welke state het systeem zich bevindt. Het testprogramma moet daarom een lijst van mogelijke valide states hebben.
Channels onderling kunnen asynchroon zijn. Dit kan problemen veroorzaken tussen het versturen van een stimulus en het ontvangen van een response (berichten kunnen elkaar inhalen). Om dit probleem op te lossen wordt er van uit gegaan dat transities genomen worden, tenzij het tegendeel is bewezen. Dit geldt voor internal events, maar ook voor transities waarvan de stimulus al verstuurd is. Als er een response wordt ontvangen, worden transities die niet mogelijk zijn weggehaald.
De kwaliteit van de test kan in zijn simpelste vorm worden weergegeven door het aantal gebruikte transities. Is dit aantal hoog, dan is de betrouwbaarheid van de test ook groter. Verder speelt de volgorde van de transities ook mee, omdat een vorige transitie invloed kan hebben op de huidige.
Het tellen van transities kan door de manier van valideren het beste met "kans" worden gedaan. Als niet duidelijk is welke transitie genomen is uit een lijst van mogelijke transities en de onduidelijkheid wordt in de toekomst ook niet meer opgelost, dan wordt het "bezoek" verdeeld over beide transities.
Het meten van de volgorde van de transities is nog niet onderzocht. Maar voor het onderzoek is voorlopig het aantal bezoeken per transitie genoeg.
Door strategisch stimuli uitkiezen kan de testkwaliteit verhoogd worden. Er zijn hier verschillende opties voor. Een stimulus kan compleet willekeurig uitgekozen worden. Deze geeft een goede verspreiding van de volgorde van transities, maar geen optimale dekking. Een stimulus kan uitgekozen worden op basis van het aantal keer dat een transitie is gebruikt. Dit levert een goede dekking op. De volgordes van transities zullen in de praktijk telkens aan elkaar gelijk zijn. Deze beiden zijn ook te combineren, waardoor van beiden de goede eigenschappen naar voren komen.
Er kan ook gekozen worden voor een algoritme wat op basis van voorgaande ervaring een stimulus uitkiest. De transitie die de vorige keer dat het algoritme die gekozen heeft de beste kwaliteitswinst heeft geboekt zal nog eens gekozen worden.

Uit de beantwoording van de vorige deelvragen blijkt dat het mogelijk is om een testprogramma te bouwen. Het programma Test AutoMathic bewijst ook dat de theorieën beschreven in dit rapport levensvatbaar zijn. Er is nog wel veel werk om bijvoorbeeld ook netwerken te ondersteunen.

Toon meer
OrganisatieHZ University of Applied Sciences
OpleidingInformatica
InstituutAcademie voor Technologie & Innovatie
PartnersImtech, Gouda
Gepubliceerd in
Datum2007-06-27
TypeBachelorscriptie
TaalNederlands

Op de HBO Kennisbank vind je publicaties van 25 hogescholen

De grootste kennisbank van het HBO

Inspiratie op jouw vakgebied

Vrij toegankelijk