మైక్రోసర్వీస్‌ను పరీక్షించడం - బిగినర్స్ గైడ్

మైక్రోసర్వీస్ ఆర్కిటెక్చర్ ఉపయోగించి అనేక కొత్త అనువర్తనాలు నిర్మించబడుతున్నందున మైక్రోసర్వీస్ పరీక్షించడం మరింత ప్రాముఖ్యత సంతరించుకుంది.

మైక్రోసర్వీస్‌లను ఎలా పరీక్షించాలో చూడడానికి ముందు, అవి ఏమిటో మనం మొదట అర్థం చేసుకోవాలి.



మైక్రోసర్వీస్ అంటే ఏమిటి?

మైక్రోసర్వీస్ ఒక నిర్మాణ శైలిగా నిర్వచించబడింది, ఒకే అనువర్తనాన్ని సేవల సూట్‌గా అభివృద్ధి చేసే విధానం. ప్రతి సేవ దాని లక్షణాల ద్వారా నిర్వచించబడుతుంది, వాటిలో కొన్ని:


  • దాని ప్రక్రియలో నడుస్తోంది.
  • తేలికపాటి మెకానిజంతో తరచుగా HTTP వనరు API తో కమ్యూనికేట్ చేయడం.
  • పూర్తిగా స్వయంచాలక యంత్రాల ద్వారా స్వతంత్రంగా మోహరించవచ్చు.
  • వివిధ ప్రోగ్రామింగ్ భాషలు / సాంకేతికతలు / డిబిని ఉపయోగించడం.
  • విభిన్న డేటా నిల్వ సాంకేతికతలను ఉపయోగిస్తోంది.

మైక్రోసర్వీస్ ఆర్కిటెక్చరల్ స్టైల్‌లో చిన్న సేవల సూట్‌గా కలిసి పనిచేయగల ఒకే అనువర్తనాలను అభివృద్ధి చేయడం, ప్రతి దాని వ్యక్తిగత ప్రక్రియలో నడుస్తుంది మరియు హెచ్‌టిటిపి రిసోర్స్ API వంటి తేలికపాటి విధానాలతో కమ్యూనికేట్ చేయడం. ఈ సేవలకు కనీస కేంద్రీకృత నిర్వహణ అవసరం, వేర్వేరు డేటా నిల్వ సాంకేతిక పరిజ్ఞానాన్ని ఉపయోగించడం మరియు వివిధ ప్రోగ్రామింగ్ భాషలలో వ్రాయవచ్చు. వ్యాపార సామర్ధ్యాల చుట్టూ నిర్మించిన ఈ సేవలను పూర్తిగా స్వయంచాలక విస్తరణకు మద్దతు ఇచ్చే యంత్రాల ద్వారా కూడా స్వతంత్రంగా అమలు చేయవచ్చు.

మైక్రోసర్వీస్ లక్షణాలు:


  • వ్యాపార సామర్థ్యం చుట్టూ నిర్వహించబడింది,
  • స్వయంచాలక విస్తరణ,
  • సర్వీస్ బస్సులో కాకుండా ఎండ్ పాయింట్స్‌లో ఇంటెలిజెన్స్,
  • భాషలు మరియు డేటా యొక్క వికేంద్రీకృత నియంత్రణ.


మైక్రోసర్వీస్ SOA కి ఎలా భిన్నంగా ఉంటాయి

  • సేవా-ఆధారిత నిర్మాణం (SOA): కంప్యూటర్ సాఫ్ట్‌వేర్ రూపకల్పనలో ఒక నిర్మాణ నమూనా, దీనిలో అనువర్తన భాగాలు కమ్యూనికేషన్ ప్రోటోకాల్ ద్వారా ఇతర భాగాలకు సేవలను అందిస్తాయి, సాధారణంగా నెట్‌వర్క్ ద్వారా.
  • మైక్రోసర్వీస్ : సాఫ్ట్‌వేర్ ఆర్కిటెక్చర్ శైలి, దీనిలో సంక్లిష్ట అనువర్తనాలు భాష-అజ్ఞేయ API లను ఉపయోగించి ఒకదానితో ఒకటి సంభాషించే చిన్న, స్వతంత్ర ప్రక్రియలతో కూడి ఉంటాయి.

ఉదాహరణ:

