soa testing tutorial
SOA Testing Tutorial:
I den här artikeln ska vi diskutera testteknikerna för en SOA-arkitektur.
Dagens programvara är så mångsidig och benägen att hantera förändrade användarnas förväntningar då och då, en fristående modell är inte användbar.
Det är där SOA passar in rätt som lösningen.
Det är anledningen till att många företag anpassar eller försöker anpassa SOA-metoden på grund av dess fördelar, t.ex. Kostnadsbesparingar, smidighet i affärer, enkelt underhåll etc. Med den kommande marknaden full av SOA-arkitektur blir det nödvändigt för moderna testare att få en rättvis idé om SOA-testningen.
varför du väljer intervjufråga om programvarutestning
I den här artikeln kommer vi att behandla grunderna för SOA med exempel på det.
Detta skulle ge läsarna en grundläggande idé om SOA. Detta skulle följas av implementeringen av webbtjänsterna. Slutligen kommer vi in i testprocessen som kan följas för en SOA-arkitekturmodell.
Vad du kommer att lära dig:
- Vad är SOA?
- Exempel på SOA
- Webbservice
- SOA-testprocess
- Utmaningar i SOA-testning
- SOA-testverktyg
- Rekommenderad läsning
Vad är SOA?
SOA eller Sevice-Oriented-Architecture är en flexibel / smidig / effektiv metod för att integrera olika applikationer / tjänster för att uppnå vissa affärsbehov.
- Till skillnad från andra komplicerade system består SOA av mindre komponenter / tjänster / mikrotjänster bundna för att möta affärsbehovet.
- Tjänsterna är de enheter som gör systemet hela och när det finns behov av en förändring, snarare än att ändra hela systemet, ändras den specifika tjänsten.
- En tjänst är en komponent som kan utföra en uppgift.
- Denna arkitektur är mer säljbar än det äldre systemet eftersom slutanvändaren bara får de tjänster som behövs för att möta hans behov. Han behöver inte hämta hela systemet.
- Tjänsterna / mikrotjänsterna är löst kopplade, återanvändbara, statslösa vilket gör systemet ännu mer robust.
- Denna modell är mycket kostnadseffektiv när det gäller distribution, utveckling och underhåll.
Exempel på SOA
Affärsbehov: En applikation som en användare kan logga in och söka efter restauranger baserat på geolokalisering, ladda ner restauranginformation och meny från servern när sökningen är klar och slutligen kan en betalning göras för att göra beställningen.
Detta affärsbehov kan uppnås genom implementering av SOA.
Det kan finnas tjänster / mikrotjänster enligt följande för att utföra olika uppgifter:
- Under inloggningen är tjänsten som används 'Autentiseringstjänst'
- Sökning av restauranger skulle ske med 'Geo-locator service'
- Nedladdningsmenyn bör göras av 'Menu Downloader-tjänsten'
- Slutligen skulle betalning ske med 'betaltjänst'
Var och en av de ovan nämnda tjänsterna gör något unikt för att få systemet att fungera och leverera vad det ska göra. Om en kund nu bara behöver se restaurangen och dess meny men inte behöver ett Payment Gateway-gränssnitt, skulle han bara köpa / distribuera de tre första tjänsterna.
Detta gör jobbet enkelt för utveckling, distribution, försäljning, underhåll och trots allt kunden / slutanvändaren.
Webbservice
- Dessa är API: er (applikationsprogrammeringsgränssnitt) som underlättar interaktionen mellan olika program.
- Det finns en tjänsteleverantör som är värd för tjänsten på webben. Som en del av webbhotellet är en WSDL värd för leverantören.
- När klienten skickar ett förfrågningsmeddelande till tjänsteleverantören upprättas kommunikationen med hjälp av URL / WSDL.
- I nedanstående exempel är Geolocation-servern värd för en webbtjänst som används av tjänsteförfrågan.
SOA-testprocess
Varje produkt, modell, infrastruktur måste gå under testfasen för att tillfredsställa slutanvändaren när det gäller en produkt av god kvalitet. SOA-testning är inte bara begränsad till ett skikts testning / webbtjänstprotokolltestning. Detta är den övergripande testningen av arkitekturen och varje minuts del av den.
Testmetoden kan likna den normala testprocessen. dvs.
- Process för granskning av krav
- Testplanering
- Test design
- Miljöinställning
- Utförandefas
- Rapporteringsfas
SOA-testprocessen kretsar kring 3 lager i arkitekturen:
- Servicekonsumenter
- Processlager
- Servicelager
Med samma exempel ovan kan vi ha våra lager enligt följande:
- Servicekonsumentens lager hjälper till med konsumentinteraktion. Detta hjälper till att läsa ingången från slutanvändaren och returnera lämpligt svar för den mottagna begäran. Med andra ord har detta i princip UI-gränssnittet.
- Detta är skiktet som fokuserar på implementeringsfronten. Detta lager i vårt exempel kommer att ha metoder för autentisering, skapande av en användare etc.
- Servicelager är affärsfunktionerna när det gäller tjänster. Alla tjänster som de kallas när en specifik uppgift utförs finns i detta lager.
Testet kan i grunden delas in i fyra olika steg;
Nivå 1
1) Test av servicenivå:
- Varje tjänst som är involverad i systemet testas individuellt baserat på en begäran och svarmetod.
- Detta test är obligatoriskt och mycket viktigt för att fortsätta med andra testprocesser.
2) Funktionell testning:
- Testet utförs för tjänster på deras affärsbehov för att hitta om svaret som mottas är korrekt.
- Affärsbehovet omvandlas först till testfallet och förfrågningsuttalanden bildas.
- Därefter bearbetas begäranuttalanden för att se om de erhållna svaren är korrekta.
- I händelse av ogiltiga inmatningsdata ska korrekt felkod kastas eller korrekt felmeddelande utlösas.
- Formaten för svaret, liksom de negativa scenarierna, måste köras.
3) Säkerhetstestning:
- Närhelst det gäller en webbtjänst spelar säkerhetstester en nyckelroll för testprocessens framgång.
- Autentiseringsgateways, Payment gateways etc. bör krypteras när data analyseras.
- När det gäller XML bör sårbarheter som CSRF verifieras.
4) Prestandatestning:
- Tjänster som används i arkitekturen är värd så att många andra applikationer kan använda den. Prestandatestning säkerställer trovärdigheten hos dessa tjänster.
- Testningen av tjänsterna bör göras för att ta reda på följande uppsättningar resultat;
- För att bestämma stabiliteten i tjänsterna.
- För att validera tjänsternas skalbarhet.
- Servicebeteende under toppbelastningsförhållanden
- För att hitta svarstider mellan tjänster
Nivå 2
1) Processprovning:
- Denna process innefattar testning av olika affärsprocesser.
- Detta bör bestå av integrationsscenarier för webbtjänster och applikationer som täcker affärsbehovet
- Användning av simulatorer bör göras för att generera exempel på ingångsdata och validering bör göras för respektive utdata.
- Dataflödet från olika lager bör utföras för att bevisa att systemet fungerar smidigt när det är integrerat.
Nivå 3
1) Testning från slut till slut:
vad är nätverksnyckeln för wifi
- Denna fas är tänkt att validera affärsbehovet både funktionellt och icke-funktionellt.
- Applikationens användargränssnitt är validerat.
- Den involverade affärsprocessen testas.
- Dataflödet från slut till slut valideras i denna fas.
- Att arbeta med alla tjänster när tjänsterna är integrerade med varandra valideras.
Nivå 4
1) Regressionstestning:
- Systemets stabilitet i inkrementella versioner valideras av denna testning.
- Detta kan uppnås antingen genom manuell testning / automatiseringstestning.
Utmaningar i SOA-testning
Någon sa med rätta, ”Större nät; Större är röran! ”. SOA kan bli ett riktigt komplext barn som är hungrig efter uppmärksamhet.
Med andra ord, med så många minutdelar som utgör SOA-arkitekturen, blir det ett riktigt tufft jobb att certifiera det i Testing.
- Tufft att simulera testmiljöerna för att fortsätta testprocessen.
- Produkterna som ingår i modellen kan ha samma teknik / leverantör. Men de kan också vara olika. Fler problem?
- Testkombinationer skjuter upp med antalet tjänster / komponenter som är inblandade.
- Komplexitet i modellen
- Reproduktion / testning av frågor är ett tufft jobb.
- Till skillnad från andra modeller bör det primära fokus för testning vara på affärsområdet snarare än tjänsten och dess funktion.
SOA-testverktyg
Det finns många applikationer för SOA-testning. SOA-testverktyg väljs utifrån deras exakta resultat och bättre produktivitet.
- SoapUI: Detta är ett gratis verktyg som syftar till att testa webbtjänster. SoapUI kan utföra funktionstestning, prestandatestning och belastningstestning
- Apache Jmeter: Detta är också ett OPEN SOURCE-verktyg som används för att analysera prestanda för SOAP-anrop.
- JProfiler: Detta används för att stoppa eller upptäcka minnesläckage, hitta flaskhalsar i prestanda etc.
- HP servicetest: Detta är integrerat i HP QC. Detta är ett funktionellt testverktyg som också stöder UI och delad servicetestning
Genom den här artikeln har vi förstått modellens singularitet. Detta skiljer sig väldigt mycket från den äldre modellen och artikeln ger en bra uppfattning om den. Den här artikeln kastar också lite ljus över SOA-proceduren och sätt att gå vidare med testningen.
Om författaren: Detta är ett gästinlägg från Subhasis. Han arbetar som teamledare med över 8 års företagserfarenhet för Fortune 500 IT-företag.
Lägg upp dina SOA-testrelaterade frågor / kommentarer nedan.
Med vänliga hälsningar!
Rekommenderad läsning
- Bästa verktyg för testning av programvara 2021 (QA Test Automation Tools)
- Testing Primer eBook Download
- Handledning för destruktiv testning och icke-destruktiv testning
- Funktionell testning mot icke-funktionell testning
- Fördjupade förmörkningsövningar för nybörjare
- Topp 15 SOA-testverktyg för testare
- Parvis testning eller testning i alla par med hjälp av verktyg och exempel
- Handledning för testning av WAVE-tillgänglighetsverktyg