Ìåòîäîëîãèÿ òåñòèðîâàíèÿ ìèêðîñåðâèñíûõ
îáëà÷íûõ ïðèëîæåíèé
∗
Ä.È. Ñàâ÷åíêî, .È. àä÷åíêî
Þæíî-Óðàëüñêèé îñóäàðñòâåííûé Óíèâåðñèòåò
Ìèêðîñåðâèñíûéïîäõîäêîðãàíèçàöèèïðèëîæåíèéïîäðàçóìåâàåò,÷òîàðõèòåê-
òóðàîáëà÷íîãîïðèëîæåíèÿ ïðåäñòàâëÿåòñÿâ âèäåíàáîðà íåáîëüøèõíåçàâèñè-
ìûõñåðâèñîâ,êàæäûéèçêîòîðûõèìååòñâîþçîíóîòâåòñòâåííîñòèèóíêöèî-
íàëüíîñòü.Èñïîëüçîâàíèåòàêîãîïîäõîäàïîäðàçóìåâàåòíåîáõîäèìîñòüèñïîëü-
çîâàíèÿ ìåòîäîâ íåïðåðûâíîé èíòåãðàöèè äëÿ ðàçâåðòûâàíèÿ ñèñòåìû, ÷òî, â
ñâîþ î÷åðåäü, òðåáóåò ìåòîäîëîãèè è èíñòðóìåíòàðèÿ äëÿ àâòîìàòè÷åñêîãî òå-
ñòèðîâàíèÿêàêîòäåëüíûõìèêðîñåðâèñîâòàêèìèêðîñåðâèñíûõñèñòåìâîáùåì.
Âäàííîéñòàòüåïðåäëàãàåòñÿìåòîäîëîãèÿòåñòèðîâàíèÿìèêðîñåðâèñíûõñèñòåì
íà âñåõ ýòàïàõ èõ ðàçðàáîòêè è óíêöèîíèðîâàíèÿ, íà÷èíàÿ ñ ðàçðàáîòêè îò-
äåëüíûõìèêðîñåðâèñîâ, çàêàí÷èâàÿ íåïðåðûâíûìòåñòèðîâàíèåì ñòàáèëüíîñòè
ìèêðîñåðâèñíûõ ñèñòåì. Òàêæå,ïðåäñòàâëåíû ïîäõîäû ðåàëèçàöèè äàííîé ìå-
òîäîëîãèèíàîñíîâåïðîòîòèïàìèêðîñåðâèñíîéîáëà÷íîé ïëàòîðìûMjolnirr.
1. Ââåäåíèå
Ìèêðîñåðâèñíàÿ àðõèòåêòóðà ýòî ïàòòåðí ïðîåêòèðîâàíèÿ îáëà÷íûõ ïðèëîæåíèé,
ïîäðàçóìåâàþùèé, ÷òî ñëîæíîå ïðèëîæåíèå ðàçäåëÿåòñÿ íà ðÿä íåáîëüøèõ íåçàâèñèìûõ
ñåðâèñîâ, âçàèìîäåéñòâóþùèõ äðóã ñ äðóãîì ïîñðåäñòâîì êðîññïëàòîðìåííîãîAPI. Ýòè
ñåðâèñûìîãóò áûòüðàçâåðíóòû íåçàâèñèìî äðóãîò äðóãà, âàâòîìàòè÷åñêîìðåæèìå [14℄.
Ìèêðîñåðâèñûìîãóòáûòüðàññìîòðåíûêàêìåòà-ïðîöåññûìåòà-ÎÑ,îíèíåçàâèñèìûèìî-
ãóò âçàèìîäåéñòâîâàòü äðóã ñ äðóãîì ïîñðåäñòâîì ïåðåäà÷è ñîîáùåíèé, îíè ìîãóò áûòü
ïðîäóáëèðîâàíû, ïðèîñòàíîâëåíû è ïåðåçàïóùåíû, à òàêæå ïåðåìåùåíû íà ëþáîé äðó-
ãîé âû÷èñëèòåëüíûéóçåë. Íàäàííûéìîìåíò ñóùåñòâóåò íåñêîëüêî ïðèìåðîâðåàëèçàöèè
èñ.1:Ìîíîëèòíàÿ èìèêðîñåðâèñíàÿ àðõèòåêòóðû
∗
àáîòà âûïîëíåíàïðè èíàíñîâîéïîääåðæêå Ñîâåòà ïîãðàíòàì Ïðåçèäåíòàîññèéñêîé Ôåäåðàöèè
(íîìåðïðîåêòàÌÊ-7524.2015.9) èîññèéñêîãî îíäàóíäàìåíòàëüíûõ íàó÷íûõèññëåäîâàíèé (ãðàíò
14-07-00420)
ïëàòîðì,ïîñòðîåííûõ âñîîòâåòñòâèèñ ìèêðîñåðâèñíûìïîäõîäîì.Òàêèå êîìïàíèè,êàê
Netix [15,20℄ è SoundCloud [3℄ èñïîëüçóþò êîíöåïöèþ ìèêðîñåðâèñîâ â ñâîåé àðõèòåêòó-
ðå, â òî âðåìÿ, êàê Amazon [21℄ ïðåäëàãàåò íàáîð ñåðâèñîâ, êîòîðûå ìîãóò áûòü òàêæå
ðàññìîòðåíû êàê ïðèìåðûìèêðîñåðâèñîâ.
Ìèêðîñåðâèñíûé àðõèòåêòóðíûé ïîäõîä ìîæåò áûòü ïðîòèâîïîñòàâëåí ñ ìîíîëèòíûì
ïîäõîäîìêïðîåêòèðîâàíèþ àðõèòåêòóðûïðèëîæåíèÿ,ïðèêîòîðîìïðèëîæåíèåïðåäñòàâ-
ëÿåòñîáîéåäèíûéëîãè÷åñêèéáëîê(ñì.ðèñ.1).Ñåðâåðíàÿ÷àñòüìîíîëèòíîãîïðèëîæåíèÿ
ïðèíèìàåòHTTP-çàïðîñû,ñëåäèòçà áèçíåñ-ëîãèêîéïðèëîæåíèÿ,âçàèìîäåéñòâóåòñáàçîé
äàííûõ, à òàêæå îáåñïå÷èâàåò îòîáðàæåíèå èíòåðåéñà ïîëüçîâàòåëÿ äëÿ âñåãî ïðèëîæå-
íèÿ. Èçìåíåíèå îäíîãî ýëåìåíòà òàêîãî ïðèëîæåíèÿ ìîæåò ñïðîâîöèðîâàòü ïåðåñáîðêó è
ïåðåðàçâåðòûâàíèåâñåãîïðèëîæåíèÿ,÷òî,âñâîþî÷åðåäü,ìîæåòâûçâàòüïðîñòîèâðàáî-
òå ïîëüçîâàòåëåé ïðèëîæåíèÿ. Òàêæå, ïðè íåîáõîäèìîñòè ìàñøòàáèðîâàíèÿ, ïðèëîæåíèå
òàêîãî òèïà òÿæåëî ðàçáèòü íà íåçàâèñèìûå êîìïîíåíòû, â ñëåäñòâèè ÷åãî ïðèõîäèòñÿ
ïðîèçâîäèòü äóáëèðîâàíèå âñåãî ìîíîëèòà íà âñå âû÷èñëèòåëüíûåóçëû. Äëÿòîãî, ÷òîáû
èçáåæàòü òàêèõïîñëåäñòâèé,íåîáõîäèìî íåóêîñíèòåëüíîñëåäîâàòü ïàðàäèãìåïîñòðîåíèÿ
ìîäóëüíûõïðèëîæåíèé,÷òî,îäíàêî,òðåáóåò áîëüøèõ çàòðàòíàïðîåêòèðîâàíèå [14℄.
Ïðè ïðîåêòèðîâàíèè ñèñòåìû â ñîîòâåòñòâèè ñ ìèêðîñåðâèñíûì ïîäõîäîì (ñì. ðèñ.
1), ïðîåêòèðóåìàÿ ñèñòåìà äåëèòñÿ íà íåçàâèñèìûå êîìïîíåíòû (ìèêðîñåðâèñû), êîòîðûå
óïðàâëÿþòñÿíåçàâèñèìî.Òàêîåðàçäåëåíèåïîëåçíîäëÿâûñîêîíàãðóæåííûõñèñòåì,÷àñòè
êîòîðûõ ïîäâåðãàþòñÿ ðàçíîé íàãðóçêå è äîëæíûìàñøòàáèðîâàòüñÿ íåçàâèñèìî. Ìèêðî-
ñåðâèñíûé ïîäõîä èìååò ìíîãî îáùåãî ñ ñåðâèñ-îðèåíòèðîâàííûì ïîäõîäîì [12℄. Netix,
ðàçðàáîò÷èêîäíîéèç ïåðâûõìèêðîñåðâèñíûõ ïëàòîðì,íàçûâàåòìèêðîñåðâèñíóþàðõè-
òåêòóðó"ìåëêîìîäóëüíîéÑÎÀ"("anegrainedServieOrientedArhiteture")[13℄.Îäíàêî,
ìèêðîñåðâèñíàÿ àðõèòåêòóðà èìååò èñâîèõàðàêòåðíûåîñîáåííîñòè[14℄:
•
ìèêðîñåðâèñäîëæåíèñïîëüçîâàòüìåõàíèçì îáìåíàñîîáùåíèÿìèäëÿêîììóíèêàöèè ñ äðóãèìèìèêðîñåðâèñàìè (íàïðèìåð,HTTP);•
êàæäûéìèêðîñåðâèñäîëæåíðåàëèçîâûâàòüîòäåëüíûé,íåçàâèñèìûéîòäðóãèõìèê- ðîñåðâèñîâ, áëîêáèçíåñ-ëîãèêè ïðèëîæåíèÿ;•
ìèêðîñåðâèñûäîëæíûïîääåðæèâàòüâîçìîæíîñòèàâòîìàòèçèðîâàííîãîóïðàâëåíèÿ æèçíåííûìöèêëîì;•
ìèêðîñåðâèñíàÿàðõèòåêòóðàäîëæíàèìåòüìèíèìóìöåíòðàëèçîâàííûõðåñóðñîâ,àð- õèòåêòóðàìèêðîñåðâèñíîéñèñòåìûäîëæíàïîääåðæèâàòüäåöåíòðàëèçîâàííîåóïðàâ-ëåíèå.
Îäíàêîìèêðîñåðâèñíûéïîäõîäíåÿâëÿåòñÿóíèâåðñàëüíûìðåøåíèåìïðîáëåìûñëîæ-
íîñòè ÏÎ.  ñëó÷àå ìèêðîñåðâèñíîé àðõèòåêòóðû, ñëîæíîñòü ñîçäàíèÿ è óïðàâëåíèÿ ÏÎ
ïåðåêëàäûâàåòñÿ íà èíðàñòðóêòóðó [2℄. Ïî ýòîé ïðè÷èíå âîçíèêàåò íåîáõîäèìîñòü èñ-
ïîëüçîâàíèÿ ñïåöèàëüíûõ ñðåäñòâ äëÿ óïðàâëåíèÿ ñëîæíîñòüþ, â òîì ÷èñëå æèçíåííûì
öèêëîì ìèêðîñåðâèñîâ (çàïóñê, îñòàíîâêà, ïàóçàè äóáëèðîâàíèå ýêçåìïëÿðàìèêðîñåðâè-
ñà), áàëàíñèðîâêîé íàãðóçêè è íåïðåðûâíîé èíòåãðàöèè ìèêðîñåðâèñíîé ïëàòîðìû [19℄.
ÒàêîéíàáîðñåðâèñîâìîæåòáûòüïðåäîñòàâëåíPaaS-îáëàêîì,êîòîðîåìîæåòâçÿòüíàñåáÿ
óíêöèèìàñøòàáèðîâàíèÿìèêðîñåðâèñíîãîïðèëîæåíèÿ,ïîääåðæàíèÿæèçíåííîãîöèêëà,
à òàêæåïðåäîñòàâèòüïîäñèñòåìóîáìåíàñîîáùåíèÿìè. Êðîìåòîãî, ìíîãèåPaaS-ðåøåíèÿ
èìåþò âñòðîåííûéìåõàíèçì ìîíèòîðèíãà ñîñòîÿíèÿîòäåëüíûõêîìïîíåíòîâïðèëîæåíèÿ,
à òàêæåïîòîêàñîîáùåíèé ìåæäóýòèìè êîìïîíåíòàìè[17℄.
Öåëüþ äàííîãî èññëåäîâàíèÿ ÿâëÿåòñÿ ðàçðàáîòêà ìåòîäîëîãèè òåñòèðîâàíèÿ ìèêðî-
ñåðâèñîâ è ðåàëèçàöèÿ ðåøåíèÿ, ïîçâîëÿþùåãî ïðîèçâîäèòü àâòîìàòèçèðîâàííîåòåñòèðî-
âàíèå ìèêðîñåðâèñíûõ ñèñòåì. Äëÿäîñòèæåíèÿ ýòîéöåëè íåîáõîäèìîðåøèòü ñëåäóþùèå
çàäà÷è:
•
ïðîâåñòè îáçîð ñóùåñòâóþùèõ ïîäõîäîâ ê òåñòèðîâàíèþ îáëà÷íûõ, ìóëüòèàãåíòíûõ è äðóãèõðàñïðåäåëåííûõ ïðîãðàììíûõ ñèñòåì ñ öåëüþ âûÿâëåíèÿ îñîáåííîñòåé òå-ñòèðîâàíèÿ, õàðàêòåðíûõ äëÿìèêðîñåðâèñíîãîïîäõîäà;
•
ðàçðàáîòàòü ìåòîäîëîãèþ òåñòèðîâàíèÿìèêðîñåðâèñîâ;•
ðàçðàáîòàòü ÏÎ,ïðåäîñòàâëÿþùååïîääåðæêóòåñòèðîâàíèÿ ìèêðîñåðâèñîâ è ðåàëè- çóþùååïðåäëîæåííóþ ìåòîäîëîãèþ.Äàííàÿðàáîòàïîñâÿùåíàîáçîðóñîâðåìåííûõðåøåíèé,êàñàþùèõñÿòåñòèðîâàíèÿðàñïðå-
äåëåííûõ ñèñòåì, àíàëèçó èõ ïðèìåíèìîñòè â îáëàñòè ìèêðîñåðâèñîâ. Êðîìå òîãî, áóäóò
ðàññìîòðåíûîñíîâíûåîñîáåííîñòèòåñòèðîâàíèÿìèêðîñåðâèñíûõñèñòåìèïðåäëîæåíïîä-
õîäê èõòåñòèðîâàíèþ.àáîòàïîñòðîåíà ñëåäóþùèìîáðàçîì: â÷àñòè2 ðàññìàòðèâàþòñÿ
ñîâðåìåííûå ïîäõîäû ê òåñòèðîâàíèþ ðàñïðåäåëåííûõ âû÷èñëèòåëüíûõ ñèñòåì.  ÷àñòè
3 îïèñàíûîòëè÷èòåëüíûåîñîáåííîñòèòåñòèðîâàíèÿ ìèêðîñåðâèñíûõâû÷èñëèòåëüíûõ ñè-
ñòåì èïðåäëàãàåòñÿìåòîäîëîãèÿ òåñòèðîâàíèÿòàêèõñèñòåì.Â÷àñòè4ïðåäëîæåíïîäõîä
ê òåñòèðîâàíèþ ìèêðîñåðâèñîâ íà ïðèìåðå ïëàòîðìûMjolnirr.  ÷àñòè5 ïîäâåäåíû ðå-
çóëüòàòûðàáîòû.
2. Îáçîð ñîâðåìåííûõ ïîäõîäîâ ê òåñòèðîâàíèþ ðàñïðåäåëåí-
íûõ ñèñòåì
2.1. Ìèêðîñåðâèñíûå ñèñòåìû
Ìèêðîñåðâèñíûéïîäõîäÿâëÿåòñÿñðàâíèòåëüíîíîâûìíàïðàâëåíèåìâìèðåðàñïðåäå-
ëåííûõâû÷èñëèòåëüíûõ ñèñòåì,ïîòîìóêîëè÷åñòâîðàáîòâ ýòîéîáëàñòè íåî÷åíüâåëèêî.
Îñíîâíàÿ èíîðìàöèÿ î ìèêðîñåðâèñíîì ïîäõîäå èçëîæåíà â ñòàòüå Äæåéìñà Ëüþèñà è
Ìàðòèíà Ôàóëåðà [14℄.Âýòîéñòàòüåîïèñûâàåòñÿêîíöåïöèÿìèêðîñåðâèñà,àòàêæåõàðàê-
òåðíûå îñîáåííîñòèìèêðîñåðâèñíîéàðõèòåêòóðû.ÒîáèÊëåìñîíâñâîåéñòàòüå[6℄óäåëÿåò
îñîáîåâíèìàíèåâîïðîñàìòåñòèðîâàíèÿìèêðîñåðâèñîâ,âêëþ÷àÿ êîìïîíåíòíîåòåñòèðîâà-
íèå, èíòåãðàöèîííîå òåñòèðîâàíèå è òåñòèðîâàíèåêîíòðàêòà ìèêðîñåðâèñà. Íèë Ôîðä [7℄
òàêæå ðàññìàòðèâàåòìèêðîñåðâèñíûå àðõèòåêòóðû, îïèñûâàÿîñíîâíûåèäåè,êàñàþùèåñÿ
èõðàçðàáîòêè, ìîíèòîðèíãà èòåñòèðîâàíèÿ.Êðîìå òîãî, íåêîòîðûå êîììåð÷åñêèåêîìïà-
íèè óñïåøíî ïåðåøëè íà ìèêðîñåðâèñíóþ àðõèòåêòóðó è îïèñàëè ðåçóëüòàòû òàêîãî ïå-
ðåõîäà. Íàïðèìåð, â ñòàòüå [15℄ ðàññêàçûâàåòñÿ î ïåðåõîäå êîìïàíèè Netix íà ìèêðîñåð-
âèñíóþ àðõèòåêòóðó è î òîì, ÷åãî ýòî ïîòðåáîâàëî è êàêèå ïëþñû ïðèíåñëî.  ïðåäûäó-
ùåé ðàáîòå îïèñûâàåòñÿñîçäàíèå ïëàòîðìû ðàñïðåäåëåííûõâû÷èñëåíèéïîä íàçâàíèåì
Mjolnirr [18℄. Ýòà ñèñòåìà ðàáîòàåò ñ èçîëèðîâàííûìè êîìïîíåíòàìè, ïðåäîñòàâëÿÿ âîç-
ìîæíîñòü îáìåíèâàòüñÿ ñîîáùåíèÿìè â ñîîòâåòñòâèè ñ ïàòòåðíîì "èçäàòåëü-ïîäïèñ÷èê".
Íà áàçå ýòîé ïëàòîðìû áûëè ðåàëèçîâàíû ìåõàíèçìû àâòîìàòè÷åñêîãî ðàñïðåäåëåíèÿ
íàãðóçêè ìåæäó íåçàâèñèìûìèèèçîëèðîâàííûìè ïðîãðàììíûìèêîìïîíåíòàìèè ïëàíè-
ðîâàíèÿ èõðàçìåùåíèÿ íà äîñòóïíûõ âû÷èñëèòåëüíûõ ðåñóðñàõ. [16℄. Íàäàííûé ìîìåíò
çàêîí÷åííûõ êîðîáî÷íûõ ïðîäóêòîâ, îäíîçíà÷íî îðèåíòèðîâàííûõíà ñîçäàíèå ìèêðîñåð-
âèñíûõ ïðèëîæåíèé,âñå åùåíå ðàçðàáîòàíî. ÏëàòîðìàVamp [4℄,êîòîðàÿ äîëæíàáóäåò
ñîîòâåòñòâîâàòü âñåì òðåáîâàíèÿì ê ìèêðîñåðâèñíîé ïëàòîðìå, âûäâèíóòûì Ìàðòèíîì
Ôàóëåðîì, íà äàííûé ìîìåíò íàõîäèòñÿ â ñòàäèè àëüà-âåðñèè è ïîääåðæèâàåò òîëüêî
JVM-îðèåíòèðîâàííûå ìèêðîñåðâèñû.
Ñåðèÿ ñòàíäàðòîâ ISO/IEC 25010 Software Produt Quality [8℄ è ISO/IEC 29119
Software Testing [9℄ ñëóæàò îòïðàâíîé òî÷êîé ýòîé ðàáîòû. Òåñòèðîâàíèå â îáùåì ñëó÷àå
îïðåäåëÿåòñÿ êàê ñîâîêóïíîñòü âåðèèêàöèèè âàëèäàöèè [9℄.Âýòîé ðàáîòåòåñòèðîâàíèå
ìèêðîñåðâèñîâ áóäåò ðàññìàòðèâàòüñÿêàêïðîöåññ âàëèäàöèè,òàêêàê íåâîçìîæíîïðèìå-
íèòü ìåòîäû ñòàòè÷åñêîãîàíàëèçà êîäà ê óæå ñêîìïèëèðîâàííîìó ìèêðîñåðâèñóâ îáùåì
ñëó÷àå.
Êàêóïîìÿíóòîâûøå,ìèêðîñåðâèñûÿâëÿþòñÿïîäìíîæåñòâîìñåðâèñîââñìûñëåñåðâèñ-
îðèåíòèðîâàííîé àðõèòåêòóðû (SOA). Ñëåäîâàòåëüíî, äëÿ òåñòèðîâàíèÿ ìèêðîñåðâèñîâ
âîçìîæíîèñïîëüçîâàòüòåæåïðèåìû,÷òîèïðèòåñòèðîâàíèèSOA-ñåðâèñîâ.Íåêîòîðûåèç
ñóùåñòâóþùèõ ïîäõîäîâ èñïîëüçóþòBPEL-ìîäåëüäàííûõïðåäìåòíîéîáëàñòèäëÿòåñòè-
ðîâàíèÿ íàîñíîâåîãðàíè÷åíèé [11℄,äðóãèåïðåäëàãàþò òåñòèðîâàíèåíàîñíîâåêîíöåïöèè
áåëîãî ÿùèêà [1℄äëÿ îïðåäåëåíèÿòåñòîâîãîïîêðûòèÿñåðâèñà.
Äëÿ êà÷åñòâåííîãî òåñòèðîâàíèÿ ñåðâèñà íåîáõîäèìî ðåøèòü, êàêàÿ êà÷åñòâåííàÿ õà-
ðàêòåðèñòèêàâàæíàäëÿòåñòèðóåìîãîïðîäóêòà.ÂòåðìèíàõñòàíäàðòàISO/IEC25011[10℄
êà÷åñòâîîïðåäåëÿåòñÿêàêñòåïåíü,âêîòîðîéñåðâèñìîæåòáûòüèñïîëüçîâàíîïðåäåëåííû-
ìèïîëüçîâàòåëÿìèäëÿýåêòèâíîãîèáåçðèñêîâîãîóäîâëåòâîðåíèÿñâîèõïîòðåáíîñòåéè
äëÿäîñòèæåíèÿêîíêðåòíûõöåëåéñó÷åòîìñîãëàøåíèÿîáóðîâíåóñëóã(SLA)[9℄.Ñòàíäàðò
ISO/IEC 25011äåêëàðèðóåò 8 êà÷åñòâåííûõ õàðàêòåðèñòèê ñåðâèñà:Ïðèìåíèìîñòü ñåðâè-
ñà (ServieSuitability), Óäîáíîñòüñåðâèñà (ServieUsability), Áåçîïàñíîñòü ñåðâèñà(Servie
Seurity),Íàäåæíîñòüñåðâèñà(ServieReliability),Ïîíÿòíîñòüñåðâèñà(ServieTangibility),
Îòçûâ÷èâîñòüñåðâèñà(ServieResponsiveness),Äîñòóïíîñòüñåðâèñà(ServieAdaptability)è
Ñîïðîâîæäàåìîñòü ñåðâèñà(ServieMaintainability). Âñåýòè êà÷åñòâåííûåõàðàêòåðèñòèêè
(êðîìåÏîíÿòíîñòè ñåðâèñà)ìîãóòáûòü ïðèìåíåíûèêìèêðîñåðâèñíûìâû÷èñëèòåëüíûì
ñèñòåìàì. Êðîìå òîãî, ýòè êà÷åñòâåííûå õàðàêòåðèñòèêè íå ðåãëàìåíòèðóþò ýåêòèâ-
íîñòüðàáîòû ñåðâèñàýòàçàäà÷àöåëèêîìëîæèòñÿíà ðàçðàáîò÷èêà ñåðâèñà.Îäíàêîñòà-
áèëüíîñòü ñèñòåìû, âðåìÿ îòêëèêà, îòñóòñòâèå ðèñêîâ è ñîîòâåòñòâèåSLA ÿâëÿþòñÿòåìè
àêòîðàìè,êîòîðûå äîëæíûáûòüïðîòåñòèðîâàíû â ðàìêàõìèêðîñåðâèñíîé ñèñòåìû.
2.2. Òåñòèðîâàíèå è ðàñïðåäåëåííûå ñèñòåìû
Ìèêðîñåðâèñíûå ñèñòåìû, ìóëüòèàãåíòíûå ñèñòåìû è ñèñòåìû àêòîðîâ ðîäíèò åäè-
íàÿ ãëîáàëüíàÿ èäåÿ âî âñåõ òðåõ èñïîëüçóåòñÿ íàáîð óñëîâíî íåçàâèñèìûõ ñóùíîñòåé,
ñîâìåñòíî ðàáîòàþùèõ íàä ðåøåíèåì îáùåé çàäà÷è. Ñîîòâåòñòâåííî, ìíîãèå ïîäõîäû ê
òåñòèðîâàíèþòàêèõñèñòåììîãóòîêàçàòüñÿïðèìåíèìûèâñëó÷àå ìèêðîñåðâèñîâ.Íàïðè-
ìåð, ïîäõîä, èñïîëüçóþùèé îíòîëîãèè äëÿ ãåíåðàöèè òåñòîâûõ ñëó÷àåâ, ïðèìåíèì è äëÿ
ìèêðîñåðâèñíûõ ñèñòåì [22℄.Ïîäõîä ïðåäïîëàãàåòèñïîëüçîâàíèåîíòîëîãèé äëÿîïèñàíèÿ
âõîäíûõ è âûõîäíûõ äàííûõ êàæäîãî àãåíòà (èëè ìèêðîñåðâèñà), à òàêæå äàëüíåéøåé
àâòîìàòè÷åñêîé ãåíåðàöèÿ òåñòîâûõ ñëó÷àåâ, ñîîòâåòñòâóþùèõ âõîäíûõ äàííûì è ïðîâå-
ðÿþùèõâñåãðàíè÷íûåóñëîâèÿ âõîäíûõ èâûõîäíûõ äàííûõ.
Îäíàêîíåêîòîðûåàñïåêòûðàáîòûýòèõñèñòåìîòëè÷àþòñÿäðóãîòäðóãà.Íàïðèìåð,â
ðàáîòå[23℄òåñòèðîâàíèåïðîãðàììû,ðàáîòàþùåéâñîîòâåòñòâèèñàêòîðíûìïîäõîäîì,çà-
êëþ÷àåòñÿâ ìîäåëèðîâàíèèãðàà âçàèìîäåéñòâèéè ïîðîæäåíèÿîäíèõàêòîðîâäðóãèìè.
Òàêîé àíàëèçìîæåòáûòü ïðîâåäåíòîëüêîäëÿàêòîðíûõñèñòåìèíå ìîæåò èñïîëüçîâàòü-
ñÿ ïðè òåñòèðîâàíèè ìèêðîñåðâèñîâ, òàê êàê ìèêðîñåðâèñû ìîãóò áûòü ñîçäàíû òîëüêî
ìåíåäæåðîìðåñóðñîâ, è îäíè ìèêðîñåðâèñûíå ìîãóòïðîèçâîëüíîïîðîæäàòü äðóãèå.
Òàêèì îáðàçîì, íåêîòîðûå èç ñóùåñòâóþùèõ ñèñòåì òåñòèðîâàíèÿ ìóëüòèàãåíòíûõ è
àêòîðíûõ ñèñòåììîãóòáûòü èñïîëüçîâàíû äëÿòåñòèðîâàíèÿ ìèêðîñåðâèñíûõ ñèñòåì,îä-
íàêî ìèêðîñåðâèñû êîíñòðóêòèâíî îòëè÷àþòñÿ îò àêòîðîâ è àãåíòîâ, ïîýòîìó òå ñïîñîáû
òåñòèðîâàíèÿ òàêèõñèñòåì, êîòîðûå ó÷èòûâàþò õàðàêòåðíûåîñîáåííîñòèàãåíòîâ è àêòî-
ðîâ (íàïðèìåð, âîçìîæíîñòü ïîðîæäåíèÿ îäíèõàêòîðîâ äðóãèìè), íåïðèìåíèìû â òåñòè-
ðîâàíèèìèêðîñåðâèñíûõ ñèñòåì.
ÑîãëàñíîñòàíäàðòóISO/IEC 29119-4,ðàçðàáîòêà èðåàëèçàöèÿòåñòîâèòåñòîâûõ ïðî-
öåäóð ïðè ðàçðàáîòêå ÏÎ ñîñòîèò èç 6 øàãîâ îïðåäåëåíèå íàáîðà îñîáåííîñòåé (TD1),
âûäåëåíèå òåñòîâûõ óñëîâèé (TD2), âûäåëåíèå òåñòîâîãî ïîêðûòèÿ (TD3), âûäåëåíèå òå-
ñòîâûõ ñëó÷àåâ (TD4), ñîçäàíèå íàáîðîâ òåñòîâ (TD5) è îïðåäåëåíèå òåñòîâûõ ïðîöåäóð
(TD6) (ñì.ðèñ.2) [9℄. Äëÿîïèñàíèÿïðîöåññà òåñòèðîâàíèÿ ìèêðîñåðâèñîâáóäóòðàññìîò-
ðåíû ýòàïûTD2,TD3, TD4,TD5 íàTD6.
èñ. 2:ISO/IEC/IEEE29119-2àçðàáîòêà èðåàëèçàöèÿòåñòîâ
3. Ìåòîäîëîãèÿ òåñòèðîâàíèÿ ìèêðîñåðâèñîâ
 ýòîé ñòàòüå ìèêðîñåðâèñ ðàññìàòðèâàåòñÿ êàê ñåðâèñ-îðèåíòèðîâàííóþ ñóùíîñòü,
êîòîðàÿ îòâå÷àåòñëåäóþùèì òðåáîâàíèÿì:
•
Èçîëèðîâàííîñòü ìèêðîñåðâèñèçîëèðîâàí â ðàìêàõ îïðåäåëåííîãîêîíòåéíåðà êàê îò äðóãèõìèêðîñåðâèñîâ,òàêè îò àïïàðàòíîéïëàòîðìû;•
Àâòîíîìíîñòü ìèêðîñåðâèñìîæåò áûòüðàçâåðíóò,óíè÷òîæåí,ïåðåìåùåíèëèäóá- ëèðîâàííåçàâèñèìîîòäðóãèõìèêðîñåðâèñîâ(ñëåäîâàòåëüíî,ìèêðîñåðâèñûíåìîãóòíåïîñðåäñòâåííî ññûëàòüñÿíà ëîêàëüíûåðåñóðñû ñèñòåìû,íà êîòîðîéðàçâåðíóòû);
•
Ìèêðîñåðâèñ äîëæåí ïðåäîñòàâëÿòü îòêðûòûé è ñòàíäàðòèçîâàííûé èíòåðåéñ âçà- èìîäåéñòâèÿ äëÿ âñåõ âàðèàíòîâ èñïîëüçîâàíèÿ (êàê ïðîãðàììíûé èíòåðåéñ òàê,âîçìîæíî, èãðàè÷åñêèé ïîëüçîâàòåëüñêèéèíòåðåéñ);
•
Ìèêðîñåðâèñû ìåëüêîìîäóëüíû, òî åñòü êàæäûé ìèêðîñåðâèñ íåñåò ïîëíóþ îòâåò- ñòâåííîñòüçà ñâîþ÷àñòüïðîáëåìíîéîáëàñòèîáùåãî ïðèëîæåíèÿ.àññìîòðèì îñíîâíûå øàãè òåñòèðîâàíèÿ, õàðàêòåðíûå êàê äëÿ ÏÎ â öåëîì, òàê è äëÿ
ìèêðîñåðâèñíûõ ñèñòåì,èîïðåäåëèìòåèçíèõ, êîòîðûåèìåþò îñîáåííîñòèâðàìêàõìèê-
ðîñåðâèñíîéàðõèòåêòóðû.Ïîäêîìïîíåíòíûìòåñòèðîâàíèåìáóäåìïîíèìàòüòåñòèðîâàíèå
îòäåëüíîãî ìèêðîñåðâèñà, ïîä èíòåãðàöèîííûì òåñòèðîâàíèåì òåñòèðîâàíèå âçàèìîäåé-
ñòâèÿ ìåæäó îòäåëüíûìè ìèêðîñåðâèñàìè,ïîä ñèñòåìíûì òåñòèðîâàíèåì òåñòèðîâàíèå
óíêöèîíèðîâàíèÿ ñèñòåìû âöåëîì (ñì.òàáëèöó1).
3.1. Êîìïîíåíòíîå òåñòèðîâàíèå ìèêðîñåðâèñîâ
Ôóíêöèîíàëüíîå êîìïîíåíòíîå òåñòèðîâàíèå ÿâëÿåòñÿ ïðîâåðêîé îòäåëüíîãî ìèêðî-
ñåðâèñàíàñîîòâåòñòâèåóíêöèîíàëüíûìòðåáîâàíèÿì.Êàæäûéìèêðîñåðâèñèìååòíàáîð
óíêöèîíàëüíûõ òðåáîâàíèé. Äëÿòîãî, ÷òîáûïðîèçâåñòè êîìïîíåíòíîå òåñòèðîâàíèåîò-
äåëüíîãîìèêðîñåðâèñà,ñîâåðøåííî íåîáÿçàòåëüíîçàãðóæàòüåãîâîáëà÷íîå îêðóæåíèå
ýòîòòèï òåñòèðîâàíèÿ èìååòäåëî ñ ìèêðîñåðâèñîìêàê ñèçîëèðîâàííûìêîìïîíåíòîì.
àçðàáîòêà ÏÎ â ñîîòâåòñòâèè ñ ìèêðîñåðâèñíûì ïîäõîäîì ýòî ïðîöåññ ðàçðàáîòêè
ñèñòåìû êàê íàáîðàíåçàâèñèìûõ ìèêðîñåðâèñîâ, âçàèìîäåéñòâóþùèõ òîëüêî ïóòåì ïåðå-
äà÷è ñîîáùåíèé. Ñëåäîâàòåëüíî, êàæäûé ìèêðîñåðâèñ ïðåäñòàâëÿåò ñîáîé íåçàâèñèìûé
ïðîãðàììíûé ïðîäóêò, êîòîðûé äîëæåí áûòü ðàçðàáîòàí è ïðîòåñòèðîâàí íåçàâèñèìî îò
âñåõîñòàëüíûõìèêðîñåðâèñîâ.Ôóíêöèîíàëüíîåêîìïîíåíòíîåòåñòèðîâàíèåìèêðîñåðâèñà
ìîæåò áûòüðàçäåëåíà íàäâà ýòàïà:
•
ñòàíäàðòíîåþíèò-òåñòèðîâàíèåêëàññîâ,âõîäÿùèõâìèêðîñåðâèñ(áàçîâûéóðîâåíü);Òàáëèöà1:Òèïûòåñòèðîâàíèÿ, èìåþùèåîñîáåííîñòèðåàëèçàöèèâ ðàìêàõ
ìèêðîñåðâèñíîéàðõèòåêòóðû
Êîìïîíåíòíîå Èíòåãðàöèîííîå Ñèñòåìíîå
Ôóíêöèîíàëüíîå + + -
Íàãðóçî÷íîå + + -
Áåçîïàñíîñòè + + -
òèï òåñòèðîâàíèÿíå èìååò îñîáåííîñòåéâ òåðìèíàõìèêðîñåðâèñîâ
+ òèï òåñòèðîâàíèÿ èìååò îñîáåííîñòè â òåðìèíàõ ìèêðîñåðâèñîâ
•
ñàìîòåñòèðîâàíèåìèêðîñåðâèñà,òîåñòüïðîâåðêàìèêðîñåðâèñîìñâîåãîñîáñòâåííîãî èíòåðåéñà.èñ.3:Îáùàÿ ñòðóêòóðàìèêðîñåðâèñà
Ìèêðîñåðâèñ ÿâëÿåòñÿäîñòàòî÷íîñëîæíîéñóùíîñòüþ, ñîñòîÿùåéèç íåñêîëüêèõ êîì-
ïîíåíòîâ(íàïðèìåð, ëîêàëüíîãîõðàíèëèùà,âåá-ñåðâåðàèò.ä.),óïàêîâàííîéâêîíòåéíåð
(ñì. ðèñ. 3), è äàæå èíòåãðàöèÿ êîðîáî÷íîãî ÏÎ â âèðòóàëüíûé êîíòåéíåð äîëæíà ñî-
ïðîâîæäàòüñÿ äîïîëíèòåëüíî ïðîâåðêîé òîãî, íàñêîëüêî êîððåêòíî ðàáîòàåò ïîëó÷åííûé
ìèêðîñåðâèñ. Ïîñëå ýòîãî íåîáõîäèìî ïðîâåðèòü èíòåðåéñ ñîáðàííîãî ìèêðîñåðâèñà íà
ñîîòâåòñòâèåîðìàëüíûìòðåáîâàíèÿìêýòîìó ìèêðîñåðâèñó.Íàýòîìýòàïå ìèêðîñåðâèñ
ñàìîñòîÿòåëüíîòåñòèðóåòñîáñòâåííûéâíåøíèéèíòåðåéñ.Ôóíêöèîíàëüíîåòåñòèðîâàíèå
äîëæíî ïðîâîäèòüñÿàâòîìàòè÷åñêè ïðèêàæäîìèçìåíåíèèêîíèãóðàöèèìèêðîñåðâèñà.
Íàãðóçî÷íîå êîìïîíåíòíîå òåñòèðîâàíèå íàïðàâëåíî íà ïðîâåðêó ðàáîòîñïîñîáíîñòè
îòäåëüíîãî ìèêðîñåðâèñà ïðè îïðåäåëåííîé íàãðóçêå. Òàêàÿ ïðîâåðêà òàêæå ìîæåò îñó-
ùåñòâëÿòüñÿàâòîìàòè÷åñêè äëÿêàæäîãî ìèêðîñåðâèñàâîòäåëüíîñòè.Íàãðóçî÷íîåòåñòè-
ðîâàíèå ìèêðîñåðâèñà ïîçâîëÿåò íå òîëüêî îòâåòèòü íà âîïðîñ, ïðè êàêîé íàãðóçêå ïðî-
èçîéäåò îòêàç ìèêðîñåðâèñà, íî è âûÿâèòü íåîáõîäèìîå êîëè÷åñòâî ðåñóðñîâ äëÿ ðàáîòû
ìèêðîñåðâèñà.
Êîìïîíåíòíîå òåñòèðîâàíèåáåçîïàñíîñòè íàïðàâëåíî íà òåñòèðîâàíèå áåçîïàñíîñòè è
èçîëèðîâàííîñòè îòäåëüíîãî ìèêðîñåðâèñà. Êàêè â ñëó÷àå ñ óíêöèîíàëüíûìòåñòèðîâà-
íèåì,áåçîïàñíîñòüìèêðîñåðâèñà íåçàêàí÷èâàåòñÿíàáåçîïàñíîñòèîòäåëüíûõåãîêëàññîâ
òåñòèðóåòñÿáåçîïàñíîñòü âñåãîìèêðîñåðâèñà âêîìïëåêñå (íàïðèìåð,íà ïðåäìåòòèïè÷-
íûõ óÿçâèìîñòåéâåá-ñåðâåðîâ, èíúåêöèéè ò.ä.).Ýòîòýòàï òåñòèðîâàíèÿïðîèçâîäèòñÿáåç
ó÷àñòèÿ ïðèêëàäíîãîïðîãðàììèñòà.
3.2. Èíòåãðàöèîííîå òåñòèðîâàíèå ìèêðîñåðâèñîâ
Èíòåãðàöèîííîå òåñòèðîâàíèåìèêðîñåðâèñíîé ñèñòåìû âêëþ÷àåòâ ñåáÿ òåñòèðîâàíèå
âñåõ êîììóíèêàöèé ìåæäó ìèêðîñåðâèñàìè, òî åñòü òåñòèðîâàíèå ïðîòîêîëîâ êîììóíè-
êàöèè, îðìàòîâ îáìåíà, ðàçðåøåíèÿ âçàèìíûõ áëîêèðîâîê, èñïîëüçîâàíèÿ ðàçäåëÿåìûõ
ðåñóðñîâ è ïîñëåäîâàòåëüíîñòè ïåðåäà÷è ñîîáùåíèé.Äëÿ ðåàëèçàöèè âñåõ ïåðå÷èñëåííûõ
âîçìîæíîñòåéíàìíåîáõîäèìîîòñëåæèâàòüâñåñîîáùåíèÿ,ïåðåäàþùèåñÿîòìèêðîñåðâèñà
ê ìèêðîñåðâèñó, è õðàíèòü ïóòè èõ ïåðåäà÷è, à òàêæå çíàòü âñåõ âîçìîæíûõ ïîëó÷àòå-
ëåé òîãî èëè èíîãî ñîîáùåíèÿ. Ýòà èíîðìàöèÿ äîëæíà áûòü ïðåäñòàâëåíà â êîíòðàêòå
ìèêðîñåðâèñà.
Ôóíêöèîíàëüíîå èíòåãðàöèîííîåòåñòèðîâàíèå íàïðàâëåíà íà ïðîâåðêó êîððåêòíîñòè
îòïðàâêè è ïîëó÷åíèÿ ñîîáùåíèé îòäåëüíûì ìèêðîñåðâèñîì,ïîñëåäîâàòåëüíîñòè âçàèìî-
äåéñòâèÿ, à òàêæå îðêåñòðàöèè ìèêðîñåðâèñîâ. Çíàÿ ïîñëåäîâàòåëüíîñòü âçàèìîäåéñòâèÿ,
ìûìîæåìãåíåðèðîâàòüòåñòîâûåñëó÷àèàâòîìàòè÷åñêè,íî ýòà èíîðìàöèÿäîëæíàáûòü
ïðåäîñòàâëåíàðàçðàáîò÷èêîììèêðîñåðâèñà.Èñïîëüçóÿýòóèíîðìàöèþ,ìûìîæåìçàðà-
íååïîñòðîèòü ãðàâçàèìîäåéñòâèÿè òåñòèðîâàòüñèñòåìóñ åãîïîìîùüþ.
Íàãðóçî÷íîå èíòåãðàöèîííîå òåñòèðîâàíèå íàïðàâëåíî íà ïðîâåðêó êîððåêòíîñòè ðà-
áîòûìèêðîñåðâèñîâ âóñëîâèÿõàâòîìàòè÷åñêîãîðàçâåðòûâàíèÿ,äóáëèðîâàíèÿ èïåðåíîñà
èõ, àòàêæå îðêåñòðàöèÿèõîðåîãðàèÿìèêðîñåðâèñîâ.
Èíòåãðàöèîííîå òåñòèðîâàíèå áåçîïàñíîñòè íàïðàâëåíî íà òåñòèðîâàíèå áåçîïàñíîñòè
êîììóíèêàöèé ìåæäó ìèêðîñåðâèñàìè, à òàêæå ïðîâåðêó íà âîçìîæíîñòü ïåðåõâàòà ñî-
îáùåíèé èçâíå èëè âíóòðè ñèñòåìû êåì-ëèáî, ïîìèìî ïîëó÷àòåëÿ ñîîáùåíèÿ. Ìèêðîñåð-
âèñíàÿ ñïåöèèêàýòîãîóðîâíÿòåñòèðîâàíèÿòî÷íîòàêæåäîëæíàó÷èòûâàòüîñîáåííîñòè
ñðåäû, âêîòîðîéðàáîòàþò ìèêðîñåðâèñû.
3.3. Îáùàÿ ìåòîäîëîãèÿ òåñòèðîâàíèÿ ìèêðîñåðâèñíûõ ñèñòåì
Èñïîëüçóÿïîëó÷åííûåäàííûå,âîçìîæíîïðåäëîæèòüìåòîäîëîãèþòåñòèðîâàíèÿìèê-
ðîñåðâèñíîé ñèñòåìû,ïîçâîëÿþùåéãàðàíòèðîâàòüñòàáèëüíîñòüñèñòåìûïðèëþáîì èçìå-
íåíèè â îòäåëüíîììèêðîñåðâèñå (ñì.ðèñ. 4).
Ïîñëå òîãî, êàê çàâåðøàåòñÿ êîäèðîâàíèå ìèêðîñåðâèñà, åãî èñõîäíûå êîäû äîëæíû
áûòü ïîäâåðãíóòûþíèò-òåñòèðîâàíèþ äëÿ òîãî,÷òîáû óáåäèòüñÿ âñîîòâåòñòâèè íàïèñàí-
íîãî êîäà óíêöèîíàëüíûì òðåáîâàíèÿì ê ðàçðàáàòûâàåìîìó ìèêðîñåðâèñó. Åñëè þíèò-
òåñòèðîâàíèå ïðîøëî óñïåøíî, òî ìèêðîñåðâèñ óïàêîâûâàåòñÿ â êîíòåéíåð, ïîñëå ÷åãî
âûïîëíÿåòñÿ ñàìîòåñòèðîâàíèå ñêîìïèëèðîâàííîãî ìèêðîñåðâèñà. Åñëè ñàìîòåñòèðîâàíèå
ïðîøëî óñïåøíî, òî ïðîèçâîäèòñÿ íàãðóçî÷íîå þíèò-òåñòèðîâàíèå è êîìïîíåíòíîå òåñòè-
ðîâàíèå áåçîïàñíîñòè. Ýòè äâà ýòàïà ìîãóò âûïîëíÿòüñÿ îäíîâðåìåííî. Åñëè îíè âûïîë-
íÿþòñÿóñïåøíî,òîìèêðîñåðâèñðàçâîðà÷èâàåòñÿâòåñòîâîìîêðóæåíèè,ãäåïðîèçâîäÿòñÿ
óíêöèîíàëüíîå èíòåãðàöèîííîå òåñòèðîâàíèå,èíòåãðàöèîííîå íàãðóçî÷íîåòåñòèðîâàíèå
è èíòåãðàöèîííîåòåñòèðîâàíèåáåçîïàñíîñòè.Åñëè ýòîòýòàïïðîõîäèòóñïåøíî, òîìèêðî-
ñåðâèñ ðàçâîðà÷èâàåòñÿ â ðàáî÷åì îêðóæåíèè, ãäå ïðîèñõîäèò íåïðåðûâíîå òåñòèðîâàíèå
ñòàáèëüíîñòèâñîîòâåòñòâèèñìåòîäîëîãèåéíàìåðåííîãîïðîâîöèðîâàíèÿñëó÷àéíûõñáîåâ
ðàáîòû ñèñòåìû (ðåàëèçóåìîãî, íàïðèìåð,ñåðâèñîìChaos Monkey [5℄).
4. Òåñòèðîâàíèå ìèêðîñåðâèñîâ â ïëàòîðìå Mjolnirr
 ñòàòüÿõ [16,18℄ áûëà îïèñàíà ðàçðàáîòêà ïðîòîòèïà ìèêðîñåðâèñíîé ïëàòîðìû
Mjolnirr. Ýòà ïëàòîðìà ïîääåðæèâàåò ìèêðîñåðâèñû, ðàçðàáîòàííûå íà áàçå JVM. Èí-
èñ.4:Ìåòîäîëîãèÿ òåñòèðîâàíèÿ ìèêðîñåðâèñíîéñèñòåìû
òåãðàöèÿ ñMjolnirr áóäåò ïåðâûì øàãîì ðåàëèçàöèèñèñòåìû äëÿ òåñòèðîâàíèÿ ìèêðîñåð-
âèñîâ. Íà ýòîì ýòàïå áóäóò èñïîëüçîâàòüñÿ ñòàíäàðòíûå èíñòðóìåíòû òåñòèðîâàíèÿ äëÿ
ïëàòîðìû Java (íàïðèìåð, jUnit äëÿ þíèò-òåñòèðîâàíèÿ). Îïèøåì òî, êàê äîëæåí áûòü
ðåàëèçîâàíà òàêàÿñèñòåìà, îñíîâûâàÿñü íà ìåòîäîëîãèè,ïðåäëîæåííîéâ ðàçäåëå3.Îïè-
ñàíèå áóäåìñòðîèòü â ñîîòâåòñòâèèñ øàãàìèðàçðàáîòêè è ðåàëèçàöèè òåñòîâè òåñòîâûõ
ïðîöåäóð,ðåãëàìåíòèðîâàííûìèñòàíäàðòîìISO/IEC 29119-4 (ñì.ðàçäåë2).
TD2 (Âûäåëåíèå òåñòîâûõ óñëîâèé) îïèñûâàåòòî, êàêèå àñïåêòû ìèêðîñåðâèñîâïîä-
ëåæèòòåñòèðîâàíèþ. Âñëó÷àå ïëàòîðìûMjolnirrîòäåëüíûå ìèêðîñåðâèñûèîáðàùåíèÿ
ê íèììîãóòðàññìàòðèâàòüñÿêàêòåñòîâûå ñëó÷àè.Êàêñêàçàíîâãëàâå3,êàæäûéìèêðî-
ñåðâèñ ÿâëÿåòñÿ èçîëèðîâàííîé è íåçàâèñèìîé ñóùíîñòüþ, è, ñëåäîâàòåëüíî, åãî òåñòèðî-
âàíèåìîæåòáûòüïðîâåäåíîâîòäåëüíîéJVM.Ìèêðîñåðâèñûîáìåíèâàþòñÿèíîðìàöèåé
ïðè ïîìîùè ñîîáùåíèé, ñëåäîâàòåëüíî, ìû ìîæåì âûäåëèòü ñëåäóþùèå óñëîâèÿ ðàáîòû
ìèêðîñåðâèñíîéñèñòåìû:ïîëíàÿèçîëÿöèÿíàêîìïîíåíòíîìóðîâíå,îáìåíñîîáùåíèÿìèè
èíêàïñóëÿöèÿëîãèêè.
TD3 (Âûäåëåíèå òåñòîâîãî ïîêðûòèÿ) îïèñûâàåò àòðèáóòû, âûäåëåííûå èç óñëîâèé
òåñòèðîâàíèÿ. Òåñòîâûìè óñëîâèÿìè ÿâëÿþòñÿ ìèêðîñåðâèñû è ñîîáùåíèÿ ìåæäó íèìè,
ñëåäîâàòåëüíî, ýëåìåíòàìè òåñòîâîãî ïîêðûòèÿ áóäóò ìåòîäû è ñîîáùåíèÿ. Êàæäûé ìå-
òîäìèêðîñåðâèñàèêàæäûéêàíàë êîììóíèêàöèèñäðóãèìèìèêðîñåðâèñàìèäîëæåíáûòü
ïîêðûòòåñòàìè,ñãåíåðèðîâàííûìèàâòîìàòè÷åñêèëèáîíàïèñàííûìè ðàçðàáîò÷èêîìïðè-
ëîæåíèÿ.
TD4 (Âûäåëåíèå òåñòîâûõ ñëó÷àåâ) îïèñûâàåò ïðîöåññ ãåíåðàöèè òåñòîâûõ ñëó÷àåâ.
Èñõîäÿ èç âûáðàííûõ õàðàêòåðèñòèê êà÷åñòâà è ñòàíäàðòà ISO/IEC 29119-4, ìîæíî ðå-
øèòü, êàêèå ñïîñîáû ðàçðàáîòêè òåñòîâ ìû äîëæíû èñïîëüçîâàòü. Äëÿ òåñòèðîâàíèÿ íà
êîìïîíåíòíîìóðîâíåâîçìîæíîèñïîëüçîâàòüòîëüêîìåòîäû,îñíîâàííûåíàñïåöèèêàöèè
ìèêðîñåðâèñà (íàïðèìåð, àíàëèç ãðàíè÷íûõ çíà÷åíèé, ýêâèâàëåíòíîå ðàçáèåíèå, òåñòèðî-
âàíèå íà îñíîâå âàðèàíòîâ èñïîëüçîâàíèÿ è ò. ä.). Êðîìå òîãî, íà êîìïîíåíòíîì óðîâíå
âîçìîæíîàíàëèçèðîâàòüìèêðîñåðâèñíàïðåäìåòòèïè÷íûõóÿçâèìîñòåéíàîñíîâåçíàíèé
îá èñïîëüçóåìîìÏÎ.
TD6 (Îïðåäåëåíèå òåñòîâûõ ïðîöåäóð) îïèñûâàåò ïðîöåäóðû ïðîâåäåíèÿ òåñòèðîâà-
íèÿ.  ñëó÷àå Mjolnirr èñïîëüçóþòñÿ êàê àâòîìàòè÷åñêèå, òàê è íàïèñàííûå âðó÷íóþ òå-
ñòîâûåñëó÷àè,ñëåäîâàòåëüíî,íåîáõîäèìî ïîêðûòüâñåýëåìåíòûïîêðûòèÿìèêðîñåðâèñà.
Òåñòîâûå ñëó÷àè ìîãóò ìîäèèöèðîâàòü ñîñòîÿíèå ìèêðîñåðâèñà è åãîîêðóæåíèå, ñëåäî-
âàòåëüíî, òåñòèðîâàíèå ìèêðîñåðâèñà äîëæíî ïðîèñõîäèòü â èçîëèðîâàííîì îêðóæåíèè,
ñîñòîÿíèå êîòîðîãî ëåãêî ìîæíî âåðíóòü ê ïåðâîíà÷àëüíîìó. Êàê ïîêàçàíî íà ðèñóíêå 5,
èñ.5:àçìåùåíèåêîìïîíåíòîâñèñòåìû òåñòèðîâàíèÿíà ïëàòîðìå Mjolnirr
Mjolnirrèìååò 3 âàðèàíòà îêðóæåíèÿ ñïåöèàëüíûéèçîëèðîâàííûéêîíòåéíåðäëÿòåñòè-
ðîâàíèÿíàêîìïîíåíòíîìóðîâíå,òåñòîâîåîêðóæåíèåäëÿòåñòèðîâàíèÿíàèíòåãðàöèîííîì
óðîâíå è ðàáî÷åå îêðóæåíèå äëÿ êîíå÷íûõ ïîëüçîâàòåëåé. Òåñòîâîå è ðàáî÷åå îêðóæåíèÿ
èìåþò âñòðîåííûéñåðâèñ Chaos Monkey [5℄ äëÿ ïîñòîÿííîé ïðîâåðêè ñòàáèëüíîñòè ñèñòå-
ìû.Êàæäûé ìèêðîñåðâèñäîëæåíïîñëåäîâàòåëüíîïðîõîäèòü÷åðåçýòè 3òèïàîêðóæåíèé
ïåðåäòåì,êàê áûòüðàçâåðíóòûì âðàáî÷åìîêðóæåíèè.
Äëÿòîãî,÷òîáûèñïîëüçîâàòüâûøåïåðå÷èñëåííûå òåõíèêè,íåîáõîäèìîèìåòü äåòàëü-
íîåîïèñàíèåèíòåðåéñàìèêðîñåðâèñà,âêëþ÷àÿåãîâõîäíûåèâûõîäíûåäàííûå,èõîãðà-
íè÷åíèÿ è ñèíòàêñèñ. Èñïîëüçóÿ ýòó èíîðìàöèþ, ìû ìîæåì ïðîèçâîäèòü òåñòèðîâàíèå
êàæäîãîìèêðîñåðâèñàïîìåòîäó÷åðíîãîÿùèêà âäîïîëíåíèåêþíèò-òåñòàì,íàïèñàííûì
ðàçðàáîò÷èêîì.Ïðèìåðèíòåðåéñàìèêðîñåðâèñà ïðåäñòàâëåííà ðèñóíêå 6.
 ñëó÷àå èíòåãðàöèîííîãî òåñòèðîâàíèÿ èçâåñòíà âíóòðåííÿÿ ñòðóêòóðà òåñòèðóåìîé
ñèñòåìû. Ñëåäîâàòåëüíî,âäîïîëíåíèåâ âûøåîïèñàííûìòåõíèêàìíàïèñàíèÿòåñòîâ,âîç-
ìîæíî èñïîëüçîâàòü ñòðóêòóðíûå òåõíèêè, íàïðèìåð, òåñòèðîâàíèå ïî ïîòîêó äàííûõ è
ò.ä. Êàêïîêàçàíîíà ðèñóíêå,èíòåðåéñìèêðîñåðâèñà òàêæå îïèñûâàåò îðìàòâõîäíûõ
è âûõîäíûõ ñîîáùåíèé, ñëåäîâàòåëüíî, ñèñòåìà ìîæåò ïîñòðîèòü ãðà, âåðøèíàìè êîòî-
ðîãî áóäóò ÿâëÿòüñÿ ìèêðîñåðâèñû, à ðåáðàìè ïóòè ïåðåäà÷è ñîîáùåíèé ìåæäó äâóìÿ
îòäåëüíûìè ìèêðîñåðâèñàìè, è òåñòèðîâàòü ñèñòåìó â ñîîòâåòñòâèè ñ ïîñòðîåííûì ãðà-
îì.
Òåñòèðîâàíèåíàèíòåãðàöèîííîìóðîâíåíåìîæåòáûòüðåàëèçîâàííàóðîâíåêîíòåéíå-
ðà,ïîýòîìóâïëàòîðìå Mjolnirrýòà çàäà÷àðåøàåòñÿíà óðîâíåâñåéïëàòîðìûìîäóëåì
Proxy.Proxyõðàíèòãðàâûçîâîâèñðàâíèâàåòåãîñãðàîì,ïîñòðîåííûìíàîñíîâåèíòåð-
åéñîâ ìèêðîñåðâèñîâ.Êðîìåòîãî,Proxyìîæåò èñïîëüçîâàòüðàçëè÷íûåäîïîëíèòåëüíûå
òåõíèêè èíòåãðàöèîííîãî òåñòèðîâàíèÿ íàïðèìåð,Chaos Monkeyè äîñòàâêó ñëó÷àéíîãî
ñîîáùåíèÿ ñëó÷àéíîìóïîëó÷àòåëþ.
èñ.6:Èíòåðåéñ ìèêðîñåðâèñà
5. Çàêëþ÷åíèå
Âýòîéñòàòüåáûëèîïèñàíû îñîáåííîñòèòåñòèðîâàíèÿìèêðîñåðâèñîâ èòåõíèêè,ïðè-
ìåíèìûå äëÿ ðåøåíèÿýòîéçàäà÷è.Áûëà ïðåäñòàâëåíàìåòîäîëîãèÿ òåñòèðîâàíèÿ ìèêðî-
ñåðâèñíûõ ïëàòîðì, ðàçðàáîòàííàÿ íà îñíîâå ñåðèè ñòàíäàðòîâ ISO/IEC 25010. Äàííàÿ
ìåòîäîëîãèÿ ïîêðûâàåòïðîöåññðàçðàáîòêèìèêðîñåðâèñíîéñèñòåìû,íà÷èíàÿñêîäèðîâà-
íèÿ îòäåëüíîãî ìèêðîñåðâèñàè çàêàí÷èâàÿíåïðåðûâíûì òåñòèðîâàíèåì ñòàáèëüíîñòèðà-
áî÷åãîîêðóæåíèÿ.Íàîñíîâåðàçðàáîòàííîé ìåòîäîëîãèèíàìèáûëî ïðåäëîæåíîðåøåíèå,
îáåñïå÷èâàþùåå òåñòèðîâàíèå ìèêðîñåðâèñíûõ ñèñòåì, ðàçâåðíóòûõ íà áàçå ïëàòîðìû
Mjolnirr.
Äàëüíåéøèìíàïðàâëåíèåìðàçâèòèÿäàííîãîïðîåêòàáóäåòÿâëÿòüñÿïðîåêòèðîâàíèåè
ðåàëèçàöèÿïðîãðàììíûõêîìïîíåíòîâ,îáåñïå÷èâàþùèõïîääåðæêóïðåäëîæåííîéìåòîäî-
ëîãèèòåñòèðîâàíèÿìèêðîñåðâèñíûõñèñòåìââèäåàâòîìàòèçèðîâàííûõñåðâèñîâ.Äàííûå
ñåðâèñûîáåñïå÷àòïðîöåññàâòîìàòèçèðîâàííîãîòåñòèðîâàíèÿðàçðàáàòûâàåìûõìèêðîñåð-
âèñîâè ïîääåðæêóíåïðåðûâíîéèíòåãðàöèè ìèêðîñåðâèñíûõñèñòåì.
Ëèòåðàòóðà
1. Bartolini C.,BertolinoA.,Elbaum S.,Marhetti E.WhiteningSOAtesting Proeedings of
thethe7thjoint meeting oftheEuropean softwareengineering onfereneand theACM
SIGSOFTsymposium onThe foundationsofsoftwareengineering. 161170.
2. BrooksF.P.No SilverBullet.Esseneand aidentsof softwareengineering IEEE
omputer 20(4);1987:10-19.
3. Calhado P.Building Produtsat SoundCloudPartIII: Miroservies inSalaand
Finagle [Online℄ Availableat: https:developers.soundloud.omblogbuilding-produts-at-
soundloud-part-3-miroservies-in-sala-and-nagle[aessed
01.05.2015℄.
4. VAMP [Online℄Available at:https:github.ommagnetiiovamp[aessed 12.06.2015℄
5. Chaos Monkey [Online℄ Availableat:
https:github.omNetixSimianArmywikiChaos-Monkey[aessed 12.01.2015℄
6. Clemson, T. TestingStrategiesina MiroservieArhiteture.2014. [Online℄ Availableat:
http:martinfowler.omartilesmiroservie-testing[Aessed 10.01.2015℄.
7. FordN. BuildingMiroservieArhitetures. [Online℄Available from:
http:nealford.omdownloadsBuilding_miroservie_Arhitetures(Neal_Ford).pdf
[aessed 13.02.2015℄
8. InternationalOrganizationfor Standardization(2014) 25010. ServieQualityRequirements
and Evaluation(SquaRE)System and softwareQualityModel,2014, Canada.
9. InternationalOrganization forStandardization (2014)29119. SoftwareTesting, 2014,
Canada.
10. InternationalOrganization forStandardization (2015)25011. Servie Quality
RequirementsandEvaluation(SquaRE) ServieQualityModel,2015, China.
11. JehanS., PillI.,WotawaF. Funtional SOATestingBased onConstraints. Proeedings of
the8thInternationalWorkshopon Automation ofSoftwareTest.3339.
12. Jones S.Miroserviesis SOA,for those whoknowwhat SOA is, 2014. [Online℄.Available
at:
http:servie-arhiteture.blogspot.ru201403miroservies-is-soa-for-those-who-know.html.
[Aessed:17.11.2014℄.
13. KantN., Tonse T.Karyon:Thenuleus ofa Composable Web Servie. [Online℄ Available
at: http:tehblog.netix.om201303karyon-nuleus-of-omposable-web-servie.html
[aessed 17.11.2014℄.
14. Lewis J., FowlerM. Miroservies. [Online℄ Availableat:
http:martinfowler.omartilesmiroservies.html[aessed 17.11.2014℄.
15. Prana: ASidearfor yourNetixPaaSbasedAppliations andServies. [Online℄Available
from:http:tehblog.netix.om201411prana-sidear-for-your-netix-paas.html [aessed
13.02.2015℄
16. RadhenkoG.,MikhailovP.,SavhenkoD.,Shamakina A.,SokolinskyL.Component-based
development ofloud appliations:aase study oftheMjolnirrplatform. Proeedingsof
the10thCentral andEasternEuropean SoftwareEngineeringConferene inRussia
(CEE-SECR '14).Artile 6,10 pages.
17. RhotonJ, Haukioja R. Cloud omputingarhiteted. [Tunbridge Wells, Kent℄: Reursive
Press; 2011.
18. Savhenko D., Radhenko G.Mjolnirr: A HybridApproahto Distributed Computing
Arhitetureand Implementation CLOSER2014.Proeedings ofthe4thInternational
Conferene onCloud Computingand ServiesSiene(Barelona, Spain3-5April,2014),
2014. P.445-450.
19. ThonesJ. Miroservies. Software, IEEE,Volume 24 Issue3,2015. P.116-116.
20. TonseS.Miroserviesat Netix. [Online℄Available from:
http:www.slideshare.netstonsemiroservies-at-netix [aessed 6.02.2015℄.
21. Varia J.Cloud arhitetures. WhitePaperof Amazon Web Servies,2008. [Online℄
Available at:https:media.amazonwebservies.omAWS_Cloud_Arhitetures.pdf [aessed
17.11.2014℄.
22. NguyenC.D., PeriniA., TonellaP.Ontology-based Test Generationfor MultiAgent
Systems(Short Paper) Proeedingsof the7thinternationaljoint onfereneon
Autonomous agentsand multiagent systems- Volume 3.P.1315-1320.
23. TasharoS., Karmani R.K.,LauterburgS., LegayA., MarinovD., AghaG. TransDPOR:
A NovelDynamiPartial-OrderRedutionTehnique for TestingAtor Programs. In
FMOODS/FORTE, volume 7273ofLetureNotes inComputerSiene, 219234.Springer,
2012.