ఉబెర్ ఒక SOA తో నిర్మించబడితే, వారి సేవలు ఇలా ఉండవచ్చు:

  • GetPaymentsAndDriverInformationAndMappingDataAPI
  • AuthenticateUsersAndDriversAPI

ఉబెర్ మైక్రోసర్వీస్‌తో నిర్మించబడితే, వాటి API లు ఇలా ఉండవచ్చు:

  • సమర్పణ చెల్లింపుల సేవ
  • GetDriverInfoService
  • GetMappingDataService
  • AuthenticateUserService
  • AuthenticateDriverService

మరిన్ని API లు, చిన్న చిన్న బాధ్యతలు.




మైక్రోసర్వీస్‌లను ఎలా పరీక్షించాలి

యూనిట్ పరీక్షలు

తెలిసిన పరీక్షల సమితి ఇచ్చిన కావలసిన ఉత్పత్తిని అవి ఉత్పత్తి చేస్తాయో లేదో తెలుసుకోవడానికి యూనిట్ పరీక్షలు అనువర్తనంలోని ఫంక్షన్ వంటి చిన్న చిన్న సాఫ్ట్‌వేర్‌లను వ్యాయామం చేస్తాయి.

యూనిట్ పరీక్ష మాత్రమే సిస్టమ్ యొక్క ప్రవర్తన గురించి హామీ ఇవ్వదు. మైక్రోసర్వీస్ కోసం మాకు ఇతర రకాల పరీక్షలు అవసరం.

కాంపోనెంట్ టెస్టులు

మేము మైక్రోసర్వీస్‌లోని అన్ని ఫంక్షన్ల యొక్క యూనిట్ పరీక్షను నిర్వహించిన తర్వాత, మైక్రోసర్వీస్‌ను ఒంటరిగా పరీక్షించాలి.

సాధారణంగా, ఒక అనువర్తనం అనేక మైక్రోసర్వీస్‌లతో కూడి ఉంటుంది, కాబట్టి ఒంటరిగా పరీక్షించడానికి, మేము ఇతర మైక్రోసర్వీస్‌లను అపహాస్యం చేయాలి.


కాంపోనెంట్ పరీక్షలు మైక్రోసర్వీస్ యొక్క పరస్పర చర్యను డేటాబేస్ వంటి డిపెండెన్సీలతో పరీక్షిస్తాయి, అన్నీ ఒకే యూనిట్‌గా.

ఇంటిగ్రేషన్ పరీక్షలు

ప్రతి మైక్రోసర్వీస్ యొక్క కార్యాచరణను మేము ధృవీకరించిన తరువాత, మేము ఇంటర్-సర్వీస్ కమ్యూనికేషన్లను పరీక్షించాలి. ఇంటిగ్రేషన్ పరీక్ష ఇంటర్ఫేస్ లోపాలను గుర్తించడానికి కమ్యూనికేషన్ మార్గాలు మరియు భాగాల మధ్య పరస్పర చర్యలను ధృవీకరిస్తుంది

సేవా కాల్‌లు తప్పనిసరిగా బాహ్య సేవలకు అనుసంధానంతో చేయాలి, ఇందులో లోపం మరియు విజయ కేసులు ఉండాలి, అందువల్ల, ఇంటిగ్రేషన్ టెస్టింగ్ సిస్టమ్ సజావుగా కలిసి పనిచేస్తుందని మరియు సేవల మధ్య డిపెండెన్సీలు .హించిన విధంగా ఉన్నాయని ధృవీకరిస్తుంది.

కాంట్రాక్ట్ పరీక్షలు

కాంట్రాక్ట్ పరీక్షలు బాహ్య సేవ యొక్క సరిహద్దు వద్ద పరస్పర చర్యలను ధృవీకరిస్తాయి, ఇది వినియోగించే సేవ ద్వారా contract హించిన ఒప్పందానికి అనుగుణంగా ఉందని పేర్కొంది.


ఈ రకమైన పరీక్ష ప్రతి సేవను బ్లాక్ బాక్స్ లాగా పరిగణించాలి మరియు అన్ని సేవలను స్వతంత్రంగా పిలవాలి మరియు వారి స్పందనలు ధృవీకరించబడాలి.

