i
                                  testen



                                                                        De huidige ­ tatus
                                                                                   s
                                                                         van de
                                                                        testtaal TTCN-3
                                           Voors en tegens              Door de groeiende complexiteit en verwevenheid van

                                                                        softwaresystemen neemt het belang van geautomatiseerd testen

                                                                        toe. In een eerder artikel (Van de Pol & Van Solingen, 2006)

                                                                        is TTCN-3 geschetst als de testtaal van de toekomst, mede

                                                                        ingegeven door het succesvolle TT-Medal-project. Nu, vijf jaar

                                                                        later, in het jaar waarin TTCN-3 tien jaar bestaat, is het een goed

                                                                        moment om de balans op te maken. Blijkt het inderdaad de silver

                                                                        bullet te zijn of niet?

                                                                        Jos van Rooyen en Erik Altena



                                               TTCN-3 is enerzijds een taal om testgevallen te       interessant om na te gaan wat het uitblijven van
                                               beschrijven en anderzijds beschrijft het een archi-   de doorbraak in de weg staat. Aan bod komen
                                               tectuur waarbinnen deze testgevallen uitgevoerd       achtereenvolgens de huidige status van het
                                               dienen te worden (zie kader ‘Wat is TTCN-3?’).        gebruik van TTCN-3, de voordelen en de moge-
                                               Het is ontstaan in de telecom om aan te tonen of      lijke oorzaken van het uitblijven van de doorbraak.
                                               protocollen juist geïmplementeerd zijn in ver-
                                               schillende systemen over meerdere platformen           Wat is TTCN-3?
                                               heen. In hoeverre TTCN-3 toepasbaar is buiten          Testing and Test Control Notation versie 3 (TTCN-
                                               de telecom is onderzocht in het meerjarige Euro-       3) is een internationale standaard die in zijn eerste
                                               pese onderzoeksproject TT-Medal. Dit project,          vorm in 1984 door het European Telecommunication
                                               waaraan de auteurs deelnamen, eindigde in 2006.        Standardization Institute (ETSI) beschreven is. Het
                                               Hierin werd aangetoond dat TTCN-3 met geringe          is enerzijds een taal om testgevallen te beschrijven en
                                               aanpassingen in diverse industrieën toepasbaar is      anderzijds beschrijft het een architectuur waarbinnen
                                               en dat dit diverse voordelen oplevert (TT-Medal        deze testgevallen uitgevoerd dienen te worden.
informatie / juli|augustus 2011




                                               Project Team, 2005). Het project TT-Medal heeft        De taal TTCN-3 lijkt erg op een programmeertaal
                                               daarmee de prestigieuze ITEA-award gewonnen            zoals Java, maar is specifiek toegesneden op het tes-
                                               als beste project.                                     ten van software. Het is een testtaal met een rijke
                                               Vijf jaar na beëindiging van het TT-Medal-project      syntaxis, waarin testoordelen zijn opgenomen en
                                               lijkt de toepassing van TTCN-3 wel te groeien,         waarin gemakkelijk parallelle testcomponenten kun-
                                               maar is TTCN-3 zeker nog niet de standaard             nen worden opgestart (Van de Pol & Van Solingen,
                                               die het claimt te zijn. Bij het grote (test)publiek    2006) De taal is onafhankelijk van het platform
                                               is TTCN-3 nog niet echt bekend. Aangezien de           waarop of de systemen waarmee daadwerkelijk getest
                                               auteurs overtuigd zijn van de voordelen, is het        gaat worden.

                         56
Samenvatting
                    TTCN-3 is een taal om testgevallen te beschrijven en beschrijft een architectuur
                    waarbinnen deze testgevallen uitgevoerd dienen te worden. Om de taal bij
                    het grote testpubliek bekend te maken moet duidelijk worden gemaakt wat de
                    voordelen zijn voor de organisatie als geheel en moet een ‘gemakkelijk’ te gebruiken
                    presentatieformaat worden aangeboden. Integrale toepassing van TTCN-3 leidt
                    uiteindelijk tot kostenbesparingen.



                   Status                                                door toeleveranciers om de conformiteit van hun
                   Van oudsher komt de taal TTCN uit de telecom-         product met het protocol van de afnemende partij
                   wereld. Daar is TTCN-3 nog steeds het sterkst         aan te tonen. Anderzijds maakt de toepassing van
                   vertegenwoordigd (zie figuur 1; Altena, 2009).        TTCN-3 het voor de deelnemers mogelijk om
                   Absolute cijfers over het aantal licenties van        onderling testgevallen uit te wisselen.
                   TTCN-3-tools worden door de toolleveranciers          Een andere indicatie voor de toename van de
                   niet afgegeven. Uit een enquête over de relatieve     interesse in en/of het gebruik van TTCN-3 is de
                   inzet van TTCN-3 over domeinen blijkt dat onge-       toenemende belangstelling voor de TTCN-3 User
                   veer driekwart van de implementaties tegenwoor-       Conference. Uit een analyse van de onderwerpen
                   dig plaatsvindt in de telecommunicatie, gevolgd       van de TTCN-3 User Conference van 2004 tot en
                   door de automotive-industrie en de embedded-          met 2009 (ETSI CTI, 2010a) blijkt dat de speci-
                   industrie. Slechts 5 procent komt naar voren in       fieke aandacht voor het domein telecommunicatie
                   andere domeinen, zoals het financiële domein en       afneemt en men zich meer richt op onderwerpen
                   het overheidsdomein.
                   TTCN-3 wordt in deze domeinen veel toegepast           domein       marktaandeel
                   bij het testen rondom een specifiek protocol, zoals
                   GSM, IPv6, WiMax of AUTOSAR. Dit zijn dan             •telecom       70%

                   ook meestal situaties waarin meerdere partijen        •automotive    15%
                                                                         •embedded      10%
                   samenwerken aan één geïntegreerd product. De          •overig         5%
                   deelsystemen wisselen onderling berichten uit
                   in het protocolformaat. De inzet van TTCN-3           Figuur 1. Verdeling
                   is daarbij meerledig. Enerzijds TTCN-3 toe-           marktaandeel van TTCN-3
                   gepast als uniforme testset die wordt gebruikt        per industrieel domein

De standaard opgenomen taalconcepten omvatten                  standaard kan naar behoefte worden uitgebreid met
ingebouwde datacontrole (verwachte waarde versus               andere presentatieformaten.
gevonden resultaat), testen starten en stoppen op              Naast de testtaal bevat TTCN-3 richtlijnen voor een
verschillende machines en gelijktijdige uitvoering van         gestandaardiseerde architectuur. Deze architectuur
meerdere testcomponenten. Verder bevat de taal veel            schrijft voor hoe de inrichting van het testsysteem met
standaard ingebouwde variabele- en berichttypen,               de interfaces naar het te testen systeem en het systeem
waaronder lists, testoordelen en testsysteemcompo-             dat de testen start, logt en bestuurt eruitziet (Van de
nenten. TTCN-3 biedt ondersteuning voor zowel com-             Pol & Van Solingen, 2006). Door middel van adapters
                                                                                                                             informatie / juli|augustus 2011




municatie op basis van berichten als het aanroepen             worden de gestandaardiseerde handelingen die in de
van functies, dus zowel message-based als procedure-           testtaal zijn beschreven, vertaald naar de uitvoering op
based communication (Willcock et al., 2005).                   de specifieke interfaces van het te testen systeem en
De taal kan op verschillende manieren aan de gebrui-           vice versa.
ker/tester worden gepresenteerd. Er is een tekstueel           Voor uitvoering moet de testtaal TTCN-3 omgezet wor-
formaat op basis van coderegels. Het tabulaire for-            den in een echte ontwikkeltaal (bijvoorbeeld C of Java).
maat is er voornamelijk om backwards compatibel te             Hierbij worden de standaardonderdelen van de commer-
zijn met TTCN en TTCN-2. Verder is er een visueel              ciële of open-source testtools en de benodigde adapters
formaat op basis van message sequence diagrams. De             meegecompileerd tot een uitvoerbaar testsysteem.

                                                                                                                            57
i
                                  testen


                                                                                         100
                                                                                                                                                  non-specific
                                                                                          90                                                      other
                                                                                                                                                  embedded
                                                                                          80
                                                                                                                                                  automotive
                                                                                          70                                                      telecoms

                                                                             verdeling    60
                                                                                  [%]
                                  die niet domeinspecifiek zijn (zie                      50
                                  figuur 2). De teruggang in telecomspe-
                                                                                          40
                                  cifieke presentaties en de opkomst van
                                  niet-domeinspecifieke presentaties is                  30
                                  duidelijk zichtbaar.                                   20
                                                                                         10
                                  Voordelen: waarom zou
                                                                                           0
                                  TTCN-3 wel aan moeten
                                                                                               2004    2005    2006   2007    2008    2009
                                  slaan?
                                                                                                                              jaar
                                  TTCN-3 is geen modefenomeen. De
                                  eerste versies zijn medio jaren tachtig                  Figuur 2. Verdeling van onderwerpen per industrieel domein
                                  van de vorige eeuw ontwikkeld. De                        tijdens TTCN-3 User Conferences
                                  taal is geadopteerd door het European
                                  Telecommunication Standardization Institute              ten. In tijden van recessie zijn dit sterke argumen-
                                  (ETSI) en is in de loop der jaren ontwikkeld tot         ten in een businesscase. Een bijkomend voordeel
                                  een bewezen en volwassen testtaal. Omdat de taal         is dat de testautomatiseerders echt deskundigheid
                                  is ondergebracht bij een onafhankelijk instituut, is     opbouwen in testautomatisering vanuit één taal
                                  de ontwikkeling minder afhankelijk van de gril-          in plaats van globale kennis of nichekennis van
                                  len van de toolleverancier. Vanuit universiteiten        specifieke tools.
                                  en onderzoeksinstituten vindt continu innovatie          Door de sterk gestandaardiseerde taal is een hoog
                                  plaats op het gebied van TTCN-3. Dit levert veel         hergebruik van testgevallen mogelijk, zeker bij het
                                  gratis extra’s op voor bedrijven die de taal gebrui-     testen van complexe bedrijfsketens. Dat brengt
                                  ken.                                                     met zich mee dat de doorlooptijd van de testvoor-
                                  TTCN-3 is volledig toegesneden op testen en is           bereiding sterk zal teruglopen, zodat sneller met
                                  erg flexibel. Zo kunnen tests uitgevoerd worden          de testuitvoer gestart kan worden. De kwaliteit van
                                  over meerdere platformen, door meerdere test-            de applicatie die wordt getest kan hierdoor snel-
                                  objecten tegelijkertijd aangeboden en dit vrijwel        ler worden aangetoond, wat de businesscase voor
                                  realtime. TTCN-3 is zelfs geschikt voor het              TTCN-3 gunstiger maakt. In het eerdergenoemde
                                  beschrijven van performancetests. Dit is mogelijk        TT-Medal-project is dat via een aantal casestudies
                                  doordat meerdere instanties van hetzelfde testob-        aangetoond (TT-Medal Project Team, 2005).
                                  ject opgestart kunnen worden vanuit één toolsuite.       Dat TTCN-3 voordelen heeft blijkt wel duidelijk
                                  Er kunnen dus meerdere systemen worden aange-            uit de aantallen gebruikers bij Ericsson en Hua-
                                  stuurd en gecontroleerd terwijl ze op verschillende      wei. In 2007 had Ericsson 1837 actieve licenties
                                  wijzen communiceren. Het ene systeem heeft               in gebruik (Berglund, 2007) en had Huawei 1500
                                  bijvoorbeeld een CORBA-interface, het andere             gebruikers van TTCN-3 (Wang, 2007). Motorola
                                  een HTML-gebaseerde interface en nog weer                geeft aan dat de productiviteit met TTCN-3 ver-
                                  een ander wordt aangestuurd door middel van de           dubbelt (Bhaskar Rao & Timmaraju, 2005).
                                  GUI. Met TTCN-3 is het dus mogelijk alle tests te        Als je deze voordelen nog eens rustig bekijkt, dan
informatie / juli|augustus 2011




                                  beschrijven in één specificatietaal en uit te voeren     is het verwonderlijk dat TTCN-3 niet veel meer
                                  met één toolsuite.                                       wordt gebruikt. Wat is de oorzaak?
                                  Er zijn meerdere leveranciers van TTCN-3-tools-
                                  uites. Vendor lock-in komt dus veel minder voor.         Waarom slaat TTCN3 niet aan bij
                                  De vele verschillende tools die een organisatie          het grote publiek?
                                  op dit moment gebruikt en de daarbij behorende           ETSI stelt dat TTCN-3 eenvoudig te leren valt
                                  licenties zouden teruggebracht kunnen worden tot         (ETSI CTI, 2010b). De flexibiliteit van de taal
                                  één. Daardoor ontstaat er minder shelfware en zijn       kent echter haar prijs. Theoretisch en technisch
                                  er minder toeleveranciers en minder beheerkos-           is de taal behoorlijk complex. De TTCN-3-tools

                         58
komen voor de minder technisch geschoolde
tester over als een complete developmentstudio.
Andere tools in de markt zijn laagdrempeliger in

                                                        »Integrale toepassing van
het gebruik. Buiten het telecomdomein zijn de
testers meer functioneel en minder technisch
georiënteerd. De testautomatiseringsscripts wor-
den hier vaak opgesteld door een testautomati-           TTCN-3 leidt uiteindelijk tot
                                                                                                      «
seerder. Deze heeft echter niet de technische
skillset die nodig is om TTCN-3 in te zetten. Dit        kostenbesparingen
technische kennisniveau heeft meestal alleen
een software-engineer. Van oorsprong is TTCN-3
ontstaan in de technische hoek, nu is de overstap
naar de niet-technische wereld moeilijk.
TTCN-3 heeft geen eigen compiler. Dit is bewust          tot een kostenbesparing op middellange termijn
gedaan omdat ETSI zich niet wilde verbinden aan          moeten leiden.
één programmeertaal of implementatiewijze (ETSI          Vragen aan leveranciers voor het toepassen van
CTI, 2010b). De keuze voor een onafhankelijke            testautomatisering komen vaak vanuit de pro-
specificatietaal zonder keuze voor een compileer-        jecten. De toolselectie ligt daarmee binnen de
bare programmeertaal ondermijnt echter de gene-          projecten, terwijl de echte businesscase op orga-
rieke implementatiegedachte. De mogelijkheid             nisatieniveau ligt. Dus vaak is de nieuwe licentie
om van toolleverancier te wisselen wordt hierdoor        (of de open source) voor de zoveelste tool alweer
bemoeilijkt. De reden hiervoor is dat adapters           aangeschaft voordat TTCN-3 een optie wordt. Wil
geschreven moeten worden in de programmeertaal           het slagen, dan zal een besluit op beleidsniveau
van de compiler om het geheel te laten werken.           genomen moeten worden.
Deze specifieke adapters kunnen niet eenvoudig           Zoals gezegd is TTCN-3 sterk gericht op het tes-
meeverhuisd worden naar de nieuwe toolleve-              ten van berichtenverkeer via de interfaces. Door-
rancier die een andere programmeertaal voor              dat het hier zo op toegesneden is, is het moeilijk
de compiler hanteert. Door de taal op een hoog           om andere testaspecten in TTCN-3 te beschrijven
niveau te beschrijven zonder deze implementeer-          en hier vervolgens een kostenefficiënte implemen-
baar te maken (want dat is onafhankelijk), hebben        tatie (codex) voor te ontwikkelen. Dit geldt bijvoor-
de auteurs ervaren dat de uitwisselbaarheid van          beeld voor het testen via de GUI en van databases.
TTCN-3 tussen toolleveranciers ingewikkelder is          Andere tools in de markt zijn dan snel een meer
dan gesteld wordt.                                       voor de hand liggende keuze dan TTCN-3.
TTCN-3 blijkt een sterke businesscase te hebben
bij het testen van meerdere systemen binnen één          Positionering van TTCN-3
organisatie. Echter, binnen organisaties wordt dit       Na we bij de status, de voordelen en het waarom
nog niet onderkend. Experts en/of beslissers zijn        van het niet breed aanslaan van TTCN-3 heb-
vaak niet op de hoogte van het bestaan van de taal.      ben stilgestaan, dringt zich de vraag op wanneer
Het gevolg is dat de klant niet vraagt om TTCN-3.        TTCN-3 een goede keuze zou zijn en wanneer
TTCN-3 zou als verbeterinitiatief vanuit het ont-        niet. Op basis van de ervaring van de auteurs en
wikkelbedrijf zelf opgepakt moeten worden. Zoals         de voorgaande analyse zijn de volgende toepas-
bij vele andere mogelijke verbeteringen blijkt het       singsmogelijkheden te onderkennen:
voor het ontwikkelbedrijf erg moeilijk om zichzelf       •	 testen van verschillende systemen over meer-
te automatiseren.                                        dere platformen;
De toepassing van TTCN-3 lost meestal geen               •	 testen van veel verschillende protocollen binnen
                                                                                                                  informatie / juli|augustus 2011




acute problemen op. Veel organisaties hebben             één organisatie;
eigen oplossingen ontwikkeld, gebaseerd op               •	 testen van één specifiek protocol door meerdere
diverse typen tools, en testen op die manier een         organisaties (‘value chain optimization’);
keten over diverse platformen heen. Dit is minder        •	beschrijven van testgevallen voor certificering
efficiënt, maar het werkt voor nu wel. Wellicht          van toeleveranciers (‘conformance testing’).
kan er een vergelijking worden gemaakt met de
implementatie van een service-oriented architec-         In figuur 3 is een korte opsomming gegeven hoe
tuur. Voor de business levert die in eerste instantie    TTCN-3 zich verhoudt tegenover de concurrenten
geen toegevoegde waarde op. Uiteindelijk zou het         op het gebied van taal en tooling.

                                                                                                                 59
i
                                  testen




                                                                                                                zelfgebouwde         TTCN-3-taal   proprietary
                                                                                                                tool o.b.v.          en -tool      tool met eigen
                                                                                                                programmeer-                       taal
                                                                                                                taal

                                                                             taal
                                                                           •veelzijdigheid                           ++                   +           ––
                                                                           •testspecifiek                             ––                   ++           +
                                                                           •inleertijd                               ––                   +–          ++
                                                                             tool/architectuur
                                                                           •aanpasbaarheid                           ++                   +            –
                                                                           •onafhankelijkheid leverancier            +–*                  ++          ––
                                                                           •horizontale integreerbaarheid            ++                   +           ––
                                                                           •verticale integreerbaarheid               –                   +–          +

                                  Wat houdt het gebruik van                •plug & play                              ––                   +–          +–

                                  TTCN-3 in?                              *) vaak sterk afhankelijk van de ontwikkelaar van de zelfgebouwde tool
                                  Voor de gebruikers (hier gedefinieerd als     Figuur 3. Vergelijking van sterke en zwakke punten van
                                  software-engineers, businessanalisten         1) zelfgebouwde tools op basis van een algemeen toepasbare
                                  en testers) van TTCN-3 betekent het           programmeertaal, zoals Java of C++, 2) TTCN-3-testtaal en
                                  gebruik van de taal een aantal zaken.         -tooling en 3) in de markt gekochte proprietary tools/toolsuites
                                  Veel eerder in de software life cycle kan
                                  begonnen worden met het programmeren
                                  van de tests. In eerste instantie op hoog niveau;      Wat is nodig om TTCN-3 te laten
                                  later, als de implementatiedetails beschikbaar zijn,   doorgroeien?
                                  kan de test uitgewerkt worden. Je hoeft dus niet te    TTCN-3 heeft diverse mogelijkheden om door te
                                  wachten tot het eind van het ontwikkeltraject. De      groeien. Enerzijds is de huidige markt waarin de
                                  testontwikkeling kan parallel plaatsvinden aan de      taal toepasbaar is zeker nog niet uitgenut. Er zijn
                                  ontwikkeling van het systeem. In de traditionele       sterke businesscases te definiëren binnen grote
                                  testautomatisering kan pas begonnen worden als         organisaties en rondom de organisatieoverstijgende
                                  het systeem dat moet worden getest een redelijke       toepassing van gestandaardiseerde protocollen,
                                  mate van stabiliteit heeft bereikt.                    zeker nu het ketentesten over meerdere orga-
                                  Met TTCN-3 is het gemakkelijker en sneller om          nisaties heen steeds meer belangstelling krijgt.
                                  complexe testcases te ontwerpen, waardoor de           Hiervoor moet meer gedaan worden aan de pr en
                                  kwaliteit van het werk toeneemt. Voor de tester        marketing van TTCN-3. Daarbij moet de focus
                                  is het samenstellen van tests stukken gemakke-         niet langer liggen op de technische mogelijkheden
                                  lijker dan in de traditionele vorm. Dit komt door      van TTCN-3, maar op het feit dat het problemen
                                  het hergebruik van eerder ontwikkelde testware         kan oplossen vanuit organisatorisch en business-
                                  dankzij de gestandaardiseerde werkwijze. Dat           oogpunt.
                                  verkort de doorlooptijd, waardoor sneller resultaat    De toepasbaarheid van TTCN-3 kan vergroot wor-
                                  geboekt wordt. Aangezien de taal en de architec-       den door de standaard te verbreden naar toepas-
                                  tuur echter complexer zijn dan die van reguliere       singen buiten het traditionele berichtenverkeer.
                                  tools, moet rekening worden gehouden met een           Hierbij valt te denken aan testen via de GUI of
informatie / juli|augustus 2011




                                  langere inleertijd.                                    van databases. Tevens moet worden gewerkt aan
                                  De gebruiker hoeft maar één tool te leren waar-        een complexiteitsreductie voor de tester die met
                                  mee alle typen systemen op welk platform dan           TTCN-3 werkt. Een presentatieformaat dat veel
                                  ook getest kunnen worden. Voor businessanalisten       van de niet-gebruikte features verbergt of automa-
                                  wordt de wijze van werken vergemakkelijkt omdat        tisch invult, zal de slagingskans voor een bredere
                                  zij zich alleen nog hoeven te richten op de ontwik-    inzet aanzienlijk doen vergroten. In het eerder-
                                  keling van testgevallen op hoog niveau. De tools       genoemde TT-Medal-project hebben de auteurs
                                  zorgen voor de vertaling met behulp van de adap-       al aangetoond dat dit mogelijk is via TestFrame
                                  ters naar de diverse platforms.                        (TT-Medal Project Team, 2005).

                         60
Conclusie
Ondanks een lange historie van ontwikkeling en
gebruik is TTCN-3 nog steeds niet echt bekend
bij het grote testpubliek. Enkele oorzaken zijn
benoemd. Wil TTCN-3 de veelbelovende testtaal
blijven en vooral worden, dan zal fors geïnvesteerd
moeten worden om de taal bij het grote testpu-
bliek bekend te krijgen. Enerzijds door de voor-
delen te laten zien voor de organisatie als geheel,
anderzijds door een ‘gemakkelijk’ te gebruiken
presentatieformaat aan te bieden voor gebruik in
nieuwe domeinen. Desondanks zien de auteurs
voldoende inhoudelijke mogelijkheden voor een
succesvol gebruik van TTCN-3 in de praktijk.
Integrale toepassing van TTCN-3 leidt uiteindelijk
tot kostenbesparingen. Er zijn minder licenties
nodig, minder beheerkosten en minder aanschaf-
kosten van tools. Daarnaast zal de kwaliteit van de
informatieketen toenemen door het geautomati-
seerd kunnen testen van de gehele keten met één
taal.

Reviewer Manu De Backer


Literatuur
Altena, E. (2009). Things to Consider Before Applying TTCN-
  3, www.testdag.nl/images/2009/docs/altena.pdf (geraadpleegd
  op 30 juli 2010).
Berglund, M. (2007). TTCN-3 @ Ericsson, www.ttcn-3.org/
  TTCN3UC2007/Presentations/Wed/1500_ttcn_users_at_
  ericsson_a.pdf (geraadpleegd op 30 juli 2010).
Bhaskar Rao, G. & K. Timmaraju (2005). Load Testing of MDA
  based HA Communication Network Elements with TTCN-3,
  www.ttcn-3.org/TTCN3UC2005/program/Wednesday%20
  8th%20June/04-%20Session%20V-%20Relation%20with%20
  other%20languages%20and%20methods/[T3UC%20
  S5-3]%20Load%20testing%20of%20MDA%20based%20
  HA%20communication%20network%20elements%20
  with%20TTCN-3.pdf (geraadpleegd op 30 juli 2010).
ETSI CTI (2010a). TTCN-3 User Conference Archives, www.
  ttcn-3.org/UCArchives.htm (geraadpleegd op 30 juli 2010).
ETSI CTI (2010b). Why use TTCN-3? www.ttcn-3.org/
  Benefits.htm (geraadpleegd op 30 juli 2010).
Pol, J. van de & R. van Solingen (2006). TTCN-3: de testtaal
  van de toekomst. Informatie 48/6 (juli/augustus), pp. 20-24.
TT-Medal Project Team (2005). Test & Testing Methodologies
  for Advanced Languages, www.tt-medal.org (geraadpleegd op
  30 juli 2010).
Wang, G. (2007). TTCN-3 Development and Application in
  Huawei, www.ttcn-3.org/TTCN3UCAsia2007/Presentations/
  Session%201/TTCN-3%20Development%20and%20
  Application%20in%20Huawei.pdf (geraadpleegd op 30 juli
  2010).
Willcock, C. et al. (2005). An Introduction to TTCN-3.
                                                                    informatie / juli|augustus 2011




  Chichester: John Wiley & Sons.

Links
www.bartosz.nl
www.tt-medal.org
www.ttcn-3.org

 Jos van Rooyen
is principal consultant bij Bartosz ICT. E-mail: jos.van.rooyen@
bartosz.nl.

 Ir. Erik Altena
is senior consultant bij Bartosz ICT. E-mail: erik.altena@
bartosz.nl.

                                                                   61

Huidige status van de testtaal TTCN-3

  • 1.
    i testen De huidige ­ tatus s van de testtaal TTCN-3 Voors en tegens Door de groeiende complexiteit en verwevenheid van softwaresystemen neemt het belang van geautomatiseerd testen toe. In een eerder artikel (Van de Pol & Van Solingen, 2006) is TTCN-3 geschetst als de testtaal van de toekomst, mede ingegeven door het succesvolle TT-Medal-project. Nu, vijf jaar later, in het jaar waarin TTCN-3 tien jaar bestaat, is het een goed moment om de balans op te maken. Blijkt het inderdaad de silver bullet te zijn of niet? Jos van Rooyen en Erik Altena TTCN-3 is enerzijds een taal om testgevallen te interessant om na te gaan wat het uitblijven van beschrijven en anderzijds beschrijft het een archi- de doorbraak in de weg staat. Aan bod komen tectuur waarbinnen deze testgevallen uitgevoerd achtereenvolgens de huidige status van het dienen te worden (zie kader ‘Wat is TTCN-3?’). gebruik van TTCN-3, de voordelen en de moge- Het is ontstaan in de telecom om aan te tonen of lijke oorzaken van het uitblijven van de doorbraak. protocollen juist geïmplementeerd zijn in ver- schillende systemen over meerdere platformen Wat is TTCN-3? heen. In hoeverre TTCN-3 toepasbaar is buiten Testing and Test Control Notation versie 3 (TTCN- de telecom is onderzocht in het meerjarige Euro- 3) is een internationale standaard die in zijn eerste pese onderzoeksproject TT-Medal. Dit project, vorm in 1984 door het European Telecommunication waaraan de auteurs deelnamen, eindigde in 2006. Standardization Institute (ETSI) beschreven is. Het Hierin werd aangetoond dat TTCN-3 met geringe is enerzijds een taal om testgevallen te beschrijven en aanpassingen in diverse industrieën toepasbaar is anderzijds beschrijft het een architectuur waarbinnen en dat dit diverse voordelen oplevert (TT-Medal deze testgevallen uitgevoerd dienen te worden. informatie / juli|augustus 2011 Project Team, 2005). Het project TT-Medal heeft De taal TTCN-3 lijkt erg op een programmeertaal daarmee de prestigieuze ITEA-award gewonnen zoals Java, maar is specifiek toegesneden op het tes- als beste project. ten van software. Het is een testtaal met een rijke Vijf jaar na beëindiging van het TT-Medal-project syntaxis, waarin testoordelen zijn opgenomen en lijkt de toepassing van TTCN-3 wel te groeien, waarin gemakkelijk parallelle testcomponenten kun- maar is TTCN-3 zeker nog niet de standaard nen worden opgestart (Van de Pol & Van Solingen, die het claimt te zijn. Bij het grote (test)publiek 2006) De taal is onafhankelijk van het platform is TTCN-3 nog niet echt bekend. Aangezien de waarop of de systemen waarmee daadwerkelijk getest auteurs overtuigd zijn van de voordelen, is het gaat worden. 56
  • 2.
    Samenvatting TTCN-3 is een taal om testgevallen te beschrijven en beschrijft een architectuur waarbinnen deze testgevallen uitgevoerd dienen te worden. Om de taal bij het grote testpubliek bekend te maken moet duidelijk worden gemaakt wat de voordelen zijn voor de organisatie als geheel en moet een ‘gemakkelijk’ te gebruiken presentatieformaat worden aangeboden. Integrale toepassing van TTCN-3 leidt uiteindelijk tot kostenbesparingen. Status door toeleveranciers om de conformiteit van hun Van oudsher komt de taal TTCN uit de telecom- product met het protocol van de afnemende partij wereld. Daar is TTCN-3 nog steeds het sterkst aan te tonen. Anderzijds maakt de toepassing van vertegenwoordigd (zie figuur 1; Altena, 2009). TTCN-3 het voor de deelnemers mogelijk om Absolute cijfers over het aantal licenties van onderling testgevallen uit te wisselen. TTCN-3-tools worden door de toolleveranciers Een andere indicatie voor de toename van de niet afgegeven. Uit een enquête over de relatieve interesse in en/of het gebruik van TTCN-3 is de inzet van TTCN-3 over domeinen blijkt dat onge- toenemende belangstelling voor de TTCN-3 User veer driekwart van de implementaties tegenwoor- Conference. Uit een analyse van de onderwerpen dig plaatsvindt in de telecommunicatie, gevolgd van de TTCN-3 User Conference van 2004 tot en door de automotive-industrie en de embedded- met 2009 (ETSI CTI, 2010a) blijkt dat de speci- industrie. Slechts 5 procent komt naar voren in fieke aandacht voor het domein telecommunicatie andere domeinen, zoals het financiële domein en afneemt en men zich meer richt op onderwerpen het overheidsdomein. TTCN-3 wordt in deze domeinen veel toegepast domein marktaandeel bij het testen rondom een specifiek protocol, zoals GSM, IPv6, WiMax of AUTOSAR. Dit zijn dan •telecom 70% ook meestal situaties waarin meerdere partijen •automotive 15% •embedded 10% samenwerken aan één geïntegreerd product. De •overig 5% deelsystemen wisselen onderling berichten uit in het protocolformaat. De inzet van TTCN-3 Figuur 1. Verdeling is daarbij meerledig. Enerzijds TTCN-3 toe- marktaandeel van TTCN-3 gepast als uniforme testset die wordt gebruikt per industrieel domein De standaard opgenomen taalconcepten omvatten standaard kan naar behoefte worden uitgebreid met ingebouwde datacontrole (verwachte waarde versus andere presentatieformaten. gevonden resultaat), testen starten en stoppen op Naast de testtaal bevat TTCN-3 richtlijnen voor een verschillende machines en gelijktijdige uitvoering van gestandaardiseerde architectuur. Deze architectuur meerdere testcomponenten. Verder bevat de taal veel schrijft voor hoe de inrichting van het testsysteem met standaard ingebouwde variabele- en berichttypen, de interfaces naar het te testen systeem en het systeem waaronder lists, testoordelen en testsysteemcompo- dat de testen start, logt en bestuurt eruitziet (Van de nenten. TTCN-3 biedt ondersteuning voor zowel com- Pol & Van Solingen, 2006). Door middel van adapters informatie / juli|augustus 2011 municatie op basis van berichten als het aanroepen worden de gestandaardiseerde handelingen die in de van functies, dus zowel message-based als procedure- testtaal zijn beschreven, vertaald naar de uitvoering op based communication (Willcock et al., 2005). de specifieke interfaces van het te testen systeem en De taal kan op verschillende manieren aan de gebrui- vice versa. ker/tester worden gepresenteerd. Er is een tekstueel Voor uitvoering moet de testtaal TTCN-3 omgezet wor- formaat op basis van coderegels. Het tabulaire for- den in een echte ontwikkeltaal (bijvoorbeeld C of Java). maat is er voornamelijk om backwards compatibel te Hierbij worden de standaardonderdelen van de commer- zijn met TTCN en TTCN-2. Verder is er een visueel ciële of open-source testtools en de benodigde adapters formaat op basis van message sequence diagrams. De meegecompileerd tot een uitvoerbaar testsysteem. 57
  • 3.
    i testen 100 non-specific 90 other embedded 80 automotive 70 telecoms verdeling 60 [%] die niet domeinspecifiek zijn (zie 50 figuur 2). De teruggang in telecomspe- 40 cifieke presentaties en de opkomst van niet-domeinspecifieke presentaties is 30 duidelijk zichtbaar. 20 10 Voordelen: waarom zou 0 TTCN-3 wel aan moeten 2004 2005 2006 2007 2008 2009 slaan? jaar TTCN-3 is geen modefenomeen. De eerste versies zijn medio jaren tachtig Figuur 2. Verdeling van onderwerpen per industrieel domein van de vorige eeuw ontwikkeld. De tijdens TTCN-3 User Conferences taal is geadopteerd door het European Telecommunication Standardization Institute ten. In tijden van recessie zijn dit sterke argumen- (ETSI) en is in de loop der jaren ontwikkeld tot ten in een businesscase. Een bijkomend voordeel een bewezen en volwassen testtaal. Omdat de taal is dat de testautomatiseerders echt deskundigheid is ondergebracht bij een onafhankelijk instituut, is opbouwen in testautomatisering vanuit één taal de ontwikkeling minder afhankelijk van de gril- in plaats van globale kennis of nichekennis van len van de toolleverancier. Vanuit universiteiten specifieke tools. en onderzoeksinstituten vindt continu innovatie Door de sterk gestandaardiseerde taal is een hoog plaats op het gebied van TTCN-3. Dit levert veel hergebruik van testgevallen mogelijk, zeker bij het gratis extra’s op voor bedrijven die de taal gebrui- testen van complexe bedrijfsketens. Dat brengt ken. met zich mee dat de doorlooptijd van de testvoor- TTCN-3 is volledig toegesneden op testen en is bereiding sterk zal teruglopen, zodat sneller met erg flexibel. Zo kunnen tests uitgevoerd worden de testuitvoer gestart kan worden. De kwaliteit van over meerdere platformen, door meerdere test- de applicatie die wordt getest kan hierdoor snel- objecten tegelijkertijd aangeboden en dit vrijwel ler worden aangetoond, wat de businesscase voor realtime. TTCN-3 is zelfs geschikt voor het TTCN-3 gunstiger maakt. In het eerdergenoemde beschrijven van performancetests. Dit is mogelijk TT-Medal-project is dat via een aantal casestudies doordat meerdere instanties van hetzelfde testob- aangetoond (TT-Medal Project Team, 2005). ject opgestart kunnen worden vanuit één toolsuite. Dat TTCN-3 voordelen heeft blijkt wel duidelijk Er kunnen dus meerdere systemen worden aange- uit de aantallen gebruikers bij Ericsson en Hua- stuurd en gecontroleerd terwijl ze op verschillende wei. In 2007 had Ericsson 1837 actieve licenties wijzen communiceren. Het ene systeem heeft in gebruik (Berglund, 2007) en had Huawei 1500 bijvoorbeeld een CORBA-interface, het andere gebruikers van TTCN-3 (Wang, 2007). Motorola een HTML-gebaseerde interface en nog weer geeft aan dat de productiviteit met TTCN-3 ver- een ander wordt aangestuurd door middel van de dubbelt (Bhaskar Rao & Timmaraju, 2005). GUI. Met TTCN-3 is het dus mogelijk alle tests te Als je deze voordelen nog eens rustig bekijkt, dan informatie / juli|augustus 2011 beschrijven in één specificatietaal en uit te voeren is het verwonderlijk dat TTCN-3 niet veel meer met één toolsuite. wordt gebruikt. Wat is de oorzaak? Er zijn meerdere leveranciers van TTCN-3-tools- uites. Vendor lock-in komt dus veel minder voor. Waarom slaat TTCN3 niet aan bij De vele verschillende tools die een organisatie het grote publiek? op dit moment gebruikt en de daarbij behorende ETSI stelt dat TTCN-3 eenvoudig te leren valt licenties zouden teruggebracht kunnen worden tot (ETSI CTI, 2010b). De flexibiliteit van de taal één. Daardoor ontstaat er minder shelfware en zijn kent echter haar prijs. Theoretisch en technisch er minder toeleveranciers en minder beheerkos- is de taal behoorlijk complex. De TTCN-3-tools 58
  • 4.
    komen voor deminder technisch geschoolde tester over als een complete developmentstudio. Andere tools in de markt zijn laagdrempeliger in »Integrale toepassing van het gebruik. Buiten het telecomdomein zijn de testers meer functioneel en minder technisch georiënteerd. De testautomatiseringsscripts wor- den hier vaak opgesteld door een testautomati- TTCN-3 leidt uiteindelijk tot « seerder. Deze heeft echter niet de technische skillset die nodig is om TTCN-3 in te zetten. Dit kostenbesparingen technische kennisniveau heeft meestal alleen een software-engineer. Van oorsprong is TTCN-3 ontstaan in de technische hoek, nu is de overstap naar de niet-technische wereld moeilijk. TTCN-3 heeft geen eigen compiler. Dit is bewust tot een kostenbesparing op middellange termijn gedaan omdat ETSI zich niet wilde verbinden aan moeten leiden. één programmeertaal of implementatiewijze (ETSI Vragen aan leveranciers voor het toepassen van CTI, 2010b). De keuze voor een onafhankelijke testautomatisering komen vaak vanuit de pro- specificatietaal zonder keuze voor een compileer- jecten. De toolselectie ligt daarmee binnen de bare programmeertaal ondermijnt echter de gene- projecten, terwijl de echte businesscase op orga- rieke implementatiegedachte. De mogelijkheid nisatieniveau ligt. Dus vaak is de nieuwe licentie om van toolleverancier te wisselen wordt hierdoor (of de open source) voor de zoveelste tool alweer bemoeilijkt. De reden hiervoor is dat adapters aangeschaft voordat TTCN-3 een optie wordt. Wil geschreven moeten worden in de programmeertaal het slagen, dan zal een besluit op beleidsniveau van de compiler om het geheel te laten werken. genomen moeten worden. Deze specifieke adapters kunnen niet eenvoudig Zoals gezegd is TTCN-3 sterk gericht op het tes- meeverhuisd worden naar de nieuwe toolleve- ten van berichtenverkeer via de interfaces. Door- rancier die een andere programmeertaal voor dat het hier zo op toegesneden is, is het moeilijk de compiler hanteert. Door de taal op een hoog om andere testaspecten in TTCN-3 te beschrijven niveau te beschrijven zonder deze implementeer- en hier vervolgens een kostenefficiënte implemen- baar te maken (want dat is onafhankelijk), hebben tatie (codex) voor te ontwikkelen. Dit geldt bijvoor- de auteurs ervaren dat de uitwisselbaarheid van beeld voor het testen via de GUI en van databases. TTCN-3 tussen toolleveranciers ingewikkelder is Andere tools in de markt zijn dan snel een meer dan gesteld wordt. voor de hand liggende keuze dan TTCN-3. TTCN-3 blijkt een sterke businesscase te hebben bij het testen van meerdere systemen binnen één Positionering van TTCN-3 organisatie. Echter, binnen organisaties wordt dit Na we bij de status, de voordelen en het waarom nog niet onderkend. Experts en/of beslissers zijn van het niet breed aanslaan van TTCN-3 heb- vaak niet op de hoogte van het bestaan van de taal. ben stilgestaan, dringt zich de vraag op wanneer Het gevolg is dat de klant niet vraagt om TTCN-3. TTCN-3 een goede keuze zou zijn en wanneer TTCN-3 zou als verbeterinitiatief vanuit het ont- niet. Op basis van de ervaring van de auteurs en wikkelbedrijf zelf opgepakt moeten worden. Zoals de voorgaande analyse zijn de volgende toepas- bij vele andere mogelijke verbeteringen blijkt het singsmogelijkheden te onderkennen: voor het ontwikkelbedrijf erg moeilijk om zichzelf • testen van verschillende systemen over meer- te automatiseren. dere platformen; De toepassing van TTCN-3 lost meestal geen • testen van veel verschillende protocollen binnen informatie / juli|augustus 2011 acute problemen op. Veel organisaties hebben één organisatie; eigen oplossingen ontwikkeld, gebaseerd op • testen van één specifiek protocol door meerdere diverse typen tools, en testen op die manier een organisaties (‘value chain optimization’); keten over diverse platformen heen. Dit is minder • beschrijven van testgevallen voor certificering efficiënt, maar het werkt voor nu wel. Wellicht van toeleveranciers (‘conformance testing’). kan er een vergelijking worden gemaakt met de implementatie van een service-oriented architec- In figuur 3 is een korte opsomming gegeven hoe tuur. Voor de business levert die in eerste instantie TTCN-3 zich verhoudt tegenover de concurrenten geen toegevoegde waarde op. Uiteindelijk zou het op het gebied van taal en tooling. 59
  • 5.
    i testen zelfgebouwde TTCN-3-taal proprietary tool o.b.v. en -tool tool met eigen programmeer- taal taal taal •veelzijdigheid ++ + –– •testspecifiek –– ++ + •inleertijd –– +– ++ tool/architectuur •aanpasbaarheid ++ + – •onafhankelijkheid leverancier +–* ++ –– •horizontale integreerbaarheid ++ + –– •verticale integreerbaarheid – +– + Wat houdt het gebruik van •plug & play –– +– +– TTCN-3 in? *) vaak sterk afhankelijk van de ontwikkelaar van de zelfgebouwde tool Voor de gebruikers (hier gedefinieerd als Figuur 3. Vergelijking van sterke en zwakke punten van software-engineers, businessanalisten 1) zelfgebouwde tools op basis van een algemeen toepasbare en testers) van TTCN-3 betekent het programmeertaal, zoals Java of C++, 2) TTCN-3-testtaal en gebruik van de taal een aantal zaken. -tooling en 3) in de markt gekochte proprietary tools/toolsuites Veel eerder in de software life cycle kan begonnen worden met het programmeren van de tests. In eerste instantie op hoog niveau; Wat is nodig om TTCN-3 te laten later, als de implementatiedetails beschikbaar zijn, doorgroeien? kan de test uitgewerkt worden. Je hoeft dus niet te TTCN-3 heeft diverse mogelijkheden om door te wachten tot het eind van het ontwikkeltraject. De groeien. Enerzijds is de huidige markt waarin de testontwikkeling kan parallel plaatsvinden aan de taal toepasbaar is zeker nog niet uitgenut. Er zijn ontwikkeling van het systeem. In de traditionele sterke businesscases te definiëren binnen grote testautomatisering kan pas begonnen worden als organisaties en rondom de organisatieoverstijgende het systeem dat moet worden getest een redelijke toepassing van gestandaardiseerde protocollen, mate van stabiliteit heeft bereikt. zeker nu het ketentesten over meerdere orga- Met TTCN-3 is het gemakkelijker en sneller om nisaties heen steeds meer belangstelling krijgt. complexe testcases te ontwerpen, waardoor de Hiervoor moet meer gedaan worden aan de pr en kwaliteit van het werk toeneemt. Voor de tester marketing van TTCN-3. Daarbij moet de focus is het samenstellen van tests stukken gemakke- niet langer liggen op de technische mogelijkheden lijker dan in de traditionele vorm. Dit komt door van TTCN-3, maar op het feit dat het problemen het hergebruik van eerder ontwikkelde testware kan oplossen vanuit organisatorisch en business- dankzij de gestandaardiseerde werkwijze. Dat oogpunt. verkort de doorlooptijd, waardoor sneller resultaat De toepasbaarheid van TTCN-3 kan vergroot wor- geboekt wordt. Aangezien de taal en de architec- den door de standaard te verbreden naar toepas- tuur echter complexer zijn dan die van reguliere singen buiten het traditionele berichtenverkeer. tools, moet rekening worden gehouden met een Hierbij valt te denken aan testen via de GUI of informatie / juli|augustus 2011 langere inleertijd. van databases. Tevens moet worden gewerkt aan De gebruiker hoeft maar één tool te leren waar- een complexiteitsreductie voor de tester die met mee alle typen systemen op welk platform dan TTCN-3 werkt. Een presentatieformaat dat veel ook getest kunnen worden. Voor businessanalisten van de niet-gebruikte features verbergt of automa- wordt de wijze van werken vergemakkelijkt omdat tisch invult, zal de slagingskans voor een bredere zij zich alleen nog hoeven te richten op de ontwik- inzet aanzienlijk doen vergroten. In het eerder- keling van testgevallen op hoog niveau. De tools genoemde TT-Medal-project hebben de auteurs zorgen voor de vertaling met behulp van de adap- al aangetoond dat dit mogelijk is via TestFrame ters naar de diverse platforms. (TT-Medal Project Team, 2005). 60
  • 6.
    Conclusie Ondanks een langehistorie van ontwikkeling en gebruik is TTCN-3 nog steeds niet echt bekend bij het grote testpubliek. Enkele oorzaken zijn benoemd. Wil TTCN-3 de veelbelovende testtaal blijven en vooral worden, dan zal fors geïnvesteerd moeten worden om de taal bij het grote testpu- bliek bekend te krijgen. Enerzijds door de voor- delen te laten zien voor de organisatie als geheel, anderzijds door een ‘gemakkelijk’ te gebruiken presentatieformaat aan te bieden voor gebruik in nieuwe domeinen. Desondanks zien de auteurs voldoende inhoudelijke mogelijkheden voor een succesvol gebruik van TTCN-3 in de praktijk. Integrale toepassing van TTCN-3 leidt uiteindelijk tot kostenbesparingen. Er zijn minder licenties nodig, minder beheerkosten en minder aanschaf- kosten van tools. Daarnaast zal de kwaliteit van de informatieketen toenemen door het geautomati- seerd kunnen testen van de gehele keten met één taal. Reviewer Manu De Backer Literatuur Altena, E. (2009). Things to Consider Before Applying TTCN- 3, www.testdag.nl/images/2009/docs/altena.pdf (geraadpleegd op 30 juli 2010). Berglund, M. (2007). TTCN-3 @ Ericsson, www.ttcn-3.org/ TTCN3UC2007/Presentations/Wed/1500_ttcn_users_at_ ericsson_a.pdf (geraadpleegd op 30 juli 2010). Bhaskar Rao, G. & K. Timmaraju (2005). Load Testing of MDA based HA Communication Network Elements with TTCN-3, www.ttcn-3.org/TTCN3UC2005/program/Wednesday%20 8th%20June/04-%20Session%20V-%20Relation%20with%20 other%20languages%20and%20methods/[T3UC%20 S5-3]%20Load%20testing%20of%20MDA%20based%20 HA%20communication%20network%20elements%20 with%20TTCN-3.pdf (geraadpleegd op 30 juli 2010). ETSI CTI (2010a). TTCN-3 User Conference Archives, www. ttcn-3.org/UCArchives.htm (geraadpleegd op 30 juli 2010). ETSI CTI (2010b). Why use TTCN-3? www.ttcn-3.org/ Benefits.htm (geraadpleegd op 30 juli 2010). Pol, J. van de & R. van Solingen (2006). TTCN-3: de testtaal van de toekomst. Informatie 48/6 (juli/augustus), pp. 20-24. TT-Medal Project Team (2005). Test & Testing Methodologies for Advanced Languages, www.tt-medal.org (geraadpleegd op 30 juli 2010). Wang, G. (2007). TTCN-3 Development and Application in Huawei, www.ttcn-3.org/TTCN3UCAsia2007/Presentations/ Session%201/TTCN-3%20Development%20and%20 Application%20in%20Huawei.pdf (geraadpleegd op 30 juli 2010). Willcock, C. et al. (2005). An Introduction to TTCN-3. informatie / juli|augustus 2011 Chichester: John Wiley & Sons. Links www.bartosz.nl www.tt-medal.org www.ttcn-3.org Jos van Rooyen is principal consultant bij Bartosz ICT. E-mail: jos.van.rooyen@ bartosz.nl. Ir. Erik Altena is senior consultant bij Bartosz ICT. E-mail: erik.altena@ bartosz.nl. 61