Mi az a SOA tesztelés? Oktatóanyag példával

⚡ Okos összefoglaló

A SOA tesztelés érvényesíti a szolgáltatásorientált megközelítést ArchiOlyan struktúra, amelyben lazán összekapcsolt szolgáltatások cserélnek üzeneteket egy hálózaton keresztül, külön-külön ellenőrizve az egyes szolgáltatásokat, a közöttük lévő integrációkat és a teljes üzleti folyamatot a végponttól a végéig.

  • 🔘 Architectúra: A szolgáltatások olyan újrafelhasználható üzleti függvények, amelyeket bármely alkalmazás függetlenül meghívhat, összeállíthat vagy lecserélhet.
  • ☑️ Rétegek: A tesztelés az alkalmazás szolgáltatási rétegét, folyamatrétegét és felhasználói rétegét célozza meg.
  • ✅ Szintek: A szolgáltatási szintű, az interfész szintű és a végponttól végpontig tartó szintű tesztelés együttesen lefedi a hátrányokat.tracts, adatfolyam és üzleti forgatókönyvek.
  • 🧪 Módszerek: A forgatókönyv-vezérelt adattesztelés, a csonkok, a funkcionális, biztonsági, teljesítmény-, integrációs és regressziós ellenőrzések minden szinten érvényesek.
  • 🇧🇷 szerszámozás: SoapUI, Broadcom szolgáltatásvirtualizáció, OpenText UFT A One és a Parasoft SOAtest funkcionális, virtuális és terheléses tesztelést is lefed.
  • ⚠️ kihívások: A hiányzó interfészek, a többrétegű hibaelkülönítés, a kiszámíthatatlan terhelés és a heterogén technológiák növelik a tervezési költségeket.

SOA tesztelés

Mi az a SOA tesztelés?

SOA (szolgáltatás-orientált Archiszerkezet) Tesztelés a SOA architektúra stílusának tesztelése, amelyben az alkalmazáskomponenseket úgy tervezik, hogy kommunikációs protokollokon keresztül, jellemzően hálózaton keresztül kommunikáljanak.

Mi az a SOA?

A SOA az üzleti alkalmazások és folyamatok integrálásának módszere az üzleti igények kielégítése érdekében.

In SzoftverfejlesztésA SOA rugalmasságot és agilitást biztosít az üzleti folyamatokhoz. Egy folyamat vagy alkalmazás módosítása egyetlen komponensre is vonatkozhat anélkül, hogy az a teljes rendszert érintené.

A SOA-ban dolgozó szoftverfejlesztők vagy programcsomagokat fejlesztenek, vagy vásárolnak, úgynevezett szolgáltatások.

Mi az a szolgáltatás?

Az alábbi ábra egy olyan fizetési átjárót mutat be, amely szolgáltatásként van közzétéve, és amelyet számos e-kereskedelmi webhely meghívhat.

Egy e-kereskedelmi alkalmazás által meghívott, újrafelhasználható SOA-szolgáltatásként közzétett fizetési átjáró

  • Egy szolgáltatás lehet egy alkalmazás vagy egy üzleti folyamat funkcionális egysége, amelyet bármely más alkalmazás vagy folyamat újra felhasználhat vagy megismételhet. (Például a fenti képen a Payment Gateway egy olyan szolgáltatás, amelyet bármely e-kereskedelmi webhely újra felhasználhat. Amikor fizetésre van szükség, az e-kereskedelmi webhely meghívja vagy lekéri a Payment Gateway szolgáltatást. Miután a fizetés megtörtént az átjárón, a rendszer választ küld az e-kereskedelmi webhelynek.)
  • A szolgáltatások könnyen összeszerelhetők és könnyen átkonfigurálhatók az összetevők.
  • A szolgáltatások építőelemekhez hasonlíthatók. Bármilyen szükséges alkalmazást felépíthetnek belőlük, és könnyen hozzáadhatók vagy eltávolíthatók az alkalmazásból vagy az üzleti folyamatból.
  • A szolgáltatásokat inkább az általuk ellátott üzleti funkció határozza meg, mintsem kódrészletek.

