Að prófa örþjónustu - byrjendaleiðbeiningar

Prófun á örþjónustu verður sífellt mikilvægari þar sem mörg nýju forritin eru smíðuð með Microservices arkitektúr.

Áður en við getum séð hvernig á að prófa örþjónustu verðum við fyrst að skilja hvað þau eru.

Hvað eru örþjónustur?

Örþjónusta er skilgreind sem byggingarstíll, nálgun til að þróa eitt forrit sem þjónustuþjónustu. Hver þjónusta er skilgreind með eiginleikum sem sumir eru:

  • Keyrir í því ferli.
  • Samskipti við léttan búnað oft með HTTP auðlindarforritaskilum.
  • Sjálfstætt dreifanlegt með fullkomlega sjálfvirkum vélum.
  • Nota mismunandi forritunarmál / tækni / DB.
  • Er að nota mismunandi gagnageymslutækni.

Byggingarstíll örþjónustunnar felur í sér að þróa einstök forrit sem geta unnið saman sem föruneyti lítilla þjónustu, sem hver keyrir í sínu ferli og hefur samskipti við léttar aðferðir eins og forritaskil HTTP. Þessar þjónustur krefjast lágmarks miðstýringar, nota mismunandi gagnageymslutækni og geta verið skrifaðar á mismunandi forritunarmálum. Þessa þjónustu, sem byggð er upp í kringum viðskiptahæfileika, er einnig hægt að dreifa sjálfstætt með vélum sem styðja fullkomlega sjálfvirka dreifingu.

Eiginleikar örþjónustu:

  • Skipulögð í kringum viðskiptahæfileika,
  • Sjálfvirk dreifing,
  • Greind í endapunktunum frekar en í þjónustubifreið,
  • Dreifð stjórnun á tungumálum og gögnum.

Hvernig eru örþjónustur ólíkar SOA

  • Þjónustumiðaður arkitektúr (SOA): byggingarmynstur í hönnun tölvuhugbúnaðar þar sem forritshlutar veita þjónustu við aðra íhluti í gegnum samskiptareglur, venjulega yfir net.
  • Örþjónusta : Hugbúnaðararkitektúrstíll þar sem flókin forrit eru samsett úr litlum, sjálfstæðum ferlum sem eiga samskipti sín á milli með tungumálagrænum forritaskilum

Dæmi:



Ef Uber væri byggt með SOA gæti þjónusta þeirra verið:

  • GetPaymentsAndDriverInformationAndMappingDataAPI
  • Staðfestu notendurAndDriversAPI

Ef Uber væri smíðað með örþjónustu gætu forritaskil þeirra verið meira eins og:

  • SubmitPaymentsService
  • GetDriverInfoService
  • GetMappingDataService
  • AuthenticateUserService
  • AuthenticateDriverService

Fleiri forritaskil, minni ábyrgðarmörk.

Hvernig á að prófa örþjónustu

Einingarpróf

Einingarpróf æfa litla hugbúnaðinn, svo sem aðgerð í forritinu til að ákvarða hvort þau framleiði viðeigandi framleiðslu miðað við sett af þekktum aðföngum.

Rétt er að hafa í huga að einingaprófanir einar og sér veita ekki ábyrgð á hegðun kerfisins. Við þurfum aðrar gerðir af prófunum fyrir örþjónustu.

Íhlutapróf

Þegar við höfum framkvæmt einingapróf á öllum aðgerðum innan örþjónustu, þá þurfum við að prófa örþjónustuna sjálfa í einangrun.

Venjulega væri forrit samsett úr fjölda örþjónustu, svo til þess að prófa í einangrun verðum við að hæðast að öðrum örþjónustum.

Íhlutapróf munu einnig prófa samspil örþjónustu við ósjálfstæði þess eins og gagnagrunn, allt sem ein eining.

Samþættingarpróf

Eftir að við höfum staðfest virkni hverrar örþjónustu verðum við að prófa samskipti milli þjónustu. Samþættingarpróf staðfestir samskiptaleiðir og samskipti milli íhluta til að greina viðmótsgalla

Hringja verður í þjónustu með samþættingu við utanaðkomandi þjónustu, sem ætti að fela í sér mistök og árangurstilvik, þess vegna staðfestir samþættingarprófun að kerfið vinnur óaðfinnanlega saman og að háð þjónustan er til staðar eins og búist var við.

Samningsprófanir

Samningsprófanir staðfesta samskipti á mörkum utanaðkomandi þjónustu sem fullyrða að hún standist samninginn sem neysluþjónustan gerir ráð fyrir.

Þessar tegundir prófana ættu að meðhöndla hverja þjónustu sem svartan kassa og hringja verður í alla þjónustuna sjálfstætt og staðfesta svör þeirra.

„Samningur“ er hvernig vísað er til þjónustusímtals (þar sem búist er við ákveðinni niðurstöðu eða framleiðslu fyrir tiltekin aðföng) með neytendasamningaprófunum. Sérhver neytandi verður að fá sömu niðurstöður úr þjónustu með tímanum, jafnvel þó að þjónustan breytist. Það ætti að vera sveigjanleiki til að bæta við meiri virkni eins og krafist er við svörin síðar. Þessar viðbætur mega þó ekki rjúfa þjónustufyrirtækið.

End-to-End prófanir

Hlutverk prófanna frá lokum til enda er að ganga úr skugga um að allt tengist saman og það sé enginn ágreiningur á háu stigi milli örþjónustunnar.

End-to-end próf sannreyna að kerfi uppfylli ytri kröfur og nær markmiðum sínum, prófa allt kerfið, frá enda til enda.

Prófin staðfesta einnig að allt ferlið og notendaflæði virka rétt, þar með talin öll þjónusta og DB samþætting. Ítarlegar prófanir á aðgerðum sem hafa áhrif á margar þjónustu tryggir að kerfið vinnur saman sem ein heild og uppfyllir allar kröfur.

Dæmi um að prófa örþjónustu

Tökum smáþjónustu TIL það fer eftir tveimur öðrum þjónustum B & C . Þú þarft að koma á einangruðu umhverfi þar sem ástand TIL , B og C er vel skilgreint og hægt er að setja það upp ítrekað.

Til dæmis, ástand / geymsla á B og C ætti að vera frumstilla. Eftir það keyrir þú bara prófanir sem prófa forritaskil microservice TIL að nota venjulegt REST / WebService sett af prófunartækjum, t.d. SÆPA eða Chakram eða einfalt xUnit val fyrir forritunarmálið þitt.

Hlægja allar jafningjaþjónustu sem API er háð því að nota restito. Aðrir valkostir eru hvíldarstjóri, WireMock og Mochito.

Augljósa áskorunin er spottandi / fölsuð forritaskil þriðja aðila þegar gerð er samþættingarprófun á örþjónustu. Þú getur notað eitthvað af spotta verkfærunum sem nefnd eru hér að ofan, bara meðhöndla spottana sem hluta af prófbúnaðinum okkar og vertu viss um að þú sért uppfærður með nýjar API útgáfur.