AG37-p13

download AG37-p13

of 1

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

    ([email protected]).

    Toepassen Model-Based

    Testing vereist veel nieuwe

    vaardigheden van testers