Web Services

A legtöbb SOA szolgáltatás webszolgáltatásként érhető el, ezért érdemes a webszolgáltatás-hívások mechanikáját a tesztrétegek előtt ismertetni.

Független alkalmazáskomponensként működő webszolgáltatás, amely elérhető a weben keresztül

Webes szolgáltatások független alkalmazáskomponensek, amelyek elérhetők az interneten keresztül.

Közzétehetők, megtalálhatók és felhasználhatók az interneten, és az interneten keresztül kommunikálnak. Az alábbi sorozat bemutatja, hogyan lépnek interakcióba egy szolgáltató, egy nyilvántartás és egy fogyasztó.

Közzétételi, keresési és kötési sorozat egy szolgáltató, egy webszolgáltatás-nyilvántartás és egy fogyasztó között

  • A Szolgáltató a szolgáltatást az interneten teszi közzé.
  • Az Ügyfél egy adott webszolgáltatást keres a webszolgáltatás-nyilvántartásban.
  • A URL és a wsdl a szükséges webszolgáltatáshoz tartozó értékeket adják vissza. A WSDL és a URLA szolgáltató és a kérelmező közötti kommunikáció SOAP üzeneteken keresztül történik.
  • Amikor egy felhasználó meghív egy webszolgáltatást, HTTP-kapcsolat jön létre a szolgáltatóval.
  • Egy SOAP üzenet jön létre, amely utasítja a szolgáltatót a szükséges webszolgáltatási logika meghívására.
  • A szolgáltatótól kapott válasz egy SOAP üzenet, amely be van ágyazva a HTTP válaszba. Ez a HTTP válasz az adatformátum, amelyet a felhasználói alkalmazás megért.

Példa

Az alábbi képernyőkép egy külső szolgáltatás által biztosított és egy keresőmotor kezdőlapjába ágyazott időjárás-jelentést mutat.

Egy szolgáltatótól vásárolt és weboldal kezdőlapjába ágyazott időjárás-jelentési szolgáltatás

Egy weboldal kezdőlapja és egy keresőmotor napi időjárás-jelentést jelenít meg. Ahelyett, hogy az időjárás-jelentés részt a nulláról kellene kódolni, egy időjárás-jelentési szolgáltatás megvásárolható egy szolgáltatótól, és integrálható az oldalakba.

SOA tesztelési rétegek

A SOA különféle technológiákból áll, és a SOA segítségével készült alkalmazások különféle, lazán összekapcsolt szolgáltatásokat kínálnak. Az alábbi ábra felvázolja a tesztelési terv három rétegét, amelyeket le kell fednie.

Három SOA tesztelési réteg, szolgáltatási réteg, folyamatréteg és felhasználói réteg

A SOA tesztelésnek 3 rendszerrétegre kell összpontosítania.

Szolgáltatási réteg

Ez a réteg a rendszer által elérhető, üzleti funkciókból származó szolgáltatásokból áll.

Vegyünk például egy wellness weboldalt, amely a következőket tartalmazza:

  • Súly Tracker
  • Vércukor Tracker
  • Vérnyomás Tracker

TracA ker-ek megjelenítik a megfelelő adatokat és azok bevitelének dátumát. A szolgáltatások rétege azokból a szolgáltatásokból áll, amelyek a megfelelő adatokat az adatbázisból szerzik be:

  • Súly Tracker szolgáltatás
  • Vércukor Tracker szolgáltatás
  • Vérnyomás Tracker szolgáltatás
  • Bejelentkezési szolgáltatás

Folyamatréteg

A folyamatréteg a folyamatokból, azaz az egyetlen funkció részét képező szolgáltatások gyűjteményéből áll.

