soa testing tutorial
SOA Testing Tutorial:
I denne artikkelen skal vi diskutere testteknikkene for en SOA-arkitektur.
Dagens programvare er så allsidig og utsatt for å håndtere endrede brukerforventninger nå og da, en frittstående modell er ikke nyttig.
Det er der SOA passer rett inn som løsningen.
Det er grunnen til at mange selskaper tilpasser eller prøver å tilpasse SOA-tilnærmingen på grunn av fordelene som; Kostnadskutt, forretningsfleksibilitet, enkelt vedlikehold osv. Med det kommende markedet fullt av SOA-arkitektur blir det nødvendig for moderne testere å få en rettferdig ide om SOA-testingen.
hvordan du åpner swf med Adobe Flash Player
I denne artikkelen vil vi dekke det grunnleggende om SOA med eksempler på det.
Dette vil gi leserne en grunnleggende ide om SOA. Dette vil bli fulgt av tilnærmingen til implementering av webtjenester. Til slutt vil vi komme inn i testprosessen som kan følges for en SOA-arkitekturmodell.
Hva du vil lære:
- Hva er SOA?
- Eksempler på SOA
- Nettjenester
- SOA-testprosess
- Utfordringer i SOA-testing
- SOA-testverktøy
- Anbefalt lesing
Hva er SOA?
SOA eller Sevice-Oriented-Architecture er en fleksibel / smidig / effektiv metode for å integrere ulike applikasjoner / tjenester for å oppnå visse forretningsbehov.
- I motsetning til andre kompliserte systemer, består SOA av mindre komponenter / tjenester / mikrotjenester bundet sammen for å møte forretningsbehovet.
- Tjenestene er enhetene som gjør systemet hele, og når det er behov for en endring, i stedet for å endre hele systemet, blir den spesifikke tjenesten endret.
- En tjeneste er en komponent som er i stand til å utføre en oppgave.
- Denne arkitekturen kan selges mer enn det eldre systemet, ettersom sluttbrukeren bare får de nødvendige tjenestene for å dekke hans behov. Han trenger ikke å få hele systemet.
- Tjenestene / mikrotjenestene er løst koblet, Gjenbrukbare, Statsløse som gjør systemet enda mer robust.
- Denne modellen er svært kostnadseffektiv når det gjelder distribusjon, utvikling og vedlikehold.
Eksempler på SOA
Forretningsbehov: Et program som en bruker kan logge på og søke etter restauranter basert på geografisk plassering, laste ned restaurantdetaljer og meny fra serveren når søket er fullført, og til slutt kan du betale for bestillingen.
Dette forretningsbehovet kan oppnås ved implementering av SOA.
Det kan være tjenester / mikrotjenester som følger for å utføre forskjellige oppgaver:
- Under pålogging er tjenesten som skal brukes 'Autentiseringstjeneste'
- Søking av restauranter vil bli gjort av ‘Geo-locator service’
- Nedlastingsmenyen skal gjøres av 'Menu Downloader-tjenesten'
- Til slutt vil betalingen skje med 'betalingstjeneste'
Hver av de ovennevnte tjenestene gjør noe unikt for å få systemet til å fungere og levere det det er ment å gjøre. Nå, hvis en kunde bare trenger å se restauranten og menyen men ikke trenger et Payment Gateway-grensesnitt, vil han bare kjøpe / distribuere de tre første tjenestene.
Dette gjør jobben enkel for utvikling, distribusjon, salg, vedlikehold og tross alt kunden / sluttbruker.
Nettjenester
- Dette er API-er [Application programmeringsgrensesnitt] som letter samspillet mellom forskjellige programmer.
- Det er en tjenesteleverandør som er vert for tjenesten på nettet. Som en del av hosting hostes en WSDL av leverandøren.
- Når klienten sender en forespørselsmelding til tjenesteleverandøren, opprettes kommunikasjonen ved bruk av URL / WSDL.
- I eksemplet nedenfor er Geolocation-serveren vert for en webtjeneste som brukes av tjenesteanmoderen.
SOA-testprosess
Hvert produkt, modell, infrastruktur må gå under testfasen for å tilfredsstille sluttbrukeren når det gjelder et produkt av god kvalitet. SOA-testing er ikke bare begrenset til testing av et lag / testing av webserviceprotokoller. Dette er den totale testingen av arkitekturen og hvert eneste minutt.
Testmetoden kan være lik den normale testprosessen. dvs.
- Kravsgjennomgangsprosess
- Testplanlegging
- Test design
- Miljøoppsett
- Utførelsesfase
- Rapporteringsfase
SOA-testprosessen dreier seg om tre lag i arkitekturen:
- Serviceforbrukere
- Behandle lag
- Servicelag
Med det samme eksemplet ovenfor kan vi ha lagene våre som følger:
- Tjenesteforbrukers lag hjelper til med forbrukerinteraksjon. Dette hjelper deg med å lese innspillene fra sluttbrukeren og returnere riktig svar for mottatt forespørsel. Med andre ord, dette har i utgangspunktet brukergrensesnittet.
- Dette er laget som fokuserer på implementeringsfronten. Dette laget i vårt eksempel vil ha metoder for autentisering, oppretting av en bruker etc.
- Tjenestelag er forretningsfunksjonene når det gjelder tjenester. Alle tjenestene som faktisk kalles når en bestemt oppgave utføres, er i dette laget.
Testingen kan i utgangspunktet deles inn i 4 forskjellige trinn;
Nivå 1
1) Testing av servicenivå:
- Hver tjeneste involvert i systemet testes individuelt basert på en forespørsels- og svarmetode.
- Denne testen er obligatorisk og veldig viktig for å fortsette med andre testprosesser.
2) Funksjonstesting:
- Testen blir utført for tjenester på deres forretningsbehov for å finne ut om svaret som mottas er riktig.
- Forretningsbehovet blir først konvertert til test tilfeller og forespørselserklæringer blir dannet.
- Deretter behandles forespørselsuttalelsene for å se om innhentede svar er riktige.
- I tilfelle ugyldige inndata, skal riktig feilkode kastes eller riktig feilmelding utløses.
- Formatene til responsen, så vel som de negative scenariene, må utføres.
3) Sikkerhetstesting:
- Når det gjelder en webtjeneste, spiller sikkerhetstesting en nøkkelrolle i testprosessens suksess.
- Autentiseringsportaler, Betalingsportaler osv. Skal krypteres når dataene blir analysert.
- Når det gjelder XML, bør sårbarheter som CSRF verifiseres.
4) Ytelsestesting:
- Tjenester som brukes i arkitekturen er vert for at mange andre applikasjoner kan benytte seg av den. Ytelsestesting sørger for troverdigheten til disse tjenestene.
- Testingen av tjenestene bør gjøres for å finne ut følgende sett med resultater;
- For å bestemme stabiliteten til tjenestene.
- For å validere skalerbarheten til tjenestene.
- Serviceatferd under toppbelastningsforhold
- For å finne svartider på tvers av tjenester
Nivå 2
1) Prosess testing:
- Denne prosessen innebærer testing av ulike forretningsprosesser.
- Dette bør omfatte integreringsscenarier for webtjenester og applikasjoner som dekker forretningskravene
- Bruk av simulatorer bør gjøres for å generere eksempler på inngangsdata, og validering bør gjøres for de respektive utgangene.
- Dataflyt fra forskjellige lag bør utføres for å bevise at systemet fungerer som det skal når det er integrert.
Nivå 3
1) Test til slutt til slutt:
hvordan du bruker svn i formørkelse
- Denne fasen er ment å validere forretningskravene både funksjonelt og ikke-funksjonelt.
- UI for applikasjonen er validert.
- Den involverte forretningsprosessen blir testet.
- End-to-end datastrømmen er validert i denne fasen.
- Arbeid med alle tjenester når tjenestene er integrert med hverandre er validert.
Nivå 4
1) Regresjonstesting:
- Systemets stabilitet i trinnvise utgivelser blir validert av denne testen.
- Dette kan oppnås enten ved manuell testing / automatiseringstesting.
Utfordringer i SOA-testing
Noen sa med rette: “Større maske; Større er rotet! ”. SOA kan bli et veldig komplekst barn som er sulten på oppmerksomhet.
Med andre ord, med så mange små deler som utgjør SOA-arkitekturen, blir det en virkelig tøff jobb å sertifisere den i Testing.
- Vanskelig å simulere testmiljøene for å videreføre testprosessen.
- Produktene som er involvert i modellen kan være av samme teknologi / leverandør. Men de kan også være forskjellige. Flere problemer?
- Testkombinasjoner skyter UP med antall involverte tjenester / komponenter.
- Kompleksitet i modellen
- Reproduksjon / testing av problemer er en tøff jobb.
- I motsetning til andre modeller, bør det primære fokuset for testing være på forretningsomfanget i stedet for tjenesten og dens funksjon.
SOA-testverktøy
Det er mange applikasjoner for SOA-testing. SOA-testverktøy velges basert på nøyaktige resultater og bedre produktivitet.
- SoapUI: Dette er et gratis verktøy rettet mot testing av nettjenester. SoapUI er i stand til å utføre funksjonstesting, ytelsestesting og belastningstesting
- Apache Jmeter: Dette er også et OPEN SOURCE-verktøy som brukes til å analysere ytelsen til SOAP-påkalling.
- JProfiler: Dette brukes til å stoppe eller oppdage minnelekkasjen, finne flaskehalser i ytelse etc.
- HP servicetest: Dette er integrert i HP QC. Dette er et funksjonelt testverktøy, som også støtter UI og delt tjenestetesting
Gjennom denne artikkelen har vi forstått singulariteten til modellen. Dette er veldig forskjellig fra den eldre modellen, og artikkelen gir en god ide om den. Denne artikkelen kaster også litt lys over SOA-prosedyren og måter å fortsette testingen på.
Om forfatteren: Dette er et gjestepost fra Subhasis. Han jobber som teamleder med over 8 års bedriftserfaring med å jobbe for Fortune 500 IT-selskaper.
Legg ut SOA-testrelaterte spørsmål / kommentarer nedenfor.
Beste ønsker!
Anbefalt lesing
- Beste verktøy for testing av programvare 2021 [QA Test Automation Tools]
- Testing Primer eBook Download
- Destruktiv testing og ikke-destruktiv testing
- Funksjonstesting mot ikke-funksjonell testing
- In-Depth Eclipse Tutorials For Beginners
- Topp 15 SOA-testverktøy for testere
- Pairwise Testing eller All-Pair Testing Tutorial med verktøy og eksempler
- Veiledning for WAVE tilgjengelighetstestverktøy