Testen in SOA-omgevingen



Vergelijkbare documenten
Standaard koppelvlak Digikoppeling adapter Servicebus. Datum: 18 augustus 2014 Versie: 0.3 Auteur: M. van den Broek

Dit voorbeeldproject beschrijft het gebruik van web services (open standaarden) voor de ontsluiting van kernregistraties bij de gemeente Den Haag.

Zelftest XML Concepten

Parasoft toepassingen

Presentatie Gestructureerd en geautomatiseerd testen Ad Driessens en Gerben Mondeel

Geen webservice? Geen probleem!

Concernstaf IT-Services. GDS2 Afgifte SoapUI Server Stub. Handleiding 0.1. Hans Schreuder. Versie. Auteur(s)

Integratie in de praktijk

Reality is overrated een introductie in servicevirtualisatie voor testers

Boeiende Bindingen. Boeiende Bindingen Technische projectevaluatie. ROC West-Brabant, Codename Future, ThiemeMeulenhoff

Kennissessie INSPIRE. Algemene vereisten & architectuur Metadata View Services Download Services Ondersteuning vanuit Geonovum.

HDN DARTS WEB AUTHENTICATIE

SOA Security. en de rol van de auditor... ISACA Roundtable 2 juni Arthur Donkers, 1Secure BV arthur@1secure.nl

Test de REST. Testen van RESTful webservices met REST Assured. Bas Dijkstra

Oracle Portal in een Service-Oriented Architecture (SOA) ir. Jeroen F. van Schaijk Senior Consultant Emerging Technologies

Albert Jan Anneveld en Co Meerveld Testomgevingen, nu zeker wel!!!

Beschrijving OpenTunnel koppelvlak met MijnOverheid BerichtenBox