A folyamatok lehetnek egy felhasználói felület (például egy keresőmotor) vagy egy ETL eszköz részei, amely adatokat kér le az adatbázisból.

Ebben a rétegben a fő hangsúly a felhasználói felületeken és folyamatokon van. A súly felhasználói felülete tracA ker és az adatbázissal való integrációja a fő hangsúly.

A következő funkciókat érdemes figyelembe venni:

  • Új adatok hozzáadása
  • Meglévő adatok szerkesztése
  • Új létrehozása tracker
  • Adatok törlése

Fogyasztói réteg

Ez a réteg főként felhasználói felületeket tartalmaz, ahogy az alábbi képernyő is mutatja.

A wellness weboldal felhasználói felületének felhasználói rétege, amely meghívja az alapul szolgáló elemet tracker szolgáltatások

Ezen rétegek alapján egy SOA alkalmazás tesztelése három szintre oszlik:

  • Szolgáltatási szint
  • Az interfész szintje
  • End to End szint

A két haladási irány különbözik: a tesztek tervezéséhez felülről lefelé irányuló megközelítést alkalmaznak, míg a tesztek végrehajtásához alulról felfelé irányuló megközelítést.

A SOA tesztelési stratégiája

Teszttervezési megközelítés

  • A SOA tesztelőknek ismerniük kell az alkalmazás teljes architektúráját.
  • Az alkalmazást független szolgáltatásokra kell bontani (olyan szolgáltatás, amely saját kérés-válasz struktúrával rendelkezik, és nem függ más szolgáltatástól a válasz kialakításához).
  • Az alkalmazásstruktúrát három összetevőre kell átszervezni: adatokra, szolgáltatásokra és front-end alkalmazásokra.
  • Minden összetevőt gondosan elemezni kell, és üzleti forgatókönyveket kell felvázolni.
  • Az üzleti forgatókönyveket általános forgatókönyvekre és alkalmazásspecifikus forgatókönyvekre kell osztani.
  • A Tracteljesítőképességi mátrix elő kell készíteni, és minden tesztesetet tracüzleti forgatókönyvekhez igazítva.

Tesztvégrehajtási megközelítés

  • Minden szolgáltatási összetevőt tesztelni kell.
  • Integrációs tesztelés A szolgáltatáskomponensek közül a szolgáltatásokon keresztüli adatáramlás és az adatintegritás érvényesítése érdekében kell elvégezni.
  • Rendszer tesztelés A teljes modell tesztelését el kell végezni az előtér-alkalmazás és az adatbázis közötti adatfolyam validálásához.
  • Teljesítményfelmérés a finomhangolás és az optimális teljesítmény érdekében meg kell tenni.

SOA tesztelési módszerek

1) Üzleti forgatókönyv-vezérelt adatalapú tesztelés

  • A rendszerhez kapcsolódó különféle üzleti szempontokat elemezni kell.
  • A forgatókönyveket az alkalmazás különböző webszolgáltatásainak, valamint a webszolgáltatások alkalmazással való integrációja alapján kell kidolgozni.
  • Az adatbeállítást a fenti forgatókönyvek alapján kell elvégezni.
  • Az adatbeállításnak a teljes körű forgatókönyveket is le kell fednie.

2) Csonkok

  • A szolgáltatások teszteléséhez próbainterfészeket hoznak létre.
  • Ezeken az interfészeken keresztül különféle bemenetek biztosíthatók, és a kimenetek érvényesíthetők.
  • Amikor egy alkalmazás egy külső szolgáltatáshoz (harmadik féltől származó szolgáltatáshoz) tartozó interfészt használ, amely nincs tesztelés alatt, akkor egy csonk hozható létre az integrációs tesztelés során.

