Mikä on SOA-testaus?
SOA (Service Oriented Architecture) -testaus on SOA-arkkitehtonisen tyylin testaus, jossa sovelluskomponentit on suunniteltu kommunikoimaan tietoliikenneprotokollien kautta tyypillisesti verkon kautta.
Tässä opetusohjelmassa opit-
- Mikä on SOA?
- Mikä on palvelu?
- SOA-testaus
- SOA-testauksen strategia
- SOA-testausmenetelmät
- Haasteet SOA-testauksessa
- SOA-testaustyökalut
- SOA-testaustapaukset
Mikä on SOA?
SOA on menetelmä liiketoimintasovellusten ja -prosessien integroimiseksi vastaamaan liiketoiminnan tarpeita.
Ohjelmistotuotannossa SOA tarjoaa ketteryyttä ja joustavuutta liiketoimintaprosesseihin. Prosessin tai sovelluksen muutokset voidaan ohjata tiettyyn komponenttiin vaikuttamatta koko järjestelmään.
SOA: n ohjelmistokehittäjät joko kehittävät tai ostavat palasia ohjelmia nimeltä SERVICES.
Mikä on palvelu?
- Palvelut voivat olla toiminnallinen sovellusyksikkö tai liiketoimintaprosessi, 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 tehtävä, verkkokauppasivusto soittaa / pyytää Payment Gateway -palvelua. Kun maksu on suoritettu yhdyskäytävä, vastaus lähetetään verkkokaupan verkkosivustolle)
- Palvelut on helppo koota ja helposti konfiguroida komponentit.
- Palveluja voidaan verrata rakennuspalikoihin. He voivat rakentaa minkä tahansa tarvittavan sovelluksen. Niiden lisääminen ja poistaminen sovelluksesta tai liiketoimintaprosessista on helppoa.
- Palvelut määritellään pikemminkin niiden suorittaman liiketoiminnan perusteella kuin koodinpaloina.
Web palvelut
Verkkopalvelut ovat itsenäisiä sovelluskomponentteja, jotka ovat saatavilla verkon kautta.
Ne 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 pyynnön tekijän välillä tapahtuu SOAP-viesteillä. <<
- Kun kuluttaja soittaa verkkopalveluun, muodostetaan HTTP-yhteys palveluntarjoajaan.
SOAP-viesti luodaan opastamaan palveluntarjoajaa vaatimaan vaadittu verkkopalvelulogiikka.
- Palveluntarjoajalta saatu vastaus on SOAP-viesti, joka upotetaan HTTP-vastaukseen. Tämä HTTP-vastaus on tietomuoto, jonka kuluttajasovellus ymmärtää.
Esimerkki
Verkkosivuston ja hakukoneen kotisivu näyttää jokapäiväiset säätiedotteet. Sään raporttiosuuden koodaamisen sijaan palvelun voi hankkia myyjältä ja integroida sivuille.
SOA-testaus
SOA koostuu erilaisista tekniikoista. SOA: lla rakennetuilla sovelluksilla on useita palveluita, jotka on yhdistetty löyhästi.
SOA-testauksen tulisi keskittyä 3 järjestelmäkerrokseen
Palvelutaso
Tämä kerros koostuu palveluista, palveluista, jotka liiketoimintajärjestelmistä johdettu järjestelmä paljastaa.
Esimerkiksi -
Harkitse Wellness-verkkosivustoa, joka koostuu
- Paino Tracker
- Verensokerin seuranta
- Verenpaineen seuranta
Seurannat näyttävät vastaavat tiedot ja päivämäärän, jolloin ne on syötetty. Palvelutaso koostuu palveluista, jotka saavat vastaavat tiedot tietokannasta.
- Weight Tracker -palvelu
- Verensokerin seurantapalvelu
- Verenpaineen seuranta -palvelu
- Kirjautumispalvelu
Prosessikerros
Prosessikerros koostuu prosesseista, palvelujen keräämisestä, jotka ovat osa yhtä toiminnallisuutta.
Prosessit voivat olla osa käyttöliittymää (entinen - hakukone), osa ETL-työkalua (tietojen saamiseksi tietokannasta).
Tämän kerroksen pääpaino on käyttöliittymissä ja prosessissa.
Painopainemittarin käyttöliittymä ja sen integrointi tietokantaan on ensisijainen painopiste.
Alla olevat toiminnot otetaan huomioon
- Uusien tietojen lisääminen
- Olemassa olevien tietojen muokkaaminen
- Uuden seurannan luominen
- Poistetaan tietoja
Kuluttajakerros
Tämä kerros koostuu pääasiassa käyttöliittymistä.
Tason perusteella SOA-sovelluksen testaus jaetaan kolmeen tasoon.
- Palvelutaso
- Liitäntätaso
- Päästä loppuun
- Ylhäältä alas -menetelmää käytetään testisuunnittelussa.
- Alhaalta ylöspäin -lähestymistapaa käytetään testin suorittamiseen.
SOA-testauksen strategia
Testisuunnittelu,
- SOA-testaajien tulisi ymmärtää sovelluksen täydellinen arkkitehtuuri.
- Sovellus on jaoteltava itsenäisiin palveluihin (palvelu, jolla on oma pyyntö- ja vastausrakenne eikä se ole riippuvainen mistään muusta palvelusta vastauksen muodostamiseksi).
- Sovellusrakenne on järjestettävä uudelleen kolmeen osaan - Data, Palvelut ja käyttöliittymäsovellukset.
- Kaikki komponentit on analysoitava huolellisesti ja liiketoimintaskenaariot on määriteltävä.
- Liiketoimintaskenaariot tulisi luokitella yleisiksi skenaarioiksi ja sovelluskohtaisiksi skenaarioiksi.
- Jäljitettävyysmatriisi tulisi valmistaa, ja kaikki testitapaukset tulisi jäljittää liiketoimintaskenaarioihin.
Testin suoritustapa
- Jokainen palvelukomponentti on testattava.
- Integrointi Palvelukomponenttien testaus tulisi tehdä palvelujen kautta tapahtuvan tiedonkulun ja tietojen eheyden vahvistamiseksi.
- Koko mallin järjestelmätestaus olisi tehtävä, jotta voidaan varmistaa tietovirta käyttöliittymän ja tietokannan välillä.
- Suorituskykytestaus tulisi tehdä hienosäätöä ja optimaalista suorituskykyä varten.
SOA-testausmenetelmät
1) liiketoimintaskenaarioon perustuva tietoihin perustuva testaus,
- Eri järjestelmään liittyviä liiketoiminnan näkökohtia tulisi analysoida.
- Skenaariot olisi kehitettävä
- Sovelluksen erilaiset verkkopalvelut
- Verkkopalvelut ja sovellukset.
- Tiedot on määritettävä yllä olevien skenaarioiden perusteella.
- Tiedot on määritettävä niin, että ne kattavat myös loppupäähän liittyvät skenaariot.
2) tynkä
- Palvelujen testaamiseksi luodaan nuken käyttöliittymät.
- Näiden liitäntöjen kautta voidaan tarjota erilaisia tuloja, ja lähdöt voidaan vahvistaa.
- Kun sovellus käyttää ulkoisen palvelun rajapintaa, jota ei testata (kolmannen osapuolen palvelu), integraatiotestauksen aikana voidaan luoda tynkä.
3) Regressiotestaus
- Sovelluksen regressiotestaus tulisi tehdä, kun julkaisuja on useita, jotta voidaan varmistaa järjestelmien vakaus ja saatavuus.
- Luodaan kattava regressiotestipaketti, joka kattaa palvelut, jotka ovat tärkeä osa sovellusta.
- Tätä testipakettia voidaan käyttää uudelleen projektin useissa julkaisuissa.
4) Palvelutason testaus
Palvelutason testaus sisältää komponentin testaamisen toiminnallisuuden, turvallisuuden, suorituskyvyn ja yhteentoimivuuden suhteen.
Jokainen palvelu on ensin testattava itsenäisesti.
5) Toiminnallinen testaus
Toiminnallinen testaus tulisi tehdä jokaiselle palvelulle
- Varmista, että palvelu antaa oikean vastauksen jokaiseen pyyntöön.
- Oikeita virheitä vastaanotetaan pyynnöille, joissa on virheellisiä tietoja, virheellisiä tietoja jne.
- Tarkista jokaisen pyynnön ja vastauksen jokaiselle toiminnolle, jonka palvelu on suoritettava ajoaikana.
- Vahvista vikailmoitukset, kun virhe tapahtuu palvelimen, asiakkaan tai verkkotasolla.
- Tarkista, että vastaanotetut vastaukset ovat oikeassa muodossa.
- Vahvista, että vastauksesta saadut tiedot vastaavat pyydettyjä tietoja.
6) Turvatestaus
Verkkopalvelun tietoturvatestaus on tärkeä näkökohta SOA-sovelluksen palvelutason testauksessa; tämä varmistaa sovelluksen turvallisuuden.
Seuraavat tekijät on otettava huomioon testauksen aikana:
- WS-Security -testauksen määrittelemän teollisuuden standardin tulee noudattaa verkkopalvelua.
- Turvatoimenpiteiden tulisi toimia moitteettomasti.
- Tietojen ja digitaalisten allekirjoitusten salaus asiakirjoissa
- Todennus ja valtuutus
- SQL Injection, Malware, XSS, CSRF ja muut haavoittuvuudet on testattava XML: llä.
- Palvelunestohyökkäykset
7) Suorituskyvyn testaus
Palvelun suorituskyky on testattava, koska palvelut ovat uudelleenkäytettäviä ja useat sovellukset saattavat käyttää samaa palvelua.
Seuraavat tekijät otetaan huomioon testauksen aikana:
- 8) Palvelun suorituskyky ja toimivuus on testattava suurella kuormituksella.
- Palvelun suorituskykyä on vertailtava työskenneltäessä erikseen ja sovelluksen sisällä.
- Palvelun kuormitustestaus tulisi suorittaa
- tarkistaa vasteaika
- tarkistaa pullonkaulat
- tarkistaa suorittimen ja muistin käyttö
- skaalautuvuuden ennustamiseksi
9) Integraatiotason testaus
- Huoltotason testaus varmistaa vain palveluiden asianmukaisen 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. Turvallisuus, vaatimustenmukaisuus ja suorituskyvyn testaus takaavat järjestelmän saatavuuden ja vakauden kaikilla osa-alueilla.
- Viestintä- ja verkkoprotokollat tulisi testata palvelujen välisen tietoliikenteen yhtenäisyyden vahvistamiseksi.
10) Testaus loppuun
Tämä vaihe varmistaa, että sovellus vahvistaa liiketoiminnan vaatimukset sekä toiminnallisesti että ei-toiminnallisesti.
Seuraavien kohteiden testaaminen varmistetaan loppupään testin aikana
- Kaikki palvelut toimivat odotetusti integraation jälkeen
- Poikkeusten käsittely
- Sovelluksen käyttöliittymä
- Oikea tietovirta kaikkien komponenttien läpi
- Liiketoimintaprosessi
Haasteet SOA-testauksessa
- Palvelujen rajapintojen puute
- Testausprosessi ulottuu useisiin järjestelmiin, mikä luo monimutkaisia datatarpeita
- Sovellus on kokoelma erilaisia komponentteja, joilla on taipumus muuttua. Regressiotestauksen tarve on yleisempää.
- Monikerroksisen arkkitehtuurin vuoksi vikoja on vaikea eristää.
- Koska palvelua käytetään eri rajapinnoissa, on vaikea ennustaa kuormitusta, mikä tekee suorituskykytestien suunnittelusta hankalaa.
- SOA on heterogeenisten tekniikoiden kokoelma. SOA-sovelluksen testaaminen vaatii ihmisiä, joilla on erilaiset taitopaketit, mikä puolestaan lisää suunnittelun ja toteutuksen kustannuksia.
- Koska sovellus on useiden palvelujen integrointi, tietoturvatestauksella on oma osuutensa ongelmista. Todentamisen ja todennuksen validointi on melko vaikeaa.
SOA-testaustyökalut
Markkinoilla on monia SOA-testaustyökaluja, jotka auttavat testaajia testaamaan SOA-sovelluksia. Tässä on joitain suosittuja SOA-testaustyökaluja :
1) Saippuakäyttöliittymä
"SOAP UI" on avoimen lähdekoodin toiminnallinen testaustyökalu palveluita ja API-testausta varten.
- Työpöytäsovellus
- Tukee useita protokollia - SOAP, REST, HTTP, JMS, AMF, JDBC
- Verkkopalveluja voidaan kehittää, tarkastaa ja käyttää.
- Voidaan käyttää myös kuormitustestaukseen, automaatiotestaukseen ja tietoturvatestaukseen
- Tukkoja voi luoda MockServices
- Verkkopalvelupyynnöt ja testit voidaan luoda automaattisesti sen verkkopalveluasiakkaan kautta.
- Onko sinulla sisäänrakennettuja raportointityökaluja
- Kehittänyt SmartBear
2) iTKO LISA
"LISA" on tuotepaketti, joka tarjoaa toiminnallisen testausratkaisun hajautetuille järjestelmille, kuten SOA.
- Voidaan käyttää myös regressioon, integraatioon, kuormitukseen ja suorituskyvyn testaamiseen.
- Kehittänyt iTKO (CA Technologies)
- Voidaan käyttää testien suunnitteluun ja toteuttamiseen.
3) HP: n huoltotesti
"Palvelutesti" on toiminnallinen testaustyökalu, joka tukee sekä käyttöliittymän että jaettujen palvelujen testausta
- Sekä palvelujen toiminnallinen että suorituskykytesti voidaan tehdä yhdellä komentosarjalla.
- Integroitu HP QC: hen.
- Palvelujen ja datan valtavaa määrää voidaan hallita.
- Tukee yhteentoimivuuden testausta simuloimalla JEE-, AXIS- ja DotNet-asiakasympäristöjä.
- Kehittänyt HP.
4) Parasoft SOA -testi
SOA Test on testaus- ja analyysityökalupaketti, joka on kehitetty API- ja API-sovellusten testaukseen.
- Tukee verkkopalveluita, REST, JSON, MQ, JMS, TIBCO, HTTP, XML.
- Toiminnalliset, yksikkö-, integrointi-, regressio-, turvallisuus-, yhteentoimivuus-, vaatimustenmukaisuus- ja suorituskykytestaukset ovat mahdollisia.
- Tynkät voidaan luoda Parasoft Virtualizella, joka on älykäs kuin SOAP UI.
- Kehittänyt ParaSoft
SOA-testaustapaukset
Harkitse verkkokauppasivustoa, joka sisältää seuraavat toiminnot ja alatoiminnot:
Tilausta Käsitellään
VAIHE 1
SOA-testauksen ensimmäisessä vaiheessa eli testistrategiavaiheessa sovellus on jaoteltu palveluihin ja liiketoimintatoimintoihin.
Tarkastellaan seuraavaksi sovelluksen Palveluja.
- Luo tilaus
- Tarkista asiakkaan tila
- Muuta tilauksen tilaa
- Tarkista tilauksen tila
- Tarkista varasto
Yritystoiminnot ovat samat kuin verkkosivuston toiminnot.
Huomaa: Testistrategia-asiakirja sisältäisi luettelon palvelusta ja testattavista toiminnoista.
VAIHE 2
Testisuunnitteluvaihe. Testitapaukset kirjoitetaan kullekin tasolle.
- Päästä loppuun. Testitapaukset kirjoitetaan 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 käytettävissä olevalla tuotteella, jonka tilausmäärä on
- Luo tilaus käytettävissä olevalla tuotteella tilausmäärä> käytettävissä oleva määrä.
- Luo tilaus, jossa on useita tuotteita
- Peruuta tilaus kokonaan.
- Peruuta tilaus osittain.
- Integraatiotaso. Testitapaukset kirjoitetaan 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ä käytettävissä olevan tuotteen määrä on pienempi tilauksen määrällä.
- Varmista, että käyttöliittymässä näkyvä tilauksen tila on sama kuin tietokannassa.
- Peruuta tilaus ja tarkista, että tilauksen tilaa on muutettu tietokannassa.
- Varmista ensimmäistä kertaa suoritettaessa, että käyttöliittymään syötetyt maksutiedot on tallennettu tietokantaan.
- Jos haluat palauttaa maksuja, tarkista, että tietokannan maksutiedot näkyvät käyttöliittymässä.
- Palvelutaso. Jokaiselle palvelulle testataan kaikki dataolosuhteet.
Alla on muutama esimerkki.
Ei. | Tilauksen tiedot | Tilauksen kunto |
---|---|---|
1 | Luo tilaus. Tuotteiden määrä = 1 | Määrä tilauksessa |
2 | Luo tilaus. Tuotteiden määrä> 1 | Määrä tilauksessa |
3 | Luo tuotteiden tilausmäärä = 1 | Määrä tilauksessa> Määrä tietokannassa |
4 | Tarkista tilauksen tila | Tila tietokannassa = Aktiivinen |
5 | Tarkista tilauksen tila | Status in database = 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 | Tuotteen tunnus = virheellinen |
VAIHE 3 - Testin suorittaminen
Testisuorituksessa käytetään alhaalta ylöspäin suuntautuvaa lähestymistapaa, eli ensin tehdään palvelutasotestaus, sitten integraatiotaso ja viimeisenä loppuun asti -testaus.
1) Palvelutaso
Katsotaanpa, että Soapui-työkalu otetaan huomioon sovelluksen testauksessa.
WSDL ja URL selataan SOAP: n testiikkunaan.
Kutakin palvelua koskeva pyyntö näkyy pyyntöikkunassa.
Muokkaamalla tietoja palvelutason testitapausten mukaan, jokaiselle testitapaukselle luodaan pyynnöt.
Testitapaus |
Pyyntö |
Odotettu vastaus |
---|---|---|
Luo tilaus. Tuotteiden määrä = 1Määrä tilauksessa |
|
|
Luo tilaus. tuotteista> 1Määrä tilauksessa |
|
|
Luo tilausnumero. kohteista = 1Tilauksen määrä> Määrä db: llä |
|
|
Tarkista tilauksen tila tila tietokannasta = aktiivinen |
|
|
Tarkista tilauksen tila tila tietokannasta = Lähetetty |
|
|
Tarkista tilauksen tilaTilauksen tunnus = virheellinen |
|
|
Tarkista tuotteen saatavuus Tuotteen määrä> 0 |
|
|
Tarkista tuotteen saatavuus Tuotteen määrä = 0 |
|
|
Tarkista tuotteen saatavuus Tuotteen tunnus = virheellinen |
|
|
2) Integraatiotaso
Integraatiotason testitapaukset suoritetaan käyttöliittymässä ja tietokannassa.
- Luo tilaus yhdellä tuotteella -
- Käyttäjä avaa verkkosivuston.
- Menee tekemään tilauksen.
- Valitsee kelvollisen tuotteen ja määrän sekä tallentaa tilauksen.
- Viesti, jonka mukaan tilaus on tehty onnistuneesti, tulee näyttää.
- Käyttäjä avaa tietokannan ja tarkistaa, ovatko tilauksen tiedot samat kuin verkkosivustolle syötetyt.
3) Päästä loppuun
Liiketoiminnan virrat ja käyttötapaukset suoritetaan käyttöliittymässä.
- Luo tilaus, jossa on useita tuotteita -
- Käyttäjä avaa verkkosivuston.
- Menee tekemään tilauksen.
- Kysy kelvollisesta tuotteesta ja määrä lisää ne ostoskoriin.
- Muut kelvolliset tuotteet lisätään kelvollisilla määrillä ja tilaus tallennetaan. Maksu suoritetaan uudella maksutavalla ja tilaus tehdään.
- Viesti, jossa lukee "Tilaus onnistui", tulee näyttää.
- Testaajan tulisi vahvistaa, että koko virtaus tapahtuu ilman tietojen vääristymistä.
Päätelmä:
Piirrä oikea testausstrategia, resurssit, työkalut ja vaatimustenmukaisuus hyvän palvelun tarjoamiseksi SOA-testaus voi tuottaa täysin ja täydellisesti testatun sovelluksen.