Juliana van Stolberglaan CA Den Haag Postbus AC Den Haag [Handleiding Generieke interface Energielabels.

IBAN API. Simpel & krachtig. Documentatie : IBAN REST API Versie : 1.0 DE BETAALFABRIEK

Ssdnbatch Applicatie: Technische Documentatie

1,3 miljoen regels mission critical code omzetten naar C++, hoe test je dat?

Keteininformatiemodellering op basis van UML

The OSI Reference Model

Rapporten. Labels en Rapporten in Atlantis 1. Atlantis heeft twee manieren om output te genereren: 1. labels 2. rapporten (reports)

SmartTestAssistant. Het slimme testhulpmiddel. door Frank Stolker

TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise

Procesvalidatie voor een veiliger ketentest

Customer Case: WoningNet

Technische afspraken Ketenregister

Te hoog gemikte silver bullets missen doel Te hoog gemikte silver bullets missen doel

LSP Connect en HL7v3

Gebruikershandleiding. StUF Testplatform Versie 1.3.0

Curriculum Vitae. Persoonlijke gegevens: Profiel

De keten uitgedaagd. Technische inrichting SBR. College 7 van 11 door Bart Hendriksen & Victor den Bak. Webservices, koppelvlakken en meer

Aquo Domeintabellen Services (Aquo DS) Handleiding Webservice

Automatisch Testen. Customer Business Lunch. 6 november Netherlands Germany Switzerland Serbia

XML Introductie.

Generieke interface energielabels

Technisch Ontwerp VISSIM-PPA Koppeling

J2EE/.NET en de rol Applicatie Architectuur

Samengaan van Geo-informatie en Service Oriëntatie

KENMERKEN MODEL BASED TESTING TOOLS

ISTQB Foundation level. Een introductie. Algemene informatie voor medewerkers van: SYSQA B.V.

DT, PVdB - WS-A headers in SOAP Response - validaties op WS-A headers en customer identificatie - soap faults bij skipped requests en WSDLongeldige

Service Oriented Architecture voor interne beheersing

Informatiearchitectuur

Aanbesteding implementatie, beheer en onderhoud van Microsoft Dynamics 365 for Operations. Bijlage 5: Beschrijving toekomstige ESB

Software Test Plan. Yannick Verschueren

Service API Specificatie. Key2Parkeren Koppelvlak Kentekenwijziging

Aansluitdocument webservices. VSP-EDP Validatiemodule

Handleiding voor implementatie WEBSERVICE GEOCODEREN

Organisatie SYSQA B.V. Pagina 1 van 6 Titel Overzicht Versie 1.0 Onderwerp Overzicht blackbox testtechnieken Datum 15 februari 1996

Betekent SOA het einde van BI?

Copyright IBS Nieuwbouw. Vereenvoudigd en versnelt Java ontwikkeling. Huub Cleutjens

Aansluitvoorwaarden WS Gateway Provider

Koppelvlakken en de verschillen BIV - DigiPoort

Service Data Objects. Wat is SDO? Dynamic data API

Early Adopters Berichtenbox MijnOverheid Sessie Techniek

Nederlands WMS - SLD Profiel. Versie 1.0

BEFDSS. Het Belgische uitwisselingsformaat voor onderzoekgegevens afkomstig van visueel rioolonderzoek. 1/12/ / 6

SmartTestAssistant. Het slimme testhulpmiddel. door Frank Stolker

Creëren van een instantie van de gegenereerde.net class, standaard initialisatie door.net

End-to-End Testen Acceptatietesten

Software Test Plan. PEN: Paper Exchange Network Software Engineering groep 1 (se1-1415) Academiejaar

Releasenotes Landelijk Asbestvolgsysteem

Ministerie van Economische Zaken, Landbouw en Innovatie. Geoboer. Interface Specificatie

a. Wat wordt verstaan onder V&V? b. Uit welke kernactiviteiten bestaat V&V? c. Noem enkele voor- en nadelen van inspecties. d. Idem voor testen.

ORBIS SOFTWARE TASKCENTRE INTEGREERT

Gebruik van cryptografie voor veilige jquery/rest webapplicaties. Frans van Buul Inter Access

2BA Deeplink Gebruiksbeschrijving

C.A.S.T. Make it as simple as possible, but not simpler. Make IT as simple as possible, but not simpler. Complexiteit. Einstein maakte het simpel

Basisregistratie Ondergrond (BRO) Testen verbinding webservices met SoapUI Booronderzoek. Datum 28 maart 2017 Status Versie 1.0

Beheer van Web Services

Performance Essentials

TestNet voorjaarsevenement 2014 Managen van een KetenTest bij NS met hun TOPAAS toolsuite. Managen van een Ketentest bij NS met hun TOPAAS tool-suite

Zelftest Informatica-terminologie

Marc Koper Performancetesten voor dummies

Compliancy Testrapportage

Software Test Plan. Yannick Verschueren

Rabobank: Service Architectuur in de Praktijk

Powerpoint presentatie College 5 Gilbert van Lierop & Farshad Salamat

Gebruikershandleiding. StUF Testplatform Versie 1.3.1

Handleiding DigiD koppeling

Business-to-Business

Technisch Interface Specificatie Webservice Koppelvlak Versie Datum Status Concept

Zelftest Java concepten

Voorbeeldexamen. Testen Foundation. Editie maart 2012

CARGO DATA SYSTEMS BV

Functionele en technische meldingen

Uitdagingen performancetesten in een Agile omgeving Best Practices & Demo

Canonieke Data Modellering op basis van ArchiMate. Canonieke Data Modellering op basis van Archimate Bert Dingemans

Transcriptie:

Testen in SOA-omgevingen Agenda Introductie Basisbegrippen Testen van services Testdata en XMLSpy Testsoorten Testtools Testuitvoering Validatie van testresultaten Drivers, stubs en mocks Samenvatting 2 1

Wat is Service Oriented Architecture (SOA) Introductie Service-oriëntatie, vertaling van Service-Oriented Architecture (SOA), is een architectuurmodel, geen technologie op zich. Centraal bestaat een SOA opgebouwd systeem uit servicecontracten. Hierbij is sprake van afnemers van diensten en leveranciers. 3 Wat is Service Oriented Architecture (SOA) Introductie Methode om applicaties te integreren of te ontwerpen Samenvoegen en hergebruiken van services Bestaande services te verbinden met nieuw ontwikkelde services Goed inzetbaar bij het implementeren van bedrijfsprocessen Het lijkt een beetje op bouwen met lego Uniforme koppelmogelijkheden Verschillend van vorm/inhoud/etc. Koppelingen met legacy systemen 4 2

Wat zijn services? Introductie Blokken herbruikbare functionaliteit Eigen verantwoordelijkheid Interface onafhankelijk van de implementatie Formeel vastgelegd in een interfacecontract Eventueel GUI 5 De positie van berichten binnen SOA Introductie Documenten met informatie XML Gestandaardiseerd via XSD SOAP Eventueel versleuteld (encrypted) Via servicebus en/of internet 6 3

Agenda Introductie Basisbegrippen Testen van services Testdata en XMLSpy Testsoorten SoapUI Testuitvoering Validatie van testresultaten Drivers, stubs en mocks Samenvatting 7 Basisbegrippen Basisbegrippen XML Intro Voorbeeld Basisuitleg attributen XSD Intro validatie Voorbeeld Basisuitleg SOAP Intro communicatie Voorbeeld Basisuitleg WSDL Voorbeeld Basisuitleg 8 4

extensible Markup Language (XML) Basisbegrippen Structureren van data Scheiden inhoud en presentatie Labels als bij HTML Geen vaste betekenis zoals bij HTML Tekstformaat 9 XML-voorbeeld Basisbegrippen <?xml version="1.0" encoding="iso-8859-1"?> <koppeling> <postcode>3821 AD</postcode> <huisnummer>52</huisnummer> <adres> <straat>printerweg</straat> <plaats>amersfoort</plaats> </adres> </koppeling> 10 5

XML Basis Basisbegrippen Documentdeclaratie <?xml version="1.0" encoding="iso-8859-1"?> Hoofdelement <koppeling> Subelementen <postcode> <huisnummer> <adres> <straat> <plaats> 11 XML Attributen Basisbegrippen Meer informatie over elementen <koppeling> <postcode>3821 AD</postcode> <adres straat= Printerweg plaats= Amersfoort /> </koppeling> Waarde van een attribuut tussen aanhalingstekens 12 6

XML Validatie Basisbegrippen Well Formed XML heeft een correcte syntax: Documenten hebben een hoofdelement Elk element heeft een eindlabel Labels zijn hoofdlettergevoelig Genestheid van de labels moet kloppen Attribuutwaarden staan tussen aanhalingstekens Valid XML is Well Formed XML gevalideerd tegen een structuur 13 XML Schema Definition (XSD) Basisbegrippen <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema"> <xs:element name= koppeling"> <xs:complextype> <xs:sequence> <xs:element name= postcode" type="xs:string"/> <xs:element name= huisnummer" type="xs:int"/> <xs:element name= adres" type= adrestype"/> </xs:sequence> </xs:complextype> </xs:element> <xs:complextype name= adrestype > <xs:sequence> <xs:element name= straat type= xs:string /> <xs:element name= plaats type= xs:string /> </xs:sequence> </xs:complextype> </xs:schema> 14 7

XSD Basis Basisbegrippen Schemadeclaratie <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema"> Elementdeclaratie met complex type <xs:element name="koppeling"> <xs:complextype> Elementdeclaratie met standaard type <xs:element name="postcode" type="xs:string"/> 15 Simple Object Access Protocol (SOAP) Basisbegrippen Communicatie protocol Formaat om berichten in te verzenden Platformonafhankelijk Gebaseerd op XML Mogelijkheid om remote procedure calls uit te voeren 16 8

SOAP-voorbeeld Basisbegrippen <soap:envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body xmlns:m= http://www.polteq.com/adresservice > <m:geefadres> <m:zoekopdracht> <m:postcode>3821 AD</m:postcode> <m:huisnummer>52</m:huisnummer> </m:zoekopdracht> </m:geefadres> </soap:body> </soap:envelope> 17 Web Services Description Language (WSDL) XML gebaseerde taal Basisbegrippen Beschrijft webservices Locatie Operaties Berichten 18 9

WSDL-fragment <message name= geefadressoapin"> <part name= parameters element= s0:geefadres"/> </message> Basisbegrippen <porttype name= AdresServiceSoap"> <operation name="geefadres"> <input message= s0:geefadressoapin"/> <output message= s0:geefadressoapout"/> </operation> </porttype> <binding name= AdresServiceSoap" type="s0:adresservicesoap"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/> <operation name= geefadres"> <soap:operation soapaction="http://www.polteq.com/adresservice/geefadres" style="document"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> 19 WSDL Basis Basisbegrippen <definitions> <types> Bevat een schema met data type definities </types> <message> Abstracte getypeerde definitie van de data </message> <porttype> Bevat abstracte operaties die worden ondersteund door de webservice </porttype> <binding> Concrete protocol en dataspecificatie voor een porttype </binding> <service> Bevat de concrete endpoints voor benaderen van de service </service> </definitions> 20 10

Agenda Introductie Basisbegrippen Testen van services Testdata en XMLSpy Testsoorten SoapUI Testuitvoering Validatie van testresultaten Drivers, stubs en mocks Samenvatting 21 Testen van een (web)service Testen van services Blackbox testen via de service interface Gewone testtechnieken kunnen worden toegepast Fysieke testgevallen met XML data Meestal gecombineerd met een protocol zoals SOAP 22 11

CASUS introductie Testen van services Voor de casus gaan we een webservice testen Wikipedia: Een webservice kan omschreven worden als een interface van een applicatiecomponent die toegankelijk is via standaard webprotocollen waarbij wordt gecommuniceerd via XML zonder menselijke tussenkomst (bijvoorbeeld SOAP) 23 Testen van services deel 1 Lees het FO Maak logische testgevallen Aanpak suggestie: FO omzetten in pseudo code EVT toepassen Uitbreiden met grenswaarden 24 12

Agenda Introductie Basisbegrippen Testen van services Testdata en XMLSpy Testsoorten SoapUI Testuitvoering Validatie van testresultaten Drivers, stubs en mocks Samenvatting 25 Testbasis Testdata en XMLSpy Functioneel Ontwerp zoals bij alle projecten Interface Agreement Hierin staan de afspraken over de berichtstructuur <Zoekopdracht xmlns= http://www.polteq.com/adresservice.asmx > <postcode>string</postcode> <huisnummer>int</huisnummer> </Zoekopdracht> 26 13

Genereren van testdata Testdata en XMLSpy Tools kunnen goed helpen bij het opstellen van testdata Structuur van berichten kan al gegenereerd worden SoapUI LISA SOATest XMLSpy Vervolgens zelf testgevalspecifieke data invullen XMLSpy kan ook al waardes invullen 27 Berichttypes Testdata en XMLSpy Uit de WSDL is af te lezen hoe de service communiceert One-way porttype bevat alleen input Service ontvangt berichten via deze operatie Request-response porttype heeft input gevolgd door output Service ontvangt een bericht en stuurt een antwoord via deze operatie Solicit-response porttype heeft output gevolgd door input Service stuurt een bericht en verwacht een antwoord via deze operatie Notification porttype bevat alleen output Service stuurt een bericht via deze operatie 28 14

Herbruikbaarheid van testdata Testdata en XMLSpy Berichten zijn vaak complex Voeg commentaar toe in de berichten Laat voorbeeldwaardes in FO of IA opnemen <!-- Testomgeving staat op test.polteq.com; acceptatie op www.polteq.com --> <soap:body xmlns:m= http://www.polteq.com/adresservice > <m:geefadres> <m:zoekopdracht> <!-- Postcode bestaat uit 4 cijfers gevolgd door een optionele spatie en dan 2 letters --> <m:postcode>3821 AD</m:postcode> Sla voorbeelden van berichten op! 29 XMLSpy Testdata en XMLSpy Wat kan ik met XMLSpy? Aan de slag met XMLSpy Automatisch voorbeeld genereren Eigen testdata valideren tegen XSD 30 15

Wat kan ik met XMLSpy? Testdata en XMLSpy Veel gebruikte XML editor met ondersteuning voor XML, DTD, XML Schema, XSLT, Xpath, Xquery Ook SOAP, WSDL 1.1 / 2.0, Office Open XML (OOXML), XBRL Features zijn: Sterke XML validatie, auto-aanvulling, invoer hulp, syntax kleuring, wizards, debuggers En meer ondersteuning om een goed opgebouwd en valide XML bericht te creëren 31 XMLSpy, tekstweergave Testdata en XMLSpy KB1 32 16

Dia 32 KB1 waar zitten voorbeelden van verplicht niet verplicht... Kees; 5-11-2010

XMLSpy, grafische weergave Testdata en XMLSpy 33 Automatisch voorbeeld genereren Testdata en XMLSpy 34 17

Testdata valideren tegen XSD Testdata en XMLSpy 35 Testdata valideren tegen XSD Testdata en XMLSpy 36 18

Testdata valideren tegen XSD Testdata en XMLSpy 37 Testdata valideren tegen XSD Testdata en XMLSpy 38 19

Testdata valideren tegen XSD Testdata en XMLSpy 39 Testen van services deel 2 Zelf XML berichten maken Berichten valideren Berichten genereren 40 20

Agenda Introductie Basisbegrippen Testen van services Testdata en XMLSpy Testsoorten SoapUI Testuitvoering Validatie van testresultaten Drivers, stubs en mocks Samenvatting 41 Testsoorten in SOA omgeving Testsoorten Component test, unit test Testen door de programmeur Service test Serviceintegratietest Koppelingen tussen services Applicatietest Alle services werken samen Wordt het proces correct ondersteund Past de applicatie in de keten Ketentest Inbedding in technische en bedrijfsketen 42 21

Testen van service en service interfaces Testsoorten Black box test van de service via de service interface Bevat de interface de methoden die gevraagd worden Is de structuur van de berichten correct Invoer Uitvoer Is de betekenis van de responses correct Als dat zo is dan werkt de service functioneel Systeemtest Acceptatietest van (web)services 43 Agenda Introductie Basisbegrippen Testen van services Testdata en XMLSpy Testsoorten SoapUI Testuitvoering Validatie van testresultaten Drivers, stubs en mocks Samenvatting 44 22

Introductie SoapUI SoapUI Tool voor (voornamelijk) functioneel testen van (Web)Services (SOAP, RESTfull, HTTP, JMS) Open source Gratis versie (gebruikt in de cursus) Betaalde versie met extra s Genereren stubs / mocks Mogelijkheden om uit de WSDL berichten te genereren Berichten via SOAP aanbieden aan de service Maken testsuites 45 Introductie SoapUI SoapUI 46 23

Agenda Introductie Basisbegrippen Testen van services Testdata en XMLSpy Testsoorten SoapUI Testuitvoering Validatie van testresultaten Drivers, stubs en mocks Samenvatting 47 WSDL Compliancy Test uitvoering Inladen van de WSDL Vanuit de WSDL worden de requests gegenereerd Als de requests gestuurd kunnen worden, dan voldoet de service in ieder geval aan de naamgeving van de methoden en de invoerberichten Response kan met SoapUI gevalideerd worden tegen de WSDL 48 24

Invoer voor testgevallen klaarzetten Testuitvoering met SoapUI Eerder gemaakte invoer voor fysieke testgevallen kan in de body van het SOAP request gezet worden Vervang wat SoapUI genereert <soap:envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body xmlns:m="http://www.polteq.com/adresservice"> <geefadres xmlns="http://www.polteq.com/adresservice.asmx"> <Zoekopdracht> <postcode>3821 AD</postcode> <huisnummer>52</huisnummer> </Zoekopdracht> </geefadres> </soap:body> </soap:envelope> 49 Testuitvoering met SoapUI Testuitvoering met SoapUI Inschieten van de request Als er een response is, is er een technische OK Verwachte uitvoer vergelijken met de response 50 25

Testen van services deel 3 Maak project aan in SoapUI Intake op het testobject Nieuwe testsuite maken Testgevallen (test cases) toevoegen 51 Agenda Introductie Basisbegrippen Testen van services Testdata en XMLSpy Testsoorten SoapUI Testuitvoering Validatie van testresultaten Drivers, stubs en mocks Samenvatting 52 26

Functionele validatie Validatie van testresultaten SoapUI Krijg je de verwachte uitvoer Handmatie validatie Automatische validatie SoapUI en validaties Standaardmogelijkheden Eigen validaties 53 Automatische validatie Validatie van testresultaten SoapUI Testgeval 1 Stuur een request naar de adresservice met de vraag of een postcode geldig is Geef als postcode 3821 AD op Verwacht resultaat: Een response met Geldige postcode Leg een lijst met geldige postcodes aan Laat de tool valideren of de response Geldige postcode bevat, wanneer een postcode uit de lijst in de request staat 54 27

Validaties met SoapUI Validatie van testresultaten SoapUI Validaties worden assertions genoemd SoapUI biedt een aantal standaard validaties: Is het een geldige SOAP Response Is de response wel/geen SOAP Fault Is de responsetijd korter dan gegeven aantal ms Voldoet de response aan zijn XSD of WSDL Bevat de response wel/niet bepaalde tekst 55 Eigen validaties Validatie van testresultaten SoapUI Het aantal teruggegeven boeken moet kleiner of gelijk zijn aan 5 declare namespace ns1='http://services.polteq.com/bibliotheek.asmx/'; count(//ns1:boek) <= 5 Wanneer gezocht wordt op een titel, dan moet de tekst uit de zoekterm ook echt in de titel(s) voorkomen declare namespace ns1='http://services.polteq.com/bibliotheek.asmx/'; count(//ns1:titel[contains(lower-case(.), cursus )]) = count(//ns1:boek) Voor beide als result true invullen 56 28

Testen van services deel 4 Assertions toevoegen aan testgevallen in SoapUI Stappen in testcases koppelen 57 Agenda Introductie Basisbegrippen Testen van services Testdata en XMLSpy Testsoorten SoapUI Testuitvoering Validatie van testresultaten Drivers, stubs en mocks Samenvatting 58 29

Drivers, stubs en mocks Drivers, stubs en mocks Aspecten van stubs, drivers en mocks Hoe maak je een stub / mock Zelf maken en draaien 59 Drivers, stubs en mocks Drivers, stubs en mocks Drivers: stukken software die de tester in staat stellen data naar het testobject te sturen Stubs: stukken software die nodig zijn om nog niet bestaande stukken software te vervangen, zodat het testobject kan werken Mocks: stukken software vergelijkbaar met stubs, mocks leveren echter ook inzicht in hoe het testobject ze aanspreekt 60 30

Driver Drivers, stubs en mocks Een driver zorgt ervoor dat er functionaliteit in het testobject kan worden aangeroepen Services worden vanuit applicaties aangeroepen Wanneer een applicatie nog niet af is, kan SoapUI worden gebruikt als driver Tester controleert na starten driver de uitvoer van het testobject Driver Testobject 61 Stub Drivers, stubs en mocks Stubs worden gebruikt om nog niet bestaande stukken software, die door het testobject moeten worden aangeroepen, te vervangen In het adresservicevoorbeeld kan, wanneer de achterliggende database met gegevens er nog niet is, een stub gebruikt worden Tester controleert na invoer, de uitvoer van het testobject Testobject Stub 62 31

Mock Drivers, stubs en mocks SoapUI biedt de mogelijkheid om mockservices te genereren De mock kan gebruikt worden wanneer de service er nog niet is / niet af is Zelf in te stellen welke response teruggestuurd moet worden Tester controleert na invoer de uitvoer van het testobject, maar ook hoe de mock is aangesproken Testobject Mock 63 Mockservice met SoapUI Drivers, stubs en mocks SoapUI biedt de mogelijkheid om mockservices te genereren Voor elke methode in de wsdl wordt een methode in de mockservice gerealiseerd In plaats van aanpassen request, kan hier de response aangepast worden Verschillende opties voor response: Altijd dezelfde Doorwisselende lijst Random keuze uit lijst Script 64 32

AdresService Mock Drivers, stubs en mocks Responses instelbaar (bv de verschillende adressen van Polteq-vestigingen) Printerweg, Amersfoort Leonard Springerlaan, Groningen Singel, Dordrecht Daalwijkdreef, Amsterdam Sequence zal ze een voor een in volgorde teruggeven Met script valt te programmeren welke response wanneer gegeven moet worden 65 Testen van services deel 5 Mock genereren Mock aanpassen Mock aanspreken vanuit SoapUI 66 33

Agenda Introductie Basisbegrippen Testen van services Testdata en XMLSpy Testsoorten SoapUI Testuitvoering Validatie van testresultaten Drivers, stubs en mocks Samenvatting 67 Samenvatting, do's en don'ts Samenvatting Service oriëntatie is een software architectuurmodel Geen UI Communicatie met een service gaat met berichten Belang van datacontracten en configuratiebeheer Kennis van XML, XSD, WSDL, SOAP nodig Webservices, de bibliotheek casus Functionele testgevallen maken met bestaande technieken Belang van niet-functionele aspecten Testen van performance en schaalbaarheid (bijna altijd nodig) SLA s nodig met leveranciers van (web)services Constante regressietest nodig om continuïteit te testen Beveiligingsaspecten van internet 68 34

Samenvatting, do's en don'ts Samenvatting Testdata maken met tools, zoals XMLSpy Je moet kunnen lezen en schrijven met XML Testdata maken zonder tool feitelijk niet te doen Zelfde geldt voor analyseren van XML-output Validatie op XSD/WSDL nodig Testen van services Eerst testen van de structuur van de berichten Dan functioneel, black box, de service testen Services integreren (ketentestaspecten) Ketentesten met aanpalende software Testen van services doe je met tools, zoals SoapUI Zonder tools nauwelijks te doen Kies je tool zorgvuldig 69 Samenvatting, do's en don'ts Samenvatting Aspecten van testomgevingen Vasthouden aan OTAP uitgangspunten Goede logging en analysemogelijkheden nodig Versiebeheer services, middleware, XSD s, WSDL s Valideren van testresultaten Liefst door het tool Toepassing van stubs en mocks De testtool is de driver Testen van een service kan (haast) niet zonder stubs en mocks Testen in SOA omgevingen is aantrekkelijk en veelzijdig! 70 35

Samenvatting, do's en don'ts Samenvatting Do Commentaar in berichten zetten Voorbeelden van geldige berichten opslaan Scheiden van testgevallen voor structuur en inhoud Don t Alles op één omgeving doen Aannemen dat berichten in nieuwe versies ook werken Oude technieken vergeten Tools inzetten 71 Bedankt voor jullie aandacht! www.polteq.com 36