3) Regressziós tesztelés

  • Regressziós teszt az alkalmazáson akkor kell elvégezni, ha több kiadás létezik, hogy biztosítsák a rendszerek stabilitását és rendelkezésre állását.
  • Egy átfogó regressziós tesztcsomag készül, amely lefedi az alkalmazás fontos részét képező szolgáltatásokat.
  • Ez a tesztkészlet a projekt több kiadásában is újrafelhasználható.

4) Szolgáltatási szintű tesztelés

A szolgáltatásszintű tesztelés magában foglalja a komponens funkcionalitásának, biztonságának, teljesítményének és interoperabilitásának tesztelését. Minden egyes szolgáltatást először külön kell tesztelni.

5) Funkcionális tesztelés

Funkcionális tesztelés minden szolgáltatásnál el kell végezni a következőket:

  • Győződjön meg arról, hogy a szolgáltatás minden kérésre a megfelelő választ adja.
  • Győződjön meg arról, hogy a megfelelő hibák érkeznek az érvénytelen vagy hibás adatokat tartalmazó kérések esetén.
  • Ellenőrizze az összes kérést és választ minden olyan művelethez, amelyet a szolgáltatásnak futási időben kell végrehajtania.
  • Hibaüzenetek validálása szerver-, kliens- vagy hálózati szintű hiba esetén.
  • Ellenőrizze, hogy a kapott válaszok megfelelő formátumban vannak-e.
  • Ellenőrizze, hogy a válaszban kapott adatok megfelelnek-e a kért adatoknak.

6) Biztonsági tesztelés

A webszolgáltatás biztonsági tesztelése fontos szempont a SOA alkalmazás szolgáltatásszintű tesztelése során, mivel ez biztosítja az alkalmazás biztonságát.

A tesztelés során a következő tényezőket kell figyelembe venni:

  • A webszolgáltatásnak be kell tartania a WS-Security által meghatározott iparági szabványt.
  • A biztonsági intézkedéseknek kifogástalanul kell működniük.
  • Adattitkosítás és digitális aláírások a dokumentumokon.
  • Hitelesítés és engedélyezés.
  • SQL injekció, rosszindulatú szoftverek, XSS, CSRF és egyéb sebezhetőségek tesztelése a következőn történik: XML.
  • Szolgáltatásmegtagadási támadások.

7) Teljesítményteszt

A szolgáltatás teljesítménytesztelését el kell végezni, mivel a szolgáltatások újrafelhasználhatók, és több alkalmazás is használhatja ugyanazt a szolgáltatást.

A tesztelés során a következő tényezőket veszik figyelembe:

  • A szolgáltatás teljesítményét és működőképességét erős terhelés mellett is tesztelni kell.
  • Össze kell hasonlítani a szolgáltatás teljesítményét önállóan és az alkalmazáson belüli összekapcsolt állapotban.
  • Terhelési tesztelés A szolgáltatás tesztelését el kell végezni a válaszidő ellenőrzése, a szűk keresztmetszetek keresése, a CPU és a memória kihasználtságának ellenőrzése, valamint a skálázhatóság előrejelzése érdekében.

8) Integrációs szintű tesztelés

  • A szolgáltatásszintű tesztelés az egyes szolgáltatások megfelelő működését biztosítja külön-külön; nem garantálja az összekapcsolt komponensek működését.
  • Az integrációs tesztelést elsősorban a következőkre összpontosítva végzik: interfészek.
  • Ez a fázis az összes lehetséges üzleti forgatókönyvet lefedi.
  • Az alkalmazás nem funkcionális tesztelését ebben a fázisban ismét el kell végezni. A biztonsági, megfelelőségi és teljesítménytesztelés biztosítja a rendszer rendelkezésre állását és stabilitását minden szempontból.
  • A kommunikációs és hálózati protokollokat tesztelni kell a szolgáltatások közötti adatkommunikáció konzisztenciájának ellenőrzésére.

9) Végponttól végéig tesztelés

