soa testing tutorial
Zelfstudie over SOA-testen:
In dit artikel gaan we de testtechnieken voor een SOA-architectuur bespreken.
De huidige software is zo veelzijdig en kan af en toe omgaan met veranderende gebruikersverwachtingen, een op zichzelf staand model is niet nuttig.
Daar past SOA precies in als de oplossing.
Dat is de reden waarom veel bedrijven de SOA-benadering aanpassen of proberen aan te passen vanwege de voordelen zoals; Kostenbesparing, zakelijke flexibiliteit, eenvoudig onderhoud enz. Met de opkomende markt vol met SOA-architectuur, wordt het voor de moderne testers noodzakelijk om een goed beeld te krijgen van de SOA-testen.
website die youtube-video's naar mp3 converteert
In dit artikel behandelen we de basisprincipes van SOA met voorbeelden ervan.
Dit zou de lezers een basisidee geven over SOA. Dat zou worden gevolgd door de implementatie van webservices. Ten slotte gaan we in op het testproces dat kan worden gevolgd voor een SOA-architectuurmodel.
Wat je leert:
- Wat is SOA?
- Voorbeelden van SOA
- Webservices
- SOA-testproces
- Uitdagingen bij SOA-testen
- SOA-testtools
- Aanbevolen literatuur
Wat is SOA?
SOA of Sevice-Oriented-Architecture is een flexibele / agile / efficiënte methode om verschillende applicaties / services te integreren om aan bepaalde zakelijke behoeften te voldoen.
- In tegenstelling tot andere gecompliceerde systemen, bestaat SOA uit kleinere componenten / services / microdiensten die met elkaar zijn verbonden om aan de zakelijke behoeften te voldoen.
- De services zijn de eenheden die het systeem compleet maken en wanneer er behoefte is aan een verandering, in plaats van het hele systeem te veranderen, wordt de specifieke service aangepast.
- Een service is een component die een taak kan uitvoeren.
- Deze architectuur is beter verkoopbaar dan het bestaande systeem, aangezien de eindgebruiker alleen de benodigde services krijgt om aan zijn behoeften te voldoen. Hij hoeft niet het hele systeem te begrijpen.
- De services / microservices zijn losjes gekoppeld, herbruikbaar, staatloos waardoor het systeem nog robuuster wordt.
- Dit model is zeer kostenefficiënt in termen van implementatie, ontwikkeling en onderhoud.
Voorbeelden van SOA
Zakkelijke behoefte: Een applicatie waarop een gebruiker kan inloggen en naar restaurants kan zoeken op basis van geolocatie, de restaurantgegevens en het menu van de server kan downloaden zodra de zoekopdracht is voltooid en ten slotte een betaling kan worden gedaan voor het plaatsen van de bestelling.
Deze zakelijke behoefte kan worden vervuld door de implementatie van SOA.
Er kunnen als volgt services / microservices zijn om verschillende taken uit te voeren:
- Tijdens het inloggen is de service die zou worden gebruikt ‘Authenticatieservice’
- Het zoeken naar restaurants zou worden gedaan door ‘Geo-locator-service’
- Het downloadmenu moet worden gedaan door de ‘Menu Downloader-service’
- Ten slotte zou de betaling worden gedaan via ‘Betalingsservice’
Elk van de bovengenoemde services doet iets unieks om het systeem te laten werken en te leveren wat het moet doen. Als een klant nu alleen het restaurant en het menu hoeft te zien, maar geen Payment Gateway-interface nodig heeft, koopt / implementeert hij alleen de eerste drie services.
Dit maakt de klus eenvoudig voor ontwikkeling, implementatie, verkoop, onderhoud en tenslotte de klant / eindgebruiker.
Webservices
- Dit zijn API's [Application Programming Interfaces] die de interactie tussen verschillende softwareprogramma's vergemakkelijken.
- Er is een serviceprovider die de service op internet host. Als onderdeel van de hosting wordt een WSDL gehost door de provider.
- Wanneer de klant een verzoekbericht naar de serviceprovider stuurt, wordt de communicatie tot stand gebracht met behulp van de URL / WSDL.
- In het onderstaande voorbeeld host de geolocatieserver een webservice die wordt gebruikt door de serviceaanvrager.
Afbeeldingsbronnen hier en hier
SOA-testproces
Elk product, model, infrastructuur moet de testfase ondergaan om de eindgebruiker tevreden te stellen in termen van een kwalitatief goed product. SOA-testen zijn niet alleen beperkt tot het testen van een laag / webserviceprotocoltesten. Dit is het algemene testen van de architectuur en elk klein onderdeel ervan.
De testaanpak kan vergelijkbaar zijn met die van het normale testproces. d.w.z.
- Evaluatieproces van vereisten
- Testplanning
- Test ontwerp
- Omgeving instellen
- Uitvoeringsfase
- Rapporteringsfase
SOA Testproces draait om 3 lagen in de architectuur:
- Service consumenten
- Proceslagen
- Servicelagen
Als we met hetzelfde voorbeeld hierboven gaan, kunnen we onze lagen als volgt hebben:
- De laag van de serviceconsument helpt bij de interactie met de consument. Dit helpt bij het lezen van de invoer van de eindgebruiker en het retourneren van het juiste antwoord voor het ontvangen verzoek. Met andere woorden, dit heeft in feite de UI-interface.
- Dit is de laag die zich richt op het implementatiefront. Deze laag in ons voorbeeld heeft authenticatiemethoden, het aanmaken van een gebruiker enz.
- Servicelagen zijn de bedrijfsfuncties in termen van services. Alle services die daadwerkelijk worden aangeroepen wanneer een specifieke taak wordt uitgevoerd, bevinden zich in deze laag.
Het testen kan in principe worden onderverdeeld in 4 verschillende fasen;
Niveau # 1
1) Testen op serviceniveau:
- Elke dienst die bij het systeem betrokken is, wordt afzonderlijk getest op basis van een Request and Response-methode.
- Deze test is verplicht en erg belangrijk om door te gaan met andere testprocessen.
2) Functioneel testen:
- De test wordt uitgevoerd voor services op hun zakelijke behoeften om te achterhalen of het ontvangen antwoord correct is.
- De businessbehoeften worden eerst omgezet in de testcases en de aanvraagverklaringen worden gevormd.
- Vervolgens worden de verzoekinstructies verwerkt om te zien of de verkregen antwoorden correct zijn.
- In het geval van ongeldige invoergegevens, moet de juiste foutcode worden gegenereerd of moet de juiste foutmelding worden geactiveerd.
- De formaten van de respons, evenals de negatieve scenario's, moeten worden uitgevoerd.
3) Beveiligingstests:
- Wanneer het om een webservice gaat, spelen beveiligingstests een sleutelrol in het succes van het testproces.
- Authenticatiegateways, betalingsgateways enz. Moeten worden gecodeerd wanneer de gegevens worden geparseerd.
- Als het gaat om XML, moeten kwetsbaarheden zoals CSRF, SQL-injectie worden geverifieerd.
4) Prestatietesten:
- Services die in de architectuur worden gebruikt, worden gehost, zodat veel andere applicaties er gebruik van kunnen maken. Prestatietests zorgen voor de geloofwaardigheid van die services.
- Het testen van de services moet worden gedaan om de volgende reeksen resultaten te achterhalen;
- Om de stabiliteit van de services te bepalen.
- Om de schaalbaarheid van de services te valideren.
- Servicegedrag onder piekbelasting
- Om de responstijden tussen services te vinden
Niveau # 2
1) Proces testen:
- Dit proces omvat het testen van verschillende bedrijfsprocessen.
- Dit moet bestaan uit de integratiescenario's van de webservices en de applicatie die de zakelijke vereisten dekken
- Er moet gebruik worden gemaakt van simulatoren om voorbeeldinvoergegevens te genereren en validatie moet worden gedaan voor de respectieve outputs.
- Gegevensstroom uit verschillende lagen moet worden uitgevoerd om een soepele werking van het systeem te bewijzen wanneer het is geïntegreerd.
Niveau 3
1) Einde om testen te beëindigen:
wat is de beste app om youtube-video's te downloaden
- Deze fase is bedoeld om de zakelijke vereisten zowel functioneel als niet-functioneel te valideren.
- UI van de applicatie is gevalideerd.
- Het betrokken bedrijfsproces wordt getest.
- In deze fase wordt de end-to-end datastroom gevalideerd.
- Het werken met alle services wanneer de services met elkaar zijn geïntegreerd, wordt gevalideerd.
Niveau 4
1) Regressietesten:
- De stabiliteit van het systeem in incrementele build-releases wordt gevalideerd door deze tests.
- Dit kan worden bereikt door handmatige tests / automatiseringstests.
Uitdagingen bij SOA-testen
Iemand zei terecht: 'Groter de maas; Groter is de puinhoop! ”. SOA kan een heel complex kind worden dat op zoek is naar aandacht.
Met andere woorden, met zo veel minuscule onderdelen die de SOA-architectuur vormen, wordt het een heel zware klus om deze in Testing te certificeren.
- Moeilijk om de testomgevingen te simuleren om het testproces voort te zetten.
- De producten die bij het model zijn betrokken, kunnen van dezelfde technologie / leverancier zijn. Maar ze kunnen ook verschillen. Meer problemen?
- Testcombinaties schieten omhoog met het aantal betrokken services / componenten.
- Complexiteit in het model
- Probleem met reproductie / testen is een zware klus.
- In tegenstelling tot andere modellen, zou de primaire focus van testen moeten liggen op de business scope in plaats van op de service en de functie ervan.
SOA-testtools
Er zijn tal van toepassingen voor SOA-testen. SOA-testtools worden geselecteerd op basis van hun nauwkeurige resultaten en betere productiviteit.
- SoapUI: Dit is een gratis tool voor het testen van webservices. SoapUI is in staat om functionele tests, prestatietests en belastingtests uit te voeren
- Apache Jmeter: Dit is ook een OPEN SOURCE-hulpprogramma dat wordt gebruikt voor het analyseren van de prestaties van SOAP-aanroep.
- JProfiler: Dit wordt gebruikt om het geheugenlek te stoppen of te detecteren, knelpunten in de prestaties te vinden enz.
- HP Servicetest: Dit is geïntegreerd in HP QC. Dit is een functionele testtool, die ook UI en shared service-testen ondersteunt
Door dit artikel hebben we de bijzonderheid van het model begrepen. Dit verschilt heel erg van het legacy-model en het artikel geeft er een goed idee van. Dit artikel werpt ook enig licht op de SOA-procedure en manieren om door te gaan met het testen.
Over de auteur: Dit is een gastpost van Subhasis. Hij werkt als teamleider met meer dan 8 jaar bedrijfservaring bij Fortune 500 IT-bedrijven.
Plaats uw vragen / opmerkingen over SOA-testen hieronder.
Al het beste!
Aanbevolen literatuur
- Beste softwaretesttools 2021 [QA Test Automation Tools]
- Primer eBook downloaden testen
- Tutorial over destructief testen en niet-destructief testen
- Functioneel testen versus niet-functioneel testen
- Diepgaande Eclipse-zelfstudies voor beginners
- Top 15 SOA-testtools voor testers
- Zelfstudie over paarsgewijs testen of testen in alle paren met tools en voorbeelden
- Tutorial WAVE Accessibility Testing Tool