Як қисми калони QA будан маҳаллисозии камбудиҳо мебошад.
Албатта, усулҳои тарроҳии санҷиш ба мо кӯмак мекунанд, ки сенарияҳои санҷиширо интихоб кунем ва корҳоро самараноктар кунем. Аммо маҳаллисозии нуқсон чист ва чӣ тавр мо метавонем онро камтар дарднок кунем?
Маҳаллисозӣ ба бозии детектив монанд аст: "Дар куҷо ва кай корҳо хато карданд?" Бе маҳаллисозии дуруст, норасоӣ метавонад ба як картошкаи гарм табдил ёбад, ки дар байни фронт, пуштибон ва ҳар як дастаи таҳиякунанда партофта мешавад. Вақт ва эҳтимолан ҳатто контекст беҳуда сарф мешавад.
Дар бораи локализатсияи камбудиҳо ҳамчун паймоиш дар лабиринт фикр кунед, ки дархостҳо ва гузоришҳо ҳамчун тӯби риштаи шумо. Аммо магар осонтар намебуд, ки харитаи ин лабиринт дошта бошед, хатто харитаи ночиз, ба чои он ки бо ришта пешпо хӯрдан? Дар он ҷо меъмории барнома ворид мешавад.
Ин аст, ки чӣ тавр қисмҳои гуногуни система якҷоя кор мекунанд. Дар робита ба истиораи лабиринти мо, ин аст, ки як қисм ба дигараш пайваст мешавад, ки кадом гузаргоҳҳо ба куҷо мебарад.
Ман ду меъмории асосиро ҷудо мекунам: мизоҷ-сервер ва пуштибон.
Одатан ду намуд вуҷуд дорад:
Навъи он таъсир мерасонад, ки мизоҷ чӣ қадар иттилоотро мустақилона нигоҳ медорад ва коркард мекунад. Роҳҳои дигари танзим кардани ин вуҷуд доранд, аммо ман ба он чизе, ки дар асл бо он кор кардаам, мемонам.
Аксари барномаҳои мобилӣ ва веб муштариёни лоғар мебошанд. Ҳама маълумот дар сервер нигоҳ дошта мешавад ва барномаи муштарӣ маълумотро дархост мекунад ё дархост мекунад, ки онро коркард кунанд. Бақайдгирӣ, ворид шудан, обуна шудан ба огоҳиномаҳо - ҳамаи ин зангҳо ба сервер мебошанд. Тамоми коркард дар сервер аз муштарӣ пинҳон аст. Дар посух ба дархост, муштарӣ аз базаи маълумот ҷамъоварӣ ва коркардшуда ё тасдиқи бомуваффақият анҷом ёфтани дархостро мегирад.
Дар барномаҳои ғафси муштарӣ, муштарӣ қисми зиёди коркардро худаш иҷро мекунад: илова кардани маълумот ба пойгоҳи додаҳо, тавлиди ҳисоботҳо, ҳисоб кардани маблағҳо ва эҷоди ҳуҷҷатҳо. Онҳо аксар вақт ба таври маҳаллӣ насб карда мешаванд, аммо на ҳамеша. Намунаҳои муштариёни ғафс бозиҳои офлайнӣ, AutoCAD ва баъзе версияҳои 1C мебошанд.
Ду равиши маъмул инҳоянд:
Вақте ки қариб ҳама чиз дар як ҷо коркард мешавад, он як монолит аст.
Агар дархостҳо барои коркард ба хидматҳои дигар дар дохили система фиристода шаванд, шумо эҳтимол бо меъмории хидматрасонии хурд сарукор доред.
Дар меъмории монолитӣ, муайян кардани манбаи нуқсон метавонад душвор бошад, зеро дастаҳо ва хидматҳои гуногун маъмулан як пойгоҳи кодро мубодила мекунанд, яъне тағирот метавонад оқибатҳои ғайричашмдошт дошта бошад.
Дар ҳолати дуюм, хидматҳо ҷудо карда мешаванд, ки ҳар кадом дорои пойгоҳи коди худро доранд, яъне тағирот дар як хидмат ба дигарон каме таъсир мерасонад.
Сарлавҳа даҳшатнок аст, аммо он танҳо ба шумо мегӯяд, ки кӣ чӣ кор мекунад ва кӣ барои кадом қисми лабиринт (ариза) масъул аст. Тасаввур кунед, ки мо як ширкати калон дорем: бонк, бозор, хадамоти интиқоли ғизо - шумо онро номбар мекунед. Замимаи мо ҳар қадар калонтар ва мураккабтар бошад, ҳамон қадар одамон дар он кор мекунанд. Ва чӣ қадаре ки одамон зиёд бошанд, ҳамон қадар ба шумо лозим меояд, ки онҳоро ба дастаҳо тақсим кунед, ки ҳар яке барои соҳаи рушди худ масъул аст.
Масалан, як даста метавонад таблиғҳоро иҷро кунад, дар ҳоле ки дигар барои пардохтҳо масъул аст. Агар замимаи мо хидматҳои гуногун пешниҳод кунад, гурӯҳҳо метавонанд барои хидматҳои инфиродӣ, аз қабили идоракунии ҳуҷҷатҳои электронӣ, баҳисобгирӣ ё хариди давлатӣ масъул бошанд.
Ба шумо лозим нест, ки ҳама чизро ва ҳамаро бидонед, аммо агар ҳуҷҷате мавҷуд бошад, ки кадом даста барои кадом минтақа масъул аст, беҳтар аст, ки онро хатчӯб нигоҳ доред.
Харита дар даст, ришта дар омода, биёед ба лабиринти худ ғарқ шавем ва манбаи нуқсонро ҷустуҷӯ кунем. Биёед якчанд сенарияро тасаввур кунем.
Тасаввур кунед: Мо вебсайтро барои клуби сӯҳбат озмоиш мекунем.
Мо ҷадвали дарсҳоро аз назар мегузаронем, дар бораи ҷаласаҳои дарпешистода мехонем, вақте ки дар баъзе мавридҳо хатогиро мушоҳида мекунем.
Акнун, мо чӣ гуна фаҳмем, ки он дар куҷо пайдо шудааст? Бигзор саргузашт оғоз шавад!
Мо devTools-ро мекушоем, саҳифаро навсозӣ мекунем ва ба дархостҳо ва посухҳо назар мекунем. Азбаски мо муштарии лоғар дорем, мо дар яке аз посухҳо хатогии худро пайдо мекунем - он аз пушти сар омад.
Ҳоло, мо гузоришҳоро мекушоем ва коркарди дархост ё посухи пуштибонро ҷустуҷӯ мекунем - ин риштаи мо аз тӯби ҷодугарӣ аст. Мо метавонем гузоришҳоро бо истифода аз ҳама гуна маълумот аз дархост ва посух ҷустуҷӯ кунем, аммо беҳтар аст, ки арзишҳои беназирро истифода барем: дархост xiid, ID аз дархост, рақами телефон ва ғайра.
Мо вурудро пайдо мекунем ва тафтиш мекунем: оё мо маълумоти синфро аз базаи маълумот гирифтем ё аз хидмати дигар?
Агар маълумот аз пойгоҳи додаҳо ворид шуда бошад, мо метавонем ин масъаларо ба дастгирии техникӣ супорем, то хатогиро дар пойгоҳи дода ислоҳ кунад.
Агар маълумот аз хидмати дигар омада бошад, мо метавонем камбудиро ба онҳо бидиҳем.
Табрик мекунем! Мо лабиринти аввалини худро фатх кардем: нуксон локализация ва хабар дод.
Акнун тасвир кунед, ки мо варақаи бақайдгириро санҷида истодаем.
Мо почтаи электронӣ, баъзе маълумот ва пароли сохта ворид мекунем. Мо тугмаи сабти номро пахш мекунем ва ба таври ғайричашмдошт хато мегирем.
Вақти он расидааст, ки тӯби ҷодугарии моро кушоед! Мо ба ҷадвали шабакаи маҳбуби худ дар devTools меравем ва мебинем, ки чӣ хато шуд: мо ҳама қадамҳоро такрор мекунем ва посухи серверро тафтиш мекунем.
Дар посух ба дархост, мо рамзи 400 бо мақоми ҷавоби холӣ мегирем. Оё мо бояд гурезем ва дар муқобили фронт камбудиҳо пешниҳод кунем? Аммо мо то ҳол намедонем, ки дар чӣ хатогӣ рух дод ва чӣ бояд ислоҳ карда шавад. Аксар вақт хатогии 400 рух медиҳад, вақте ки байни он чизе, ки муштарӣ фиристодааст ва он чизе, ки сервер интизор буд, ихтилоф вуҷуд дорад. Ин метавонад сабабҳои зиёд дошта бошад, аз ҷумла:
Биёед дархости муштариро тафтиш кунем
Агар мо ҳуҷҷатҳое дошта бошем, ки дастӣ навишта шудаанд ё дар Swagger ё OpenAPI тавлид шудаанд, биёед онро барои тасдиқи он истифода барем:
Боз чӣ гуна мо метавонем дархостро тафтиш кунем?
Ҳатто агар мо ҳуҷҷат надорем, мо метавонем тафтиш кунем:
Ҳама чиз дар тартиб аст? Пас вақти он расидааст, ки сафари худро тавассути лабиринт идома диҳем, то ҷавобро пайдо кунем. Мо харитаи худро мегирем ва ба гузоришҳо "фуроем".
Таҳлили сабт
Дар ин ҷо ду сенария имконпазир аст:
Дар ҳолати охирин, мо бояд сафари худро тавассути лабиринти микросервис идома диҳем ва ҷоеро, ки дархости мо коркард шудааст, ҷустуҷӯ кунем.
Ҳангоми дарёфти сабти хатогиҳо, мо хоҳем донист, ки маҳз чӣ хато шудааст, ин маънои онро дорад, ки маҳаллисозӣ ва сафари мо ба анҷом расидааст! Танҳо ҷамъоварии маълумоти зерин барои гузориши камбудиҳо боқӣ мемонад:
Маҳаллисозии камбудиҳо метавонад душвор бошад. Баъзан шумо ба девор меафтед: гузорише, ки шумо пайравӣ мекардед, ба хатогӣ оварда намерасонад ё чизҳоро печидатар мекунад. Дар чунин ҳолатҳо, ман одатан як ду қадам ба ақиб меравам ё аз аввал оғоз мекунам.
Барои омӯхтани лабиринт шояд вақти зиёд лозим шавад. Саёҳат метавонад душвор бошад ва пур аз хатар бошад: коркарди баъзе дархостҳо метавонад печида шавад ва дархостҳоро ба якчанд хидматҳои гуногун ирсол кунад. Баъзан осон кардани вазифа ва тамос бо меъморони лабиринт - таҳиягарон маъно дорад.