Ez a fázis biztosítja, hogy az alkalmazás megfeleljen az üzleti követelményeknek mind funkcionálisan, mind nem funkcionálisan.

Az alábbi tételek garantáltan tesztelésre kerülnek a vizsgálat során végpontok közötti tesztelés:

  • Az integráció után minden szolgáltatás az elvárásoknak megfelelően működik
  • Kivételkezelés
  • Az alkalmazás felhasználói felülete
  • Megfelelő adatáramlás az összes komponensen keresztül
  • Üzleti folyamat

Kihívások a SOA tesztelésben

Ezen módszerek alkalmazása ritkán egyszerű, és az alábbi nehézségek szinte minden SOA programnál ismétlődnek.

  • Szolgáltatásokhoz szükséges interfészek hiánya.
  • A tesztelési folyamat több rendszert ölel fel, ami összetett adatigényeket támaszt.
  • Az alkalmazás különféle komponensek gyűjteménye, amelyek hajlamosak változni, ezért a regressziós tesztelésre gyakrabban van szükség.
  • A többrétegű architektúra miatt nehéz a hibákat izolálni.
  • Mivel egy szolgáltatást különböző interfészek használnak, a terhelést nehéz megjósolni, ami megnehezíti a teljesítménytesztek tervezését.
  • A SOA heterogén technológiák gyűjteménye. Egy SOA alkalmazás tesztelése eltérő készségekkel rendelkező embereket igényel, ami viszont növeli a tervezési és végrehajtási költségeket.
  • Mivel az alkalmazás több szolgáltatást integrál, a biztonsági tesztelésnek is megvannak a maga nehézségei. A hitelesítés és az engedélyezés validálása nehézkes.

SOA tesztelési eszközök

Számos SOA tesztelőeszköz érhető el a piacon, amelyek segítik a tesztelőket a SOA alkalmazások tesztelésében. Íme néhány népszerű SOA tesztelőeszköz.

1) SoapUI

SoapUI egy nyílt forráskódú funkcionális tesztelő eszköz szolgáltatásokhoz és API tesztelés.

  • Asztali alkalmazás
  • Több protokollt támogat — SOAP, REST, HTTP, JMS, AMF, JDBC
  • A webszolgáltatások fejleszthetők, ellenőrizhetők és meghívhatók.
  • Terheléses tesztelésre is használható, Automatizálási tesztelésés biztonsági tesztelés
  • Csonkokat a MockServices hozhat létre
  • A webszolgáltatás-kérések és tesztek automatikusan generálhatók a webszolgáltatás-kliensen keresztül.
  • Beépített jelentéskészítő eszközökkel rendelkezik
  • A SmartBear fejlesztette ki, amely mindkettőt szállítja nyílt forráskódú SoapUI forgalmazás és a kereskedelmi ReadyAPI kiadás

2) Broadcom szolgáltatásvirtualizáció (korábban iTKO LISA)

A LISA egy termékcsomag, amely funkcionális tesztelési megoldást kínál elosztott rendszerekhez, például SOA-hoz. A termék az iTKO-tól a CA Technologies-hoz került, és ma Broadcom Service Virtualization néven forgalmazzák.

  • Regresszióhoz, integrációhoz, betöltéshez és teljesítményteszteléshez is használható.
  • Tesztek tervezésére és végrehajtására használható.

3) UFT Egy (korábban HP szervizteszt)

A Service Test egy funkcionális tesztelő eszköz, amely támogatja mind a felhasználói felület, mind a megosztott szolgáltatások tesztelését. API tesztelési képességét beépítették az Unified Functional Testingbe, amelyet most a következő forgalmaz. OpenText as UFT Egy.

  • A szolgáltatások funkcionális és teljesítménytesztjei is elvégezhetők egyetlen szkripttel.
  • Integrálva a Quality Centerrel, mostantól a következő néven kapható OpenText ALM / Minőségügyi Központ.
  • Hatalmas mennyiségű szolgáltatás és adat kezelhető.
  • Támogatja az interoperabilitás tesztelését a JEE, AXIS és DotNet klienskörnyezetek szimulálásával.