'కాంట్రాక్ట్' అంటే వినియోగదారుల కాంట్రాక్ట్ పరీక్ష ద్వారా సేవా కాల్ (నిర్దిష్ట ఇన్పుట్లకు నిర్దిష్ట ఫలితం లేదా అవుట్పుట్ ఆశించబడేది). సేవ మారినప్పటికీ, ప్రతి వినియోగదారుడు కాలక్రమేణా ఒక సేవ నుండి అదే ఫలితాలను పొందాలి. తరువాత ప్రతిస్పందనలకు అవసరమైన విధంగా మరింత కార్యాచరణను జోడించే సౌలభ్యం ఉండాలి. అయితే, ఈ చేర్పులు సేవా కార్యాచరణను విచ్ఛిన్నం చేయకూడదు.

ఎండ్-టు-ఎండ్ టెస్టులు

ఎండ్-టు-ఎండ్ పరీక్షల పాత్ర ప్రతిదీ ఒకదానితో ఒకటి ముడిపడి ఉందని నిర్ధారించుకోవడం మరియు మైక్రోసర్వీస్‌ల మధ్య ఉన్నత-స్థాయి విభేదాలు లేవని నిర్ధారించుకోవడం.

ఎండ్-టు-ఎండ్ పరీక్షలు ఒక వ్యవస్థ బాహ్య అవసరాలను తీర్చగలదని మరియు దాని లక్ష్యాలను సాధిస్తుందని ధృవీకరిస్తుంది, మొత్తం వ్యవస్థను పరీక్షించి, చివరి నుండి చివరి వరకు.


అన్ని సేవ మరియు డిబి ఇంటిగ్రేషన్‌తో సహా మొత్తం ప్రక్రియ మరియు వినియోగదారు ప్రవాహాలు సరిగ్గా పనిచేస్తాయని పరీక్షలు ధృవీకరిస్తాయి. బహుళ సేవలను ప్రభావితం చేసే కార్యకలాపాల యొక్క పూర్తి పరీక్ష వ్యవస్థ మొత్తం కలిసి పనిచేస్తుందని మరియు అన్ని అవసరాలను సంతృప్తిపరుస్తుందని నిర్ధారిస్తుంది.



మైక్రోసర్వీస్‌ను పరీక్షించే ఉదాహరణ

మైక్రోసర్వీస్ తీసుకుందాం TO అది రెండు ఇతర సేవలపై ఆధారపడి ఉంటుంది బి & సి . మీరు ఏకాంత వాతావరణాన్ని ఏర్పాటు చేసుకోవాలి TO , బి మరియు సి బాగా నిర్వచించబడింది మరియు పదేపదే సెటప్ చేయవచ్చు.

ఉదాహరణకు, యొక్క స్థితి / నిల్వ బి మరియు సి ముందుగా ప్రారంభించబడాలి. ఆ తరువాత, మీరు మైక్రోసర్వీస్ యొక్క API లను పరీక్షించే పరీక్షల సమితిని అమలు చేస్తారు TO పరీక్షా సాధనాల సాధారణ REST / వెబ్‌సర్వీస్ సెట్‌ను ఉపయోగించడం, ఉదా. SOAP లేదా Chakram లేదా మీ ప్రోగ్రామింగ్ భాష కోసం సాధారణ xUnit ప్రత్యామ్నాయం.

రెస్టిటోను ఉపయోగించడంపై API ఆధారపడిన ఏదైనా పీర్ సేవలను అపహాస్యం చేయండి. ఇతర ప్రత్యామ్నాయాలలో రెస్ట్-డ్రైవర్, వైర్‌మాక్ మరియు మోచిటో ఉన్నాయి.

మైక్రోసర్వీస్ యొక్క ఇంటిగ్రేషన్ టెస్టింగ్ చేసేటప్పుడు 3 వ పార్టీ API లను అపహాస్యం / నకిలీ చేయడం స్పష్టమైన సవాలు. మీరు పైన పేర్కొన్న ఏదైనా ఎగతాళి సాధనాలను ఉపయోగించవచ్చు, మా పరీక్షా పోటీలో భాగంగా మాక్‌లను పరిగణించండి మరియు మీరు కొత్త API విడుదలలతో తాజాగా ఉన్నారని నిర్ధారించుకోండి.

ఆసక్తికరమైన కథనాలు