AG37-p13
-
Upload
peter-kj-kalmijn -
Category
Documents
-
view
213 -
download
0
Transcript of AG37-p13
-
8/8/2019 AG37-p13
1/1
De spil waar het bij Model-Based Testing
allemaal om draait, is het model. Het model is
een formele en gestructureerde beschrijving van
de structuur, de functionaliteit en het gedrag van
een systeem of applicatie in een modelleertaal
zoals UML. Uit het model worden testcases
afgeleid en geautomatiseerd uitgevoerd. De
kracht van deze benadering ligt in het snel en
efficint volgen van wijzigingen in de require-
ments.
Het model
Onderzoek toont aan dat het gebruik van UML-
modellen weliswaar voor het ontwerpen van
systemen sterk in opkomst is, maar dat het
gebruik van UML-analyse of -designmodellen
voor het creren van testgevallen nog vrij
zelden voorkomt. Nu worden testgevallen
vooral gebaseerd op tekstuele beschrijvingen
van de vereisten. Ook zijn de meeste testers
op dit moment slechts zeer beperkt in staat
om een UML-analyse of -designmodel goed te
lezen en correct te interpreteren. Dit is niet
verwonderlijk omdat zij doorgaans nog nooit
testware zijn tegengekomen die direct
gebaseerd is op UML. Op dit ogenblik zijn ernog weinig projecten waarin UML-modellen
gebruikt worden om testen op te baseren.
ONDERZOEK zie: A. Nugroho en M. Chaudron, March
2008, A Survey into the Rigor of UML Use and its
Perceived Impact on Quality and Productivity.
UML-modellen
Het eerste knelpunt en tevens de achilleshiel
van Model-Based Testing is de volledigheid en
kwaliteit van het model. Naast de bekende
problemen met de volledigheid van een
model zijn er meestal problemen met de
interne consistentie, de accuraatheid en ook
met de begrijpelijkheid van het model.Helemaal lastig wordt het als een model
onvolledig is en hiaten vertoont.
Het tweede knelpunt is de tester zelf. Van een
moderne tester wordt veel kennis van de
gebruikte modelleringstechnieken en het
juiste gebruik van de modelleertaal verwacht.
De huidige testspecialist heeft deze kennis
doorgaans niet in voldoende mate. Of testers
van deze generatie UML in voldoende mate
beheersen, is te betwijfelen.
Het derde knelpunt zit in het vermogen van de
moderne tester om het model op semantische
en syntactische correctheid te kunnen
beoordelen zeker in het licht van het eerste
knelpunt. Een moderne tester moet niet alleen
UML kunnen lezen, hij moet UML zelfs zo goed
beheersen dat hij in staat is om het model
statisch te testen, en te beoordelen of het
model in eenduidig en verifieerbaar correcte
UML-notatie is uitgedrukt: semantisch,
syntactisch en esthetisch.
Knelpunten
ACTUEEL MARKTMONITOR TECHNOLOGIE IT IN BEDRIJF PEOPLEWARE 13
11SEPTEMBER2009
Voor reacties en nieuwe bijdragen van deskundigen:
Henk Ester ([email protected], (070) 378 03 97).
Met behulp van modelgebaseerd testen kunnen bedrijven hun producten
sneller testen en op de markt zetten. De vraag naar testen op basis van
modellen neemt toe, zegt Peter Kalmijn. Maar het succesvol toepassen
ervan stelt hoge eisen aan de testers. Een moderne tester moet zijn eigen
model kunnen maken.
Modelgebaseerd testen:
sneller en goedkoper
Kwalitatief hoogwaardige
systemen en producten
moeten in steeds kortere tijd
operationeel zijn (time-to-market), wat
verkorte ontwikkeltijden noodzakelijk
maakt. Maar het maken van (geautomatiseer-de) testscripts met traditionele methoden is
arbeidsintensief en tijdrovend. Uit de
behoefte om dit dilemma te doorbreken, is
Model-Based Testing (MBT) ontstaan,
waarmee het mogelijk is om betrouwbare
(geautomatiseerde) testen te genereren en uit
te voeren. Dit levert bedrijven concurrentie-
voordeel op omdat zij sneller producten van
hoge kwaliteit op de markt kunnen zetten.
De eerste offi cile vorm van op modellen
gebaseerd testen is waarschijnlijk TTCN-2,
eind jaren tachtig ontwikkeld door ISO om
telecommunicatieprotocollen te testen.
Tussen 1998 en 2000 is de volgende versie
TTCN-3 ontwikkeld, die meer mogelijkhe-
den biedt en nog steeds wordt gebruikt. De
ontwikkelingen rond modeltalen hebben
sindsdien niet stilgestaan. In 2005 is UML
2.0 gentroduceerd en de modelgebaseerdebenadering van testen is niet alleen verder
doorontwikkeld, maar ook voor bredere
toepassing binnen de automatisering ingezet.
Testen op basis van modellen gaat uit van de
veronderstelling dat uit een volledig model
ook een volledige set testcases afgeleid kan
worden, die alle functionele vereisten
(requirements) van het gemodelleerde
systeem afdekt. Door het geautomatiseerd
afleiden van testgevallen van het model,
worden ook menselijke fouten uitgesloten.
Modelgebaseerd testen heeft ook zijn
beperkingen: voor het genereren van
testscripts wordt alleen meegenomen wat
daadwerkelijk deel uitmaakt van het model,
het is blind voor alles wat buiten het model
om is gerealiseerd.
Er is een stevige leercurve om goed met de
modelgedreven testaanpak en de bijbeho-
rende tools om te kunnen gaan. Dit geldt
zowel voor de individuele tester als voor
organisaties die met een modelgebaseerde
aanpak ervaring moeten opdoen en uitvinden
waar in hun eigen situatie de grootste
winsten met MBT te behalen zijn. Het
succesvol adopteren van MBT vergt aanpas-
singen in procedures van enerzijds het
opstellen van requirements en modellen,
anderzijds van het testen zelf. De modelge-
dreven benadering leidt tot nieuwe manieren
van samenwerken, zowel binnen het
ontwikkelteam als met d e opdrachtgever.
Op dit moment neemt de vraag naar testen
op basis van modellen toe. De opkomst van
modelgebaseerd testen is mede afhankelijk
van de opkomst van het gebruik van modellen
binnen de andere disciplines zoals require-
ments engineering en ontwerp.
Binnen de meeste organisaties maakt men
hoofdzakelijk gebruik van tekstuele require-
ments, veelal in combinatie met flowchart-achtige schemas. Ook zie je dat organisaties
steeds meer technieken op basis van usecases
gaan gebruiken, echter vaak zonder daarbij
specifiek gebruik te maken van UML of een
modeling tool. Daarom moet een moderne
tester ook in staat zijn om bij gebrek aan een
bruikbaar ontwerpmodel zijn eigen model te
maken; wat wel de kans op menselijke fouten
introduceert, maar als voordeel heeft dat de
requirements worden getoetst.Ondanks deze factoren wordt het gebruik van
modellen om testscripts te genereren en uit te
voeren door velen gezien als de toekomstige
manier van testen. MBT heeft uitstekende
toekomstperspectieven, mede omdat testen
met deze aanpak veel sneller kan verlopen en
ook nog eens een hogere dekkingsgraad
behaalt.
Ook voor opleidingsinstituten biedt Model-
Based Testing een aanzienlijke uitdaging.
Terwijl zij vaak nog worstelen om het testvak
adequaat in de opleidingsdoelen en de lesstof
onder te brengen, staat nu al de uitdaging
voor de deur om ook modelgedreven testen
hierin onder te brengen. Opleidingsinstituten
kunnen veel winnen als zij de dialoog met het
bedrijfsleven opzoeken om gezamenlijk aan
testopleidingen en specifieke opleidingen
voor MBT te werken. Dan kan het bedrijfsle-
ven beschikken over jonge en met moderne
technieken opgeleide testers.
Zoals voor veel andere dingen geldt ook bij
Model-Based Testing dat het principe net zo
sterk is als de zwakste schakel. En daarbij
speelt zeker de kwaliteit van het model een
essentile rol. Daarom moet een model
voordat het wordt gebruikt voor testen
getoetst worden. Het valideren en verifiren
van de modellen zijn nieuwe activiteiten van
de moderne tester. Hij zal vertrouwd moeten
raken met modelleren in UML en ook met
het UML Testing Profile. Daarnaast vindt er
een verschuiving plaats van de vraag Klopt de
programmacode en de applicatie? naar Klopt
het model?.
Ook het instellen van wat er op basis van
productrisicos aan testscripts gegenereerd
moet worden, gaat steeds meer deel uitmaken
van het werk van de moderne tester. Het op
modellen gebaseerd testen bevordert daarmee
een grotere en directere betrokkenheid bij hetvaststellen en de validatie van de vereisten
voor het systeem. Ook vereist het dat testware
(testcases, testscripts et cetera) binnen het
projectteam vrij beschikbaar wordt gesteld.
De tester wordt hierdoor medeplichtig en
verliest een deel van zijn traditioneel vaak zo
gekoesterde positie als onafhankelijke en niet-
betrokken waarnemer of als onafhankelijke
beoordelaar.
Op dit ogenblik zijn er slechts zeer weinig
projecten waarin UML-modellen gebruikt
worden om testen op te baseren. Als er
binnen een project UML-modellen worden
gebruikt voor testen, dan is dat vooral voor de
verificatie van het geleverde systeem in het
licht van het model.
Er is zeker nog enige tijd nodig om de
huidige testers de verandering te laten
doormaken in denkrichting en van modelle-ringsvaardigheden.
Voordat testen op basis van modellen op grote
schaal toegepast gaat worden, zullen enkele
knelpunten opgelost moeten worden. Zo zal
allereerst de kwaliteit van de ontwerpmodel-
len moeten verbeteren. De moderne tester zal
diepgaande modelleringsvaardigheden
moeten vergaren om zijn rol als advocaat van
de kwaliteit binnen modelgedreven software-
ontwikkeling te kunnen blijven spelen.
Modelgebaseerd testen heeft zeker de
toekomst omdat het in deskundige handen
sneller en goedkoper is. Wordt uiteindelijk de
rol van tester overbodig? Nee, zeker niet; zijn
rol verandert, maar zijn ervaring en intutie
om de zwakke plekken op te sporen zullen
van wezenlijk belang blijven.
Peter Kalmijn is een van de thoughtleaders bij Atos Origin
op het gebied van requirements engineering en testen
Toepassen Model-Based
Testing vereist veel nieuwe
vaardigheden van testers