4) Parasoft SOAteszt

A Parasoft SOAtest egy tesztelési és elemző eszközcsomag, amelyet API és API-vezérelt alkalmazásteszteléshez fejlesztettek ki.

  • Támogatja a webszolgáltatásokat, a REST, JSON, MQ, JMS, TIBCO, HTTP és XML technológiákat.
  • Funkcionális, egység-, integrációs, regressziós, biztonsági, interoperabilitási, megfelelőségi és teljesítménytesztelés lehetséges.
  • A csonkok létrehozhatók a következővel: Parasoft Virtualize, amelyek jobban képesek, mint SoapUI Álszolgáltatások.

SOA tesztelési használati esetek

Az alábbi kidolgozott példa a fenti stratégiát, módszereket és eszközöket egyetlen e-kereskedelmi webhelyre alkalmazza, fázisról fázisra.

Vegyünk egy e-kereskedelmi weboldalt, amely az alábbi funkciókat és alfunkciókat tartalmazza.

Rendelés feldolgozása

Az alábbi táblázat a megrendelések feldolgozását szolgáltatásokká váló alfunkciókra bontja.

A rendelésfeldolgozás alfunkciókra bontva, mint például rendelés létrehozása, készlet ellenőrzése és rendelés állapotának módosítása

1. FÁZIS

A SOA tesztelés első fázisában, a tesztelési stratégia fázisában az alkalmazást szolgáltatásokra és üzleti funkciókra bontják.

Tekintsük az alábbi szolgáltatásokat az alkalmazásban.

  • Rendelés létrehozása
  • Ellenőrizze az Ügyfél állapotát
  • Megrendelés állapotának módosítása
  • Rendelési állapot ellenőrzése
  • Ellenőrizze a készletet

Az üzleti funkciók megegyeznek a weboldal funkcióival.

Megjegyzés: A tesztelési stratégiai dokumentum tartalmazza a tesztelendő szolgáltatások és függvények listáját.

2. FÁZIS

Ez a teszttervezési fázis. Teszt esetek minden szinthez le vannak írva.

Végtől végéig szinten. A tesztesetek minden üzleti felhasználási esethez és folyamathoz meg vannak írva. Az alábbiakban teszteseteket láthatunk.

  • Hozz létre egy rendelést egy aktív felhasználóval.
  • Hozzon létre egy rendelést inaktív felhasználóval.
  • Hozzon létre egy rendelést egy elérhető termékkel, ahol a rendelési mennyiség < az elérhető mennyiség.
  • Hozzon létre egy rendelést egy elérhető termékkel, ahol a rendelési mennyiség > az elérhető mennyiség.
  • Hozz létre egy több tételből álló rendelést.
  • Teljesen törölje a rendelést.
  • Rendelés részleges lemondása.

Integrációs szint. A tesztesetek az adatbázis és a felhasználói felület integrációjára szolgálnak. Az alábbiakban példákat láthatunk a tesztesetekre.

  • Hozzon létre új rendelést egyetlen tétellel. Ellenőrizze, hogy a rendelés létrejött-e az adatbázisban.
  • Hozzon létre új rendelést egyetlen tétellel. Ellenőrizze, hogy a rendelésre számított ár helyes-e.
  • Hozzon létre egy új rendelést egyetlen tétellel. Ellenőrizze, hogy a rendelkezésre álló termék mennyisége csökkentve van-e a rendelési összeggel.
  • Ellenőrizze, hogy a felhasználói felületen megjelenített rendelés állapota megegyezik-e az adatbázisban szereplővel.
  • Törölje a rendelést, és ellenőrizze, hogy a megrendelés állapota módosult-e az adatbázisban.
  • Első fizetés esetén ellenőrizze, hogy a felhasználói felületen megadott fizetési adatok mentve vannak-e az adatbázisban.
  • Fizetések visszatérítéséhez ellenőrizze, hogy az adatbázisban szereplő fizetési adatok megjelennek-e a felhasználói felületen.

