Download whitepapers, case studies
en onderzoeken over ICT-onderwerpen
Computable IT Knowledge Base
  Dagelijks het laatste
ICT-nieuws in je inbox?
Computable e-mail nieuwsbrief

Development / Opinie

08-08-2008 20:00 | Door Tom Langerhorst | Tags: Architectuur, Beschikbaarheid, Interface, Processen, Services | Er zijn nog geen reacties op dit artikel | Permalink

Non-functionele eisen belangrijk bij testen SOA

Tom Langerhorst

De kerngedachte achter soa is dat de afzonderlijke verwerkende eenheden met elkaar communiceren zonder dat de wijze waarop gecommuniceerd wordt vast ligt. Dit alles met de gedachte dat het uiteindelijke systeem de business moet ondersteunen in het primaire proces.

Als tester heb je de gereedschapskoffer vol zitten met methoden en technieken, die je kunnen ondersteunen bij het opstellen van de testgevallen. Bij het testen van een soa krijg je te maken met heel andere uitdagingen dan bij een monoliet of een client/server applicatie:

1. Business is eigenaar van het proces
2. Hergebruik van de service
3. De afwezigheid van een GUI
4. Locatie en de beschikbaarheid van de service

Business is eigenaar van proces

De business moet door en de business brengt het geld binnen. Hier moet ict zich naar schikken. Ict is ondersteunend aan de business en dat is altijd zo geweest. Toch heeft ict de afgelopen jaren geprobeerd de vraagstukken van de business op te lossen vanuit de techniek. Waar dat toe heeft geleid, hebben we de afgelopen jaren mee kunnen maken. De soa-gedachte is dat de business leidend wordt in het oplossen van de vraagstukken en dat ict daar de middelen voor heeft om dit te ondersteunen. Doordat de business eigenaar is van het proces, zul je als tester dus ook veel meer te maken krijgen met de business. De business wil onafhankelijk van de architectuur een werkend systeem. De nadruk zal dan komen te liggen op de non-functionele eisen van een systeem zoals beschikbaarheid, betrouwbaarheid en interoperabiliteit.

Hergebruik van service

Een specifieke service, bijvoorbeeld het checken van de geldigheid van een bankrekeningnummer, kan voor meerdere doeleinden worden gebruikt. Enerzijds kan deze service gebruikt worden bij het uitgeven van bankrekeningnummers, anderzijds kan deze zelfde service ook onderdeel zijn van het valideren van een betaling. In beide gevallen wordt de geldigheid van een bankrekeningnummer gecontroleerd en veelal in beide gevallen heb je te maken met een ander proces of systeemeigenaar. Wat nu als de service ten behoeve van het proces van uit te geven bankrekeningnummers gewijzigd wordt, moet je dan als regressietest alle processen hertesten die de service gebruikten of hertest je alleen de services die de gewijzigde service aanroepen? Ook hier heb je te maken met de non-functionele eisen van een systeem, compatibiliteit.

Daarnaast zijn veel services al eerder gerealiseerd door andere partijen en veelal zijn de interfacespecificaties van die services beschikbaar op het net. Want waarom zou je zelf het wiel opnieuw uitvinden als anderen dat al voor je hebben gedaan en de service beschikbaar stellen voor gebruik?

Afwezigheid van user interface

Een groot deel van de services zal zich nooit manifesteren met een gebruikersinterface, toch zul je als tester deze moeten onderwerpen aan een test. Hiertoe kun je gebruikmaken van de keten, maar je kunt ook gebruikmaken van stubs en drivers of de expertise van een ontwikkelaar. Door zelf je tests te ontwikkelen en deze al in een vroeg stadium door de bouwer uit te laten voeren, maak je de service robuuster. Dit heeft als voordeel dat de tester kan doen waar hij goed in is, het vinden van fouten en de ontwikkelaar kan doen waar hij goed in is, het bouwen van een service. Indien er geen documentatie aanwezig is, kan de testspecificatie zelfs dienst doen als ontwerpdocument.

Locatie en beschikbaarheid van service

Binnen een soa hoeft een service niet per se op de locatie van de opdrachtgever te draaien. Sterker nog, veel van de aan te roepen services zullen zelfs buiten de landsgrenzen draaien. Toch wil de business maximale zekerheid als het gaat om de beschikbaarheid van de services. De vraag die dan beantwoord moet gaan worden is hoe we ervoor kunnen zorgen dat we die beschikbaarheid kunnen garanderen. Het antwoord op deze vraag is het maken van bindende afspraken in de vorm van service level agreements (sla's) tussen de afnemer en de provider van de service.

Conclusie

Het testen van een soa is anders dan het testen van een client/server applicatie of een monoliet. Bij een soa zal de nadruk komen te liggen op de non-functionele eisen van een systeem, daar waar bij een 'standaard' systeem veel meer de nadruk ligt op de functionaliteit. De functionaliteit van een soa staat of valt met een juiste samenhang van services en het is dus van groot belang dat de tester de bedrijfsprocessen van de business kan doorgronden. Hiertoe zal zijn gereedschapskoffer met zijn standaard methoden en technieken niet voldoende zijn om een soa op een juiste wijze te testen.

reageer print stuur door
Reageer
rssMeer Development
Development Whitepapers

Vendor lock-in behoort tot het verleden met open standaarden

Open standaarden en open software maken het mogelijk om IT weer te zien als opportunity en niet als een beperkende factor. Inhaken op trends en ontwikkelingen gaat sneller met open standaarden en open source software, zo wordt betoogd in deze whitepaper.... Download nu

Meerwaarde Agile in kaart gebracht

Wat is Agile Development. Hoe werkt het? Wat is de meerwaarde ten opzichte traditionele ontwikkelmethoden en welke veranderingen zijn noodzakelijk om goed gebruik te maken van Agile. Deze en meer antwoorden leest u in deze whitepaper.... Download nu

Meer Development whitepapers

SAP-maatwerk, duur beheer

Als er veel wordt gesleuteld aan een SAP-applicatie, zorgt dat voor hogere beheerkosten na het project. Maar het is lastig aan de organisatie duidelijk te maken dat maatwerk niet altijd de beste oplossing is.

Meer maatwerk bij SAP maakt beheer duurder
Development Producten

Somatech applicatie voor materiaalverwerking

02-12 13:09   Voor verspanende bedrijven die bijvoorbeeld kunststoffen bewerken of andere langspanige materialen brengt Somatech PECK and PLUNGE op de markt. Deze applicatie maakt het mogelijk...

Meer development producten
Development Praktijk

Booking.com zweert bij open source

10-03 14:24   De capaciteit van de infrastructuur van reserveringswebsite Booking.com is de afgelopen jaren vertienvoudigd. Dat levert niet alleen hoofdbrekens op over onder andere...

Meer development praktijk
Development Achtergrond

Webdiensten vormen betere middleware

02-12 09:13   Hoewel webdiensten vaak worden gezien als middel om gedistribueerde applicaties simpel aan elkaar te knopen, zijn ze veel meer dan dat. Hun volledig elektronisch gedocumenteerde...

Meer development achtergrond
Development Opinie

Omzetcontrole bij e-commerce

01-12 14:47   Laatst sloot mijn buurman, een niet-ict’er, een doorlopende reisverzekering af via internet. De website van de verzekeringsmaatschappij waar hij de verzekering in eerste instantie...

Meer development opinie
IT Directory

Bekijk de leveranciers op het gebied van Development.