Huidige status van de testtaal TTCN-3

  • 102 views
Uploaded on

Door de groeiende complexiteit en verwevenheid van softwaresystemen neemt het belang van geautomatiseerd testen toe. In een eerder artikel in Informatie is TTCN-3 geschetst als de testtaal van de …

Door de groeiende complexiteit en verwevenheid van softwaresystemen neemt het belang van geautomatiseerd testen toe. In een eerder artikel in Informatie is TTCN-3 geschetst als de testtaal van de toekomst, mede ingegeven door het succesvolle TT-Medal-project. Vijf jaar later, in het jaar waarin TTCN-3 tien jaar bestond, vonden Jos en ik het een goed moment om de balans op te maken. Blijkt het inderdaad de silver bullet te zijn of niet?

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
102
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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 domeinDe standaard opgenomen taalconcepten omvatten standaard kan naar behoefte worden uitgebreid metingebouwde datacontrole (verwachte waarde versus andere presentatieformaten.gevonden resultaat), testen starten en stoppen op Naast de testtaal bevat TTCN-3 richtlijnen voor eenverschillende machines en gelijktijdige uitvoering van gestandaardiseerde architectuur. Deze architectuurmeerdere testcomponenten. Verder bevat de taal veel schrijft voor hoe de inrichting van het testsysteem metstandaard ingebouwde variabele- en berichttypen, de interfaces naar het te testen systeem en het systeemwaaronder lists, testoordelen en testsysteemcompo- dat de testen start, logt en bestuurt eruitziet (Van denenten. TTCN-3 biedt ondersteuning voor zowel com- Pol & Van Solingen, 2006). Door middel van adapters informatie / juli|augustus 2011municatie op basis van berichten als het aanroepen worden de gestandaardiseerde handelingen die in devan functies, dus zowel message-based als procedure- testtaal zijn beschreven, vertaald naar de uitvoering opbased communication (Willcock et al., 2005). de specifieke interfaces van het te testen systeem enDe 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 adaptersformaat 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, daninformatie / 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 de minder technisch geschooldetester over als een complete developmentstudio.Andere tools in de markt zijn laagdrempeliger in »Integrale toepassing vanhet gebruik. Buiten het telecomdomein zijn detesters meer functioneel en minder technischgeoriënteerd. De testautomatiseringsscripts wor-den hier vaak opgesteld door een testautomati- TTCN-3 leidt uiteindelijk tot «seerder. Deze heeft echter niet de technischeskillset die nodig is om TTCN-3 in te zetten. Dit kostenbesparingentechnische kennisniveau heeft meestal alleeneen software-engineer. Van oorsprong is TTCN-3ontstaan in de technische hoek, nu is de overstapnaar de niet-technische wereld moeilijk.TTCN-3 heeft geen eigen compiler. Dit is bewust tot een kostenbesparing op middellange termijngedaan omdat ETSI zich niet wilde verbinden aan moeten leiden.één programmeertaal of implementatiewijze (ETSI Vragen aan leveranciers voor het toepassen vanCTI, 2010b). De keuze voor een onafhankelijke testautomatisering komen vaak vanuit de pro-specificatietaal zonder keuze voor een compileer- jecten. De toolselectie ligt daarmee binnen debare programmeertaal ondermijnt echter de gene- projecten, terwijl de echte businesscase op orga-rieke implementatiegedachte. De mogelijkheid nisatieniveau ligt. Dus vaak is de nieuwe licentieom van toolleverancier te wisselen wordt hierdoor (of de open source) voor de zoveelste tool alweerbemoeilijkt. De reden hiervoor is dat adapters aangeschaft voordat TTCN-3 een optie wordt. Wilgeschreven moeten worden in de programmeertaal het slagen, dan zal een besluit op beleidsniveauvan 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 moeilijkde compiler hanteert. Door de taal op een hoog om andere testaspecten in TTCN-3 te beschrijvenniveau 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 meerdan gesteld wordt. voor de hand liggende keuze dan TTCN-3.TTCN-3 blijkt een sterke businesscase te hebbenbij het testen van meerdere systemen binnen één Positionering van TTCN-3organisatie. Echter, binnen organisaties wordt dit Na we bij de status, de voordelen en het waaromnog 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 wanneerHet gevolg is dat de klant niet vraagt om TTCN-3. TTCN-3 een goede keuze zou zijn en wanneerTTCN-3 zou als verbeterinitiatief vanuit het ont- niet. Op basis van de ervaring van de auteurs enwikkelbedrijf 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 2011acute problemen op. Veel organisaties hebben één organisatie;eigen oplossingen ontwikkeld, gebaseerd op • testen van één specifiek protocol door meerderediverse typen tools, en testen op die manier een organisaties (‘value chain optimization’);keten over diverse platformen heen. Dit is minder • beschrijven van testgevallen voor certificeringefficiënt, maar het werkt voor nu wel. Wellicht van toeleveranciers (‘conformance testing’).kan er een vergelijking worden gemaakt met deimplementatie van een service-oriented architec- In figuur 3 is een korte opsomming gegeven hoetuur. Voor de business levert die in eerste instantie TTCN-3 zich verhoudt tegenover de concurrentengeen 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 ofinformatie / 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. ConclusieOndanks een lange historie van ontwikkeling engebruik is TTCN-3 nog steeds niet echt bekendbij het grote testpubliek. Enkele oorzaken zijnbenoemd. Wil TTCN-3 de veelbelovende testtaalblijven en vooral worden, dan zal fors geïnvesteerdmoeten 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 gebruikenpresentatieformaat aan te bieden voor gebruik innieuwe domeinen. Desondanks zien de auteursvoldoende inhoudelijke mogelijkheden voor eensuccesvol gebruik van TTCN-3 in de praktijk.Integrale toepassing van TTCN-3 leidt uiteindelijktot kostenbesparingen. Er zijn minder licentiesnodig, minder beheerkosten en minder aanschaf-kosten van tools. Daarnaast zal de kwaliteit van deinformatieketen toenemen door het geautomati-seerd kunnen testen van de gehele keten met ééntaal.Reviewer Manu De BackerLiteratuurAltena, 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.Linkswww.bartosz.nlwww.tt-medal.orgwww.ttcn-3.org Jos van Rooyenis principal consultant bij Bartosz ICT. E-mail: jos.van.rooyen@bartosz.nl. Ir. Erik Altenais senior consultant bij Bartosz ICT. E-mail: erik.altena@bartosz.nl. 61