Szolgáltatási szint. Minden szolgáltatást az összes adatfeltétel tekintetében tesztelünk. Az alábbiakban néhány példát láthat.

Nem. Megrendelni Részletek Megrendelés állapota
1 Rendelés létrehozása. Elemek száma = 1 Rendelési mennyiség < Mennyiség az adatbázisban
2 Rendelés létrehozása. Elemek száma > 1 Rendelésen szereplő mennyiség < adatbázisban szereplő mennyiség
3 Rendelés létrehozása. Elemek száma = 1 Mennyiség a rendelésben > Mennyiség az adatbázisban
4 Ellenőrizze a rendelés állapotát Állapot az adatbázisban = Aktív
5 Ellenőrizze a rendelés állapotát Állapot az adatbázisban = Szállítva
6 Ellenőrizze a rendelés állapotát Állapot az adatbázisban = Megszakítva
7 Ellenőrizze a rendelés állapotát Rendelési azonosító = Érvénytelen
8 Ellenőrizze a termék elérhetőségét Termék mennyisége >0
9 Ellenőrizze a termék elérhetőségét A termék mennyisége =0
10 Ellenőrizze a termék elérhetőségét Termékazonosító = érvénytelen

3. FÁZIS – Teszt végrehajtása

A tesztek végrehajtása alulról felfelé irányuló megközelítést alkalmaz: először a szolgáltatási szintű tesztelést, majd az integrációs szintű tesztelést, végül pedig a teljes körű tesztelést végzik el.

1) Szolgáltatási szint

Gondoljunk arra, hogy a SoapUI eszközt az alkalmazás tesztelésére használják. A WSDL és URL a tesztablakba böngészhetők SoapUI, és az egyes szolgáltatásokra vonatkozó kérések megjelennek a kérésablakban. Az adatok szolgáltatási szintű teszteseteknek megfelelő módosításával minden tesztesethez létrejönnek a kérések.

Teszt eset Kérjen Várható válasz
Rendelés létrehozása. Tételek száma = 1, Rendelt mennyiség < adatbázisban lévő mennyiség x2 2 o3251 Sikeres
Rendelés létrehozása. Tételek száma > 1, Rendelésen szereplő mennyiség < Adatbázison szereplő mennyiség y1 1 y2 3 o3251 Sikeres
Rendelés létrehozása. Tételek száma = 1, Rendelt mennyiség > Adatbázison lévő mennyiség x23 200 nulla Sikertelen
Ellenőrizze a rendelés állapotát. Az adatbázisban szereplő állapot = Aktív o9876 Aktív Sikeres
Ellenőrizze a rendelés állapotát. Az adatbázisban szereplő állapot = Kiszállítva o9656 Szállítva Sikeres
Ellenőrizze a rendelés állapotát. Rendelési azonosító = Érvénytelen y5686 nulla Sikertelen
Ellenőrizze a termék elérhetőségét. A termék mennyisége >0 d34 34 Igen Sikeres
Ellenőrizze a termék elérhetőségét. Termékmennyiség = 0 y34 0 nem Sikeres
Ellenőrizze a termék elérhetőségét. Termékazonosító = érvénytelen sder Sikertelen

2) Integrációs szint

Az integrációs szintű tesztesetek a felhasználói felületen és az adatbázisban futnak. Hozz létre egy rendelést egyetlen tétellel:

  • A felhasználó megnyitja a webhelyet.
  • A felhasználó elmegy leadni egy rendelést.
  • A felhasználó kiválaszt egy érvényes terméket és mennyiséget, majd menti a rendelést.
  • Egy üzenetnek kell megjelennie, amely jelzi, hogy a megrendelés sikeresen leadva.
  • A felhasználó megnyitja az adatbázist, és ellenőrzi, hogy a rendelés adatai megegyeznek-e a weboldalon megadottakkal.

3) End to End szint

Az üzleti folyamatok és használati esetek a felhasználói felületen futnak. Hozzon létre egy több tételből álló rendelést:

  • A felhasználó megnyitja a webhelyet.
  • A felhasználó elmegy leadni egy rendelést.
  • A felhasználó érdeklődik egy érvényes termék és mennyiség felől, majd hozzáadja a kosárhoz.
  • További érvényes termékek kerülnek hozzáadásra érvényes mennyiségekkel, és a rendelés mentésre kerül. A fizetés új fizetési móddal történik, és a rendelés leadásra kerül.
  • Megjelenik a „Megrendelés sikeresen” üzenet.
  • A tesztelőnek ellenőriznie kell, hogy a teljes folyamat az adatok torzítása nélkül fejeződik-e be.

GYIK

A szintek ugyanazok, de a SOA szolgáltatások durvábbak és általában egy vállalati szolgáltatásbuszon keresztül irányítódnak, így az integrációs tesztek a buszt célozzák meg. A mikroszolgáltatások finomabb szemcséjűek és függetlenül telepíthetők, ami a hangsúlyt a kon-ra helyezi át.tract és rugalmassági tesztelés.

ContracAz t tesztelés azt ellenőrzi, hogy a szolgáltató továbbra is tiszteletben tartja-e a felhasználók által elvárt kérés- és válaszformát, általában a WSDL vagy a séma alapján. A szolgáltatási szint és az integrációs szint között helyezkedik el, és a teljes integrációs futás előtt észleli a hibás változásokat.

Egy kézzel írott csonk elegendő egy fix válaszhoz. A virtualizáció akkor éri meg a licencet, ha a függőség mért, sebességkorlátozott vagy állapotalapú, mivel olyan valósághű késleltetést, hibakódokat és adatvariációkat játsszon le, amelyeket egy statikus csonk nem tud reprodukálni.

Igen. A rétegek és szintek protokollfüggetlenek. A SOAP szolgáltatásokat a WSDL és a WS-Security szabályok alapján validálják, míg a REST szolgáltatásokat OpenAPI definíció, állapotkódok és token alapú hitelesítés alapján. A legtöbb eszközcsomag mindkettőt kezeli.

A gépi tanulási modellek egy sémából generálnak kérési adatokat, a szolgáltatásokat a hibaelőzmények alapján rangsorolják, hogy a regressziós csomagok a legkockázatosabbakat futtassák először, és a rétegek között csoportosítják a hibaválaszokat, hogy leszűkítsék a hibák eredetét a többrétegű architektúrán belül.

A Copilot WSDL-ből vagy sémából kéri a hasznos adatokat, assertion kódot ír, mock szolgáltatásokat állít össze és folyamatlépéseket generál. A tesztelőnek továbbra is meg kell adnia az üzleti szabályokat, a negatív adatfeltételeket és a várható hibaüzeneteket, amelyeket a modell nem tud kikövetkeztetni.

Code A lefedettség ritkán áll rendelkezésre heterogén szolgáltatások között, ezért a csapatok mérik a működési lefedettséget (minden végrehajtott művelet), az üzenetlefedettséget (minden hiba és sikerút), valamint az üzleti forgatókönyvek lefedettségét. traca teszttervezés során felépített mátrixon keresztül.

WSDL, XSD és XML vagy JSON hasznos adatok olvasása, SQL írása inaktív adatok ellenőrzésére, kényelmes munkavégzés egy API klienssel, és a használatban lévő üzenetküldő köztes szoftver megértése. Az alapvető szkriptelés segít, mivel a legtöbb csomag automatizált.

Foglald össze ezt a bejegyzést a következőképpen: