Mitä SOA-testaus on? Opetusohjelma esimerkin kanssa
Mitä SOA-testaus on?
SOA (palvelukeskeinen ArchiTecture) Testaus on SOA-arkkitehtonisen tyylin testaus, jossa sovelluskomponentit on suunniteltu kommunikoimaan viestintäprotokollien kautta tyypillisesti verkon yli.
Mikä on SOA?
SOA on tapa integroida liiketoimintasovelluksia ja prosesseja yhteen vastaamaan liiketoiminnan tarpeita.
Ohjelmistosuunnittelussa SOA tarjoaa ketteryyttä ja joustavuutta liiketoimintaprosesseihin. Prosessin tai sovelluksen muutokset voidaan suunnata tiettyyn komponenttiin vaikuttamatta koko järjestelmään.
SOA:n ohjelmistokehittäjät joko kehittävät tai ostavat ohjelmia, joita kutsutaan nimellä PALVELUT.
Mitä Palvelu on?
- Palvelut voivat olla sovelluksen tai liiketoimintaprosessin toiminnallinen yksikkö, jota voidaan käyttää uudelleen tai toistaa millä tahansa muulla sovelluksella tai prosessilla. (Esimerkiksi yllä olevassa kuvassa Payment Gateway on palvelu, jota kaikki verkkokauppasivustot voivat käyttää uudelleen. Aina kun maksu on suoritettava, verkkokauppasivusto soittaa/pyytää Payment Gateway -palvelua. Kun maksu on suoritettu yhdyskäytävässä, vastaus lähetetään verkkokauppasivustolle)
- Palvelut on helppo koota ja komponentit on helppo konfiguroida uudelleen.
- Palveluita voidaan verrata rakennuspalikoihin. He voivat rakentaa minkä tahansa tarvittavan sovelluksen. Niiden lisääminen ja poistaminen sovelluksesta tai liiketoimintaprosessista on helppoa.
- Palvelut määritellään enemmän niiden suorittaman liiketoimintatoiminnon perusteella, eikä koodipalseina.
Web Services
Verkkopalvelut ovat itsenäisiä sovelluskomponentteja, jotka ovat saatavilla verkon kautta.
Niitä voidaan julkaista, löytää ja käyttää verkossa. He voivat kommunikoida Internetin kautta.
- Palveluntarjoaja julkaisee palvelun Internetissä.
- Asiakas etsii tiettyä verkkopalvelua verkkopalvelurekisteristä
- Vaaditun verkkopalvelun URL-osoite ja WSDL palautetaan. WSDL:n ja URL-osoitteen avulla viestintä palveluntarjoajan ja pyytäjän välillä tapahtuu SOAP-sanomien kautta.
- Kun kuluttaja soittaa verkkopalveluun, palveluntarjoajaan muodostetaan HTTP-yhteys.
SOAP-sanoma luodaan ohjeistamaan palveluntarjoajaa kutsumaan vaadittu verkkopalvelulogiikka. - Palveluntarjoajalta saatu vastaus on SOAP-sanoma, joka upotetaan HTTP-vastaukseen. Tämä HTTP-vastaus on tietomuoto, jonka kuluttajasovellus ymmärtää.
esimerkki
Verkkosivuston ja hakukoneen kotisivu näyttää päivittäisen säätiedotuksen. Sen sijaan, että koodaat säätiedotusosion kauttaaltaan, voit ostaa säätiedotuspalvelun toimittajalta ja integroida sen sivuille.
SOA-testaus
SOA koostuu erilaisista teknologioista. SOA:lla rakennetuissa sovelluksissa on erilaisia palveluita, jotka on yhdistetty löyhästi.
SOA-testauksen tulisi keskittyä kolmeen järjestelmäkerrokseen
Palvelutaso
Tämä kerros koostuu palveluista, palveluista, jotka näkyvät liiketoimintatoiminnoista johdetun järjestelmän avulla.
Esimerkiksi -
Harkitse hyvinvointisivustoa, joka koostuu
- Painonseuranta
- Verensokerin seurantalaite
- Verenpainemittari
Trackers näyttää vastaavat tiedot ja päivämäärän, jolloin ne on syötetty. Palvelukerros koostuu palveluista, jotka saavat vastaavat tiedot tietokannasta -
- Weight Tracker palvelu
- Verensokerin seurantapalvelu
- Verenpainemittaripalvelu
- Kirjautumispalvelu
Prosessikerros
Prosessikerros koostuu prosesseista, palvelukokoelmasta, jotka ovat osa yhtä toiminnallisuutta.
Prosessit voivat olla osa käyttöliittymää (esim. hakukone), osa ETL-työkalua (tietojen hakemiseen tietokannasta).
Pääpaino tässä kerroksessa on käyttöliittymissä ja prosesseissa.
Painonseurannan käyttöliittymä ja sen integrointi tietokantaan on ensisijainen painopiste.
Alla olevat toiminnot otetaan huomioon
- Uusien tietojen lisääminen
- Muokkaa olemassa olevia tietoja
- Luodaan uutta seurantaa
- Tietojen poistaminen
Kuluttajakerros
Tämä kerros koostuu pääasiassa käyttöliittymistä.
Tason perusteella SOA-sovelluksen testaus on jaettu kolmelle tasolle.
- Palvelutaso
- Liitäntätaso
- Päästä loppuun tasolle
- Testisuunnittelussa käytetään ylhäältä alas -lähestymistapaa.
- Testin suorittamiseen käytetään alhaalta ylös -lähestymistapaa.
SOA-testauksen strategia
Testin suunnittelun lähestymistapa,
- SOA-testaajien tulee ymmärtää sovelluksen koko arkkitehtuuri.
- Sovellus on jaettava itsenäisiin palveluihin (Palvelu, jolla on oma pyyntö- ja vastausrakenne ja joka ei ole riippuvainen mistään muusta palvelusta muodostaakseen vastausta).
- Sovellusrakenne on järjestettävä uudelleen kolmeen osaan – Data, Palvelut ja käyttöliittymäsovellukset.
- Kaikki komponentit on analysoitava huolellisesti, ja liiketoimintaskenaariot on laadittava.
- Liiketoimintaskenaariot tulisi luokitella yleisiksi skenaarioiksi ja sovelluskohtaisiksi skenaarioiksi.
- A Jäljitettävyysmatriisi on valmisteltava, ja kaikki testitapaukset on jäljitettävä liiketoimintaskenaarioihin.
Testin suorittamisen lähestymistapa
- Jokainen palvelukomponentti tulee testata.
- Integraation testaus Palvelukomponentit tulisi tehdä palvelujen läpi kulkevan tietovirran ja tietojen eheyden validoimiseksi.
- Järjestelmän testaus Koko mallista tulisi tehdä käyttöliittymäsovelluksen ja tietokannan välisen tietovirran validointi.
- Suorituskykytestaus tulee tehdä hienosäätöä ja optimaalista suorituskykyä varten.
SOA-testausmenetelmät
1) Liiketoimintaskenaarioihin perustuva datapohjainen testaus,
- Erilaisia järjestelmään liittyviä liiketoimintanäkökohtia tulee analysoida.
- Skenaariot tulisi kehittää integroinnin perusteella
- eri Web-palvelut sovelluksesta
- Verkkopalvelut ja -sovellukset.
- Tietojen määrittäminen tulee tehdä yllä olevien skenaarioiden perusteella.
- Tietojen määrittäminen tulisi tehdä niin, että se kattaa myös päästä päähän -skenaariot.
2) Tyngät
- Palvelujen testaamiseen luodaan valerajapintoja.
- Näiden liitäntöjen kautta voidaan tarjota erilaisia tuloja, ja lähdöt voidaan validoida.
- Kun sovellus käyttää rajapintaa ulkoiseen palveluun, joka ei ole testattavana (kolmannen osapuolen palvelu), integraatiotestauksen aikana voidaan luoda tynkä.
3) Regressiotestaus
- Regressiotestaus sovellukselle tulisi tehdä, kun julkaisuja on useita, jotta varmistetaan järjestelmien vakaus ja saatavuus.
- Luodaan kattava regressiotestipaketti, joka kattaa sovelluksen tärkeän osan muodostavat palvelut.
- Tätä testipakettia voidaan käyttää uudelleen useissa projektin julkaisuissa.
4) Palvelutason testaus
Palvelutason testaus sisältää komponentin toimivuuden, turvallisuuden, suorituskyvyn ja yhteentoimivuuden testaamisen.
Jokainen palvelu on ensin testattava itsenäisesti.
5) Toiminnallinen testaus
Toiminnallinen testaus tulee tehdä jokaiselle palvelulle
- Varmista, että palvelu antaa oikean vastauksen jokaiseen pyyntöön.
- Oikeat virheet vastaanotetaan pyynnöille, joissa on virheellisiä tietoja, huonoja tietoja jne.
- Tarkista jokainen pyyntö ja vastaus jokaiselle toiminnolle, joka palvelun on suoritettava ajon aikana.
- Vahvista vikailmoitukset, kun palvelin-, asiakas- tai verkkotasolla tapahtuu virhe.
- Tarkista, että saadut vastaukset ovat oikeassa muodossa.
- Vahvistaa, että vastauksesta saadut tiedot vastaavat pyydettyjä tietoja.
6) Turvallisuustestaus
Verkkopalvelun tietoturvatestaus on tärkeä näkökohta SOA-sovelluksen palvelutason testauksessa; tämä varmistaa sovelluksen turvallisuuden.
Testauksen aikana on otettava huomioon seuraavat tekijät:
- Web-palvelun tulee noudattaa WS-Security-testauksen määrittelemää toimialastandardia.
- Turvatoimenpiteiden tulee toimia moitteettomasti.
- Tietojen salaus ja Digiallekirjoitukset asiakirjoissa
- Todennus ja valtuutus
- SQL Injection, Malware, XSS, CSRF ja muut haavoittuvuudet testataan XML:ssä.
- Palvelunestohyökkäykset
7) Suorituskykytestaus
Palvelun suorituskykytestaus on suoritettava, koska palvelut ovat uudelleenkäytettäviä ja useat sovellukset voivat käyttää samaa palvelua.
Seuraavat tekijät otetaan huomioon testin aikana:
- Palvelun suorituskykyä ja toimivuutta on testattava raskaassa kuormituksessa.
- Palvelun suorituskykyä on verrattava työskennellessä yksilöllisesti ja sovelluksen sisällä, se on yhdistetty.
- Palvelun kuormitustestaus on suoritettava
- tarkistaaksesi vasteajan
- pullonkaulojen tarkistamiseksi
- tarkistaaksesi suorittimen ja muistin käytön
- skaalautuvuuden ennustamiseen
8) Integraatiotason testaus
- Palvelutason testaus varmistaa vain palveluiden moitteettoman toiminnan erikseen, se ei takaa kytkettyjen komponenttien toimintaa.
- Integraatiotestaus tehdään keskittyen pääasiassa rajapintoihin.
- Tämä vaihe kattaa kaikki mahdolliset liiketoimintaskenaariot.
- Sovelluksen ei-toiminnallinen testaus tulisi tehdä vielä kerran tässä vaiheessa. Suojaus, vaatimustenmukaisuus ja suorituskykytestaus varmistavat järjestelmän saatavuuden ja vakauden kaikilla osa-alueilla.
- Viestintä- ja verkkoprotokollia tulisi testata palvelujen välisen tiedonsiirron johdonmukaisuuden varmistamiseksi.
9) End to End -testaus
Tämä vaihe varmistaa, että sovellus vahvistaa liiketoiminnan vaatimukset sekä toiminnallisesti että ei-toiminnallisesti.
Alla olevat kohteet varmistetaan, että ne testataan päästä päähän -testauksen aikana
- Kaikki palvelut toimivat odotetusti integroinnin jälkeen
- Poikkeusten käsittely
- Sovelluksen käyttöliittymä
- Oikea tiedonkulku kaikkien komponenttien läpi
- Liiketoimintaprosessi
SOA-testauksen haasteita
- Palvelujen rajapintojen puute
- Testausprosessi kattaa useita järjestelmiä, mikä luo monimutkaisia tietotarpeita
- Sovellus on kokoelma erilaisia komponentteja, joilla on taipumus muuttua. Regressiotestauksen tarve on useammin.
- Monikerroksisen arkkitehtuurin vuoksi vikoja on vaikea eristää.
- Koska palvelua tullaan käyttämään eri käyttöliittymissä, kuormituksen ennustaminen on vaikeaa, mikä tekee suoritustestien suunnittelusta hankalaa.
- SOA on kokoelma heterogeenisiä teknologioita. SOA-sovelluksen testaus vaatii ihmisiä, joilla on erilaisia taitoja, mikä puolestaan lisää suunnittelu- ja toteutuskustannuksia.
- Koska sovellus on useiden palvelujen integrointi, tietoturvatestauksessa on omat ongelmansa. Todennuksen ja valtuutuksen vahvistaminen on melko vaikeaa.
SOA-testaustyökalut
Markkinoilla on monia SOA-testaustyökaluja, jotka auttavat testaajia testaamaan SOA-sovelluksia. Tässä on joitain suosituimmista SOA-testaustyökalut:
1) SOAP-käyttöliittymä
"SOAP UI" on avoimen lähdekoodin toiminnallinen testaustyökalu Palveluille ja API-testaus.
- Työpöytäsovellus
- Tukee useita protokollia - SOAP, REST, HTTP, JMS, AMF, JDBC
- Verkkopalveluita voidaan kehittää, tarkastaa ja käyttää.
- Voidaan käyttää myös kuormitustestaukseen, Automaatiotestausja turvatestaukset
- MockServices voi luoda tyngät
- Verkkopalvelupyynnöt ja testit voidaan luoda automaattisesti sen verkkopalveluasiakkaan kautta.
- Sisäänrakennetut raportointityökalut
- SmartBearin kehittämä
2) iTKO LISA
"LISA" on tuotesarja, joka tarjoaa toiminnallisen testausratkaisun hajautetuille järjestelmille, kuten SOA.
- Voidaan käyttää myös regression, integroinnin, kuormituksen ja suorituskyvyn testaamiseen.
- Kehittäjä iTKO (CA Technologies)
- Voidaan käyttää testien suunnitteluun ja suorittamiseen.
3) HP:n huoltotesti
"Service Test" on toiminnallinen testaustyökalu, joka tukee sekä käyttöliittymän että jaettujen palvelujen testausta
- Palveluiden sekä toiminta- että suorituskykytesti voidaan tehdä yhdellä skriptillä.
- Integroitu HP QC:hen.
- Valtava määrä palvelua ja dataa voidaan hallita.
- Tukee yhteentoimivuuden testausta simuloimalla JEE-, AXIS- ja DotNet-asiakasympäristöjä.
- HP:n kehittämä.
4) Parasoft SOA -testi
SOA Test on API- ja API-sovellusten testaukseen kehitetty testaus- ja analyysityökalusarja.
- Tukee Web Services-, REST-, JSON-, MQ-, JMS-, TIBCO-, HTTP-, XML-tekniikoita.
- Toiminnallinen, yksikkö-, integraatio-, regressio-, turvallisuus-, yhteentoimivuus-, vaatimustenmukaisuus- ja suoritustestaus ovat mahdollisia.
- Stubit voidaan luoda Parasoft Virtualizella, jotka ovat älykkäitä kuin SOAP UI.
- ParaSoftin kehittämä
SOA-testauksen käyttötapaukset
Harkitse verkkokauppasivustoa, joka sisältää seuraavat toiminnot ja alitoiminnot:
Tilausta Käsitellään
PHASE 1
SOA-testauksen ensimmäisessä vaiheessa eli Testistrategiavaiheessa sovellus jaetaan Palveluihin ja liiketoimintatoimintoihin.
Tarkastellaanpa alla sovelluksen palveluita.
- Luo tilaus
- Tarkista asiakkaan tila
- Muuta tilauksen tilaa
- Tarkista tilauksen tila
- Tarkista varasto
Liiketoiminnalliset toiminnot ovat samat kuin Verkkosivuston toiminnot.
Huomautus: Testausstrategia-asiakirja sisältää luettelon palvelusta ja toiminnoista, jotka on testattava.
PHASE 2
Testin suunnitteluvaihe. Testitapaukset kirjoitetaan jokaiselle tasolle.
- Päästä loppuun tasolle. Testitapaukset on kirjoitettu jokaiselle yrityskäyttötapaukselle ja -kululle. Alla on esimerkki testitapauksista
- Luo tilaus aktiivisen käyttäjän kanssa.
- Luo tilaus passiivisen käyttäjän kanssa.
- Luo tilaus saatavilla olevalla tuotteella tilausmäärällä < käytettävissä oleva määrä.
- Luo tilaus saatavilla olevalla tuotteella tilausmäärällä > käytettävissä oleva määrä.
- Luo tilaus, jossa on useita tuotteita
- Peruuta tilaus kokonaan.
- Peruuta tilaus osittain.
- Integrointitaso. Testitapaukset on kirjoitettu tietokannan ja käyttöliittymän integrointia varten. Alla on esimerkkejä testitapauksista.
- Luo uusi tilaus yhdellä tuotteella. Varmista, että tilaus on luotu tietokantaan.
- Luo uusi tilaus yhdellä tuotteella. Varmista, että tilaukselle laskettu hinta on oikea.
- Luo uusi tilaus yhdellä tuotteella. Varmista, että saatavilla olevan tuotteen määrä on tilausmäärää pienempi.
- Varmista, että käyttöliittymässä näkyvä tilauksen tila on sama kuin tietokannassa.
- Peruuta tilaus ja varmista, että tilauksen tilaa on muutettu tietokannassa.
- Varmista ensimmäisen maksun yhteydessä, että käyttöliittymään syötetyt maksutiedot on tallennettu tietokantaan.
- Palauta maksuja varten, että tietokannan maksutiedot näkyvät käyttöliittymässä.
- Palvelutaso. Jokainen palvelu testataan kaikkien dataolosuhteiden osalta.
Alla on muutamia esimerkkejä.
Ei. | tilauksen tiedot | Tilauksen kunto |
---|---|---|
1 | Luo tilaus. Tuotteiden lukumäärä = 1 | Tilausmäärä < Määrä tietokannassa |
2 | Luo tilaus. Kohteiden määrä > 1 | Määrä tilauksessa < Määrä tietokannassa. |
3 | Luo nimikkeiden tilausnumero = 1 | Määrä tilauksessa > Määrä tietokannassa |
4 | Tarkista tilauksen tila | Tila tietokannassa = aktiivinen |
5 | Tarkista tilauksen tila | Tila tietokannassa = Lähetetty |
6 | Tarkista tilauksen tila | Tila tietokannassa = Peruutettu |
7 | Tarkista tilauksen tila | Tilaustunnus = Virheellinen |
8 | Tarkista tuotteen saatavuus | Tuotteen määrä >0 |
9 | Tarkista tuotteen saatavuus | Tuotteen määrä =0 |
10 | Tarkista tuotteen saatavuus | Tuotetunnus = virheellinen |
VAIHE 3 – Testin suorittaminen
Testin suorittaminen käyttää alhaalta ylös -lähestymistapaa eli palvelutason testaus tehdään ensin, sitten integraatiotaso ja lopuksi Päästä päähän -testaus.
1) Palvelutaso
Ajatellaanpa sitä Soapui työkalua harkitaan sovelluksen testaamiseen.
- wsdl ja URL selataan SOAPin testiikkunaan.
Kunkin palvelun pyyntö näkyy pyyntöikkunassa.
Muokkaamalla tietoja palvelutason testitapausten mukaisesti, pyynnöt luodaan jokaiselle testitapaukselle.
Testitapaus | Pyydä | Odotettu vastaus |
---|---|---|
Luo tilaus. Tuotteiden määrä = 1Tilauksen määrä < db | x2 2 | o3251 Onnistui |
Luo tilaus.No. nimikkeitä > 1 Määrä tilauksesta < Määrä db | y1 1 y2 3 | o3251 Onnistui |
Luo tilausnro. tuotteista = 1Tilauksen määrä > Määrä db | x23 200 | tyhjä Epäonnistui |
Tarkista Tilauksen tilaTila tietokannassa = Aktiivinen | o9876 | Aktiivinen Onnistui |
Tarkista tilauksen tilaTila tietokannassa = Lähetetty | o9656 | Lähetetty Onnistui |
Tarkista tilauksen tilaTilauksen tunnus = Virheellinen | y5686 | tyhjä Epäonnistui |
Tarkista tuotteen saatavuusTuotteen määrä >0 | d34 | 34 Joo Onnistui |
Tarkista tuotteen saatavuusTuotteen määrä =0 | y34 | 0 ei Onnistui |
Tarkista tuotteen saatavuusTuotetunnus = virheellinen | sder | Epäonnistui |
2) Integraatiotaso
Integrointitason testitapaukset suoritetaan käyttöliittymässä ja tietokannassa.
- Luo tilaus yhdellä tuotteella –
- Käyttäjä avaa verkkosivuston.
- Menee tilaamaan.
- Valitsee kelvollisen tuotteen ja määrän ja tallentaa tilauksen.
- Näyttöön tulee viesti, jonka mukaan tilaus on tehty onnistuneesti.
- Käyttäjä avaa tietokannan ja tarkistaa, ovatko tilauksen tiedot samat kuin verkkosivustolla.
3) Päästä loppuun tasolle
Liiketoiminnan kulku ja käyttötapaukset suoritetaan käyttöliittymässä.
- Luo tilaus, jossa on useita tuotteita –
- Käyttäjä avaa verkkosivuston.
- Menee tilaamaan.
- Tiedustelee voimassa olevaa tuotetta ja määrää lisää ne ostoskoriin.
- Muut voimassa olevat tuotteet lisätään kelvollisilla määrillä ja tilaus tallennetaan. Maksu suoritetaan uudella maksutavalla ja tilaus tehdään.
- Näyttöön tulee viesti "Tilaus tehty onnistuneesti".
- Testaajan tulee vahvistaa, että koko kulku suoritetaan ilman tietojen vääristymistä.
Yhteenveto
Piirtämällä oikea testausstrategia, resurssit, työkalut ja vaatimustenmukaisuus hyvän palvelun tarjoamiseksi, SOA-testaus voi tarjota täydellisesti ja täydellisesti testatun sovelluksen.