soa testing tutorial
SOA-testvejledning:
I denne artikel skal vi diskutere testteknikkerne til en SOA-arkitektur.
Den aktuelle dags software er så alsidig og tilbøjelig til at håndtere skiftende brugerforventninger nu og da, en enkeltstående model er ikke nyttig.
Der er hvor SOA passer lige ind som løsningen.
Det er grunden til, at mange virksomheder tilpasser sig eller prøver at tilpasse SOA-tilgangen på grund af dens fordele såsom; Omkostningsreduktion, forretningsfleksibilitet, nem vedligeholdelse osv. Med det kommende marked fuld af SOA-arkitektur bliver det nødvendigt for moderne testere at få en god idé om SOA-testen.
hvordan man åbner .bin filer windows 10
I denne artikel vil vi dække det grundlæggende i SOA med eksempler på det.
Dette ville give læserne en grundlæggende idé om SOA. Dette ville blive fulgt af implementeringen af webservices. Endelig vil vi komme ind i testprocessen, som kan følges for en SOA-arkitekturmodel.
Hvad du vil lære:
- Hvad er SOA?
- Eksempler på SOA
- Webtjenester
- SOA-testproces
- Udfordringer i SOA-test
- SOA testværktøjer
- Anbefalet læsning
Hvad er SOA?
SOA eller Sevice-Oriented-Architecture er en fleksibel / smidig / effektiv metode til at integrere forskellige applikationer / tjenester for at opnå bestemte forretningsbehov.
- I modsætning til andre komplicerede systemer består SOA af mindre komponenter / tjenester / mikrotjenester bundet sammen for at imødekomme forretningsbehovene.
- Tjenesterne er de enheder, der gør systemet hel, og når der er behov for en ændring, snarere end at ændre hele systemet, ændres den specifikke tjeneste.
- En tjeneste er en komponent, der er i stand til at udføre en opgave.
- Denne arkitektur kan sælges mere end det ældre system, da slutbrugeren kun får de nødvendige tjenester til at imødekomme hans behov. Han behøver ikke at hente hele systemet.
- Tjenesterne / mikrotjenesterne er løst koblede, Genanvendelige, Statsløse, hvilket gør systemet endnu mere robust.
- Denne model er meget omkostningseffektiv med hensyn til implementering, udvikling og vedligeholdelse.
Eksempler på SOA
Forretningsbehov: En applikation, som en bruger kan logge på og søge på restauranter baseret på geografisk placering, downloade restaurantoplysninger og menu fra serveren, når søgningen er afsluttet, og til sidst kan der foretages en betaling for at placere ordren.
Dette forretningsbehov kan opnås ved implementering af SOA.
Der kan være tjenester / mikrotjenester som følger for at udføre forskellige opgaver:
- Under login er den service, der vil blive brugt, 'Autentificeringstjeneste'
- Søgning efter restauranter vil ske ved hjælp af 'Geo-locator service'
- Download-menuen skal udføres af 'Menu Downloader-tjenesten'
- Endelig vil betalingen ske med 'betalingstjeneste'
Hver af de ovennævnte tjenester gør noget unikt for at få systemet til at fungere og levere det, det skal. Hvis en kunde nu kun skal se restauranten og dens menu, men ikke har brug for en Payment Gateway-grænseflade, ville han kun købe / implementere de tre første tjenester.
Dette gør jobbet enkelt til udvikling, implementering, salg, vedligeholdelse og trods alt kunden / slutbrugeren.
Webtjenester
- Disse er API'er (Application programming Interfaces), som letter interaktionen mellem forskellige softwareprogrammer.
- Der er en tjenesteudbyder, som er vært for tjenesten på Internettet. Som en del af hosting hostes en WSDL af udbyderen.
- Når klienten sender en anmodningsmeddelelse til tjenesteudbyderen, oprettes kommunikationen ved hjælp af URL / WSDL.
- I nedenstående eksempel er Geolocation-serveren vært for en webservice, der bruges af serviceanmoderen.
SOA-testproces
Hvert produkt, hver model, infrastruktur skal gå under testfasen for at tilfredsstille slutbrugeren med hensyn til et produkt af god kvalitet. SOA-test er ikke kun begrænset til et lags test- / webserviceprotokol-test. Dette er den samlede test af arkitekturen og hvert minuts del af den.
Testmetoden kan svare til den normale testproces. dvs.
- Process for gennemgang af krav
- Testplanlægning
- Test design
- Opsætning af miljø
- Udførelsesfase
- Rapporteringsfase
SOA-testprocessen drejer sig om 3 lag i arkitekturen:
- Serviceforbrugere
- Proceslag
- Servicelag
Går vi med det samme eksempel ovenfor, kan vi have vores lag som følger:
- Serviceforbrugerens lag hjælper med forbrugerinteraktion. Dette hjælper med at læse input fra slutbrugeren og returnere det passende svar til den modtagne anmodning. Med andre ord har dette dybest set brugergrænsefladen.
- Dette er laget, der fokuserer på implementeringsfronten. Dette lag i vores eksempel vil have metoder til godkendelse, oprettelse af en bruger osv.
- Servicelag er forretningsfunktionerne med hensyn til tjenester. Alle de tjenester, der faktisk kaldes, når en bestemt opgave udføres, er i dette lag.
Testen kan grundlæggende opdeles i 4 forskellige faser;
Niveau # 1
1) Test af serviceniveau:
- Hver tjeneste involveret i systemet testes individuelt baseret på en anmodnings- og svarmetode.
- Denne test er obligatorisk og meget vigtig for at fortsætte med andre testprocesser.
2) Funktionstest:
- Testen udføres for tjenester på deres forretningsbehov for at finde ud af, om det modtagne svar er korrekt.
- Forretningsbehovet konverteres først til testsagerne, og anmodningserklæringerne dannes.
- Derefter behandles anmodningserklæringerne for at se, om de opnåede svar er korrekte.
- I tilfælde af ugyldige inputdata skal den korrekte fejlkode kastes, eller den korrekte fejlmeddelelse skal udløses.
- Svarformaterne såvel som de negative scenarier skal udføres.
3) Sikkerhedstest:
- Når det kommer til en webservice, spiller sikkerhedstest en nøglerolle i testprocessens succes.
- Autentificeringsgateways, betalingsgateways osv. Skal krypteres, når dataene parses.
- Når det kommer til XML, skal sårbarheder såsom CSRF, SQL-injektion verificeres.
4) Ydelsestest:
- Tjenester, der bruges i arkitekturen, er hostet, så mange andre applikationer kan gøre brug af den. Ydelsestest sikrer troværdigheden af disse tjenester.
- Testningen af tjenesterne skal udføres for at finde ud af følgende sæt resultater;
- At bestemme stabiliteten af tjenesterne.
- At validere skalerbarheden af tjenesterne.
- Serviceadfærd under maksimale belastningsforhold
- At finde svartider på tværs af tjenester
Niveau # 2
1) Procesprøvning:
- Denne proces involverer testning af forskellige forretningsprocesser.
- Dette skal omfatte integrationsscenarierne for webservices og applikationer, der dækker forretningskravene
- Brug af simulatorer skal ske for at generere stikprøveindgangsdata, og validering skal foretages for de respektive output.
- Datastrøm fra forskellige lag skal udføres for at bevise, at systemet fungerer korrekt, når det er integreret.
Niveau # 3
1) Test til ende til slut:
hvad er den bedste dikteringssoftware
- Denne fase er beregnet til at validere forretningskravene både funktionelt og ikke-funktionelt.
- UI af applikationen er valideret.
- Den involverede forretningsproces testes.
- End-to-end-datastrømmen valideres i denne fase.
- Arbejde med alle tjenester, når tjenesterne er integreret med hinanden, valideres.
Niveau # 4
1) Regressionstest:
- Systemets stabilitet i trinvise buildudgivelser valideres ved denne test.
- Dette kan opnås enten ved manuel test / automatiseringstest.
Udfordringer i SOA-test
Nogen sagde med rette, ”Større maske; Større er rodet! ”. SOA kan blive et virkelig komplekst barn, der er sulten efter opmærksomhed.
Med andre ord, med så mange minutdele, der udgør SOA-arkitekturen, bliver det et rigtig hårdt job at certificere det i Testing.
- Svært at simulere testmiljøerne for at videreføre testprocessen.
- De produkter, der er involveret i modellen, kan være af samme teknologi / leverandør. Men de kan også være forskellige. Flere problemer?
- Testkombinationer skyder OP med antallet af involverede tjenester / komponenter.
- Kompleksitet i modellen
- Reproduktion / testning af emner er et hårdt job.
- I modsætning til andre modeller skal testens primære fokus være på forretningsomfanget i stedet for tjenesten og dens funktion.
SOA testværktøjer
Der er mange applikationer til SOA-test. SOA-testværktøjer vælges ud fra deres nøjagtige resultater og bedre produktivitet.
- SoapUI: Dette er et gratis værktøj rettet mod test af webservices. SoapUI er i stand til at udføre funktionstest, præstationstest og belastningstest
- Apache Jmeter: Dette er også et OPEN SOURCE-værktøj, der bruges til at analysere udførelsen af SOAP-påkaldelse.
- JProfiler: Dette bruges til at stoppe eller opdage hukommelseslækage, finde flaskehalse i ydeevne osv.
- HP servicetest: Dette er integreret i HP QC. Dette er et funktionelt testværktøj, som også understøtter UI og test af delt service
Gennem denne artikel har vi forstået modelens enestående. Dette adskiller sig meget fra den ældre model, og artiklen giver en god idé om det. Denne artikel kaster også lidt lys over SOA-proceduren og måder at fortsætte med testen.
Om forfatteren: Dette er et gæstepost fra Subhasis. Han arbejder som teamleder med over 8 års virksomhedserfaring med at arbejde for Fortune 500 IT-virksomheder.
Send dine SOA-testrelaterede forespørgsler / kommentarer nedenfor.
Alt det bedste!
Anbefalet læsning
- Bedste softwaretestværktøjer 2021 (QA Test Automation Tools)
- Test af Primer eBook Download
- Destruktiv test og ikke-destruktiv testvejledning
- Funktionel testning mod ikke-funktionel testning
- Dybdegående formørkelsesvejledninger til begyndere
- Top 15 SOA-testværktøjer til testere
- Parvis test eller vejledning til test af alle par med værktøjer og eksempler
- Vejledning til WAVE-tilgængelighedstestværktøj