paint-brush
Ин шумо нестед; Як қисми калони кафолати сифат ин маҳаллисозии камбудиҳостаз ҷониби@sera24
Таърихи нав

Ин шумо нестед; Як қисми калони кафолати сифат ин маҳаллисозии камбудиҳост

аз ҷониби Ekaterina Noga6m2024/12/31
Read on Terminal Reader

Хеле дароз; Хондан

Як қисми калони QA будан маҳаллисозии камбудиҳо мебошад. Бе маҳаллисозии дуруст, норасоӣ метавонад ба як картошкаи гарм табдил ёбад, ки дар байни фронт, пуштибон ва ҳар як дастаи таҳиякунанда партофта мешавад. Дар бораи локализатсияи камбудиҳо ҳамчун паймоиш дар лабиринт ва дархостҳо ва гузоришҳо ҳамчун тӯби риштаи шумо фикр кунед.
featured image - Ин шумо нестед; Як қисми калони кафолати сифат ин маҳаллисозии камбудиҳост
Ekaterina Noga HackerNoon profile picture
0-item

Як қисми калони QA будан маҳаллисозии камбудиҳо мебошад.


Албатта, усулҳои тарроҳии санҷиш ба мо кӯмак мекунанд, ки сенарияҳои санҷиширо интихоб кунем ва корҳоро самараноктар кунем. Аммо маҳаллисозии нуқсон чист ва чӣ тавр мо метавонем онро камтар дарднок кунем?

Биёед бо асосҳо оғоз кунем

Маҳаллисозӣ ба бозии детектив монанд аст: "Дар куҷо ва кай корҳо хато карданд?" Бе маҳаллисозии дуруст, норасоӣ метавонад ба як картошкаи гарм табдил ёбад, ки дар байни фронт, пуштибон ва ҳар як дастаи таҳиякунанда партофта мешавад. Вақт ва эҳтимолан ҳатто контекст беҳуда сарф мешавад.


Дар бораи локализатсияи камбудиҳо ҳамчун паймоиш дар лабиринт фикр кунед, ки дархостҳо ва гузоришҳо ҳамчун тӯби риштаи шумо. Аммо магар осонтар намебуд, ки харитаи ин лабиринт дошта бошед, хатто харитаи ночиз, ба чои он ки бо ришта пешпо хӯрдан? Дар он ҷо меъмории барнома ворид мешавад.


Архитектураи барнома чист?

Ин аст, ки чӣ тавр қисмҳои гуногуни система якҷоя кор мекунанд. Дар робита ба истиораи лабиринти мо, ин аст, ки як қисм ба дигараш пайваст мешавад, ки кадом гузаргоҳҳо ба куҷо мебарад.


Ман ду меъмории асосиро ҷудо мекунам: мизоҷ-сервер ва пуштибон.

  • Меъмории мизоҷ-сервер ба мо нишон медиҳад, ки чӣ тавр муштарӣ ва сервер ҳамкорӣ мекунанд.
  • Архитектураи пушти сар муайян мекунад, ки чӣ тавр пуштибон дархостҳои муштариро иҷро мекунад.

Чанд сухан дар бораи меъмории муштарӣ-сервер

Одатан ду намуд вуҷуд дорад:

  • Мизоҷи борик
  • Мизоҷи ғафс


Навъи он таъсир мерасонад, ки мизоҷ чӣ қадар иттилоотро мустақилона нигоҳ медорад ва коркард мекунад. Роҳҳои дигари танзим кардани ин вуҷуд доранд, аммо ман ба он чизе, ки дар асл бо он кор кардаам, мемонам.


Аксари барномаҳои мобилӣ ва веб муштариёни лоғар мебошанд. Ҳама маълумот дар сервер нигоҳ дошта мешавад ва барномаи муштарӣ маълумотро дархост мекунад ё дархост мекунад, ки онро коркард кунанд. Бақайдгирӣ, ворид шудан, обуна шудан ба огоҳиномаҳо - ҳамаи ин зангҳо ба сервер мебошанд. Тамоми коркард дар сервер аз муштарӣ пинҳон аст. Дар посух ба дархост, муштарӣ аз базаи маълумот ҷамъоварӣ ва коркардшуда ё тасдиқи бомуваффақият анҷом ёфтани дархостро мегирад.


Дар барномаҳои ғафси муштарӣ, муштарӣ қисми зиёди коркардро худаш иҷро мекунад: илова кардани маълумот ба пойгоҳи додаҳо, тавлиди ҳисоботҳо, ҳисоб кардани маблағҳо ва эҷоди ҳуҷҷатҳо. Онҳо аксар вақт ба таври маҳаллӣ насб карда мешаванд, аммо на ҳамеша. Намунаҳои муштариёни ғафс бозиҳои офлайнӣ, AutoCAD ва баъзе версияҳои 1C мебошанд.

Акнун биёед меъмории пушти сарро омӯзем

Ду равиши маъмул инҳоянд:

  • Монолитӣ
  • Хидматҳои хурд


Вақте ки қариб ҳама чиз дар як ҷо коркард мешавад, он як монолит аст.


Агар дархостҳо барои коркард ба хидматҳои дигар дар дохили система фиристода шаванд, шумо эҳтимол бо меъмории хидматрасонии хурд сарукор доред.


Дар меъмории монолитӣ, муайян кардани манбаи нуқсон метавонад душвор бошад, зеро дастаҳо ва хидматҳои гуногун маъмулан як пойгоҳи кодро мубодила мекунанд, яъне тағирот метавонад оқибатҳои ғайричашмдошт дошта бошад.


Дар ҳолати дуюм, хидматҳо ҷудо карда мешаванд, ки ҳар кадом дорои пойгоҳи коди худро доранд, яъне тағирот дар як хидмат ба дигарон каме таъсир мерасонад.

Сохтори ташкилӣ ва соҳаҳои масъулият

Сарлавҳа даҳшатнок аст, аммо он танҳо ба шумо мегӯяд, ки кӣ чӣ кор мекунад ва кӣ барои кадом қисми лабиринт (ариза) масъул аст. Тасаввур кунед, ки мо як ширкати калон дорем: бонк, бозор, хадамоти интиқоли ғизо - шумо онро номбар мекунед. Замимаи мо ҳар қадар калонтар ва мураккабтар бошад, ҳамон қадар одамон дар он кор мекунанд. Ва чӣ қадаре ки одамон зиёд бошанд, ҳамон қадар ба шумо лозим меояд, ки онҳоро ба дастаҳо тақсим кунед, ки ҳар яке барои соҳаи рушди худ масъул аст.


Масалан, як даста метавонад таблиғҳоро иҷро кунад, дар ҳоле ки дигар барои пардохтҳо масъул аст. Агар замимаи мо хидматҳои гуногун пешниҳод кунад, гурӯҳҳо метавонанд барои хидматҳои инфиродӣ, аз қабили идоракунии ҳуҷҷатҳои электронӣ, баҳисобгирӣ ё хариди давлатӣ масъул бошанд.


Ба шумо лозим нест, ки ҳама чизро ва ҳамаро бидонед, аммо агар ҳуҷҷате мавҷуд бошад, ки кадом даста барои кадом минтақа масъул аст, беҳтар аст, ки онро хатчӯб нигоҳ доред.

Ҳама чизро якҷоя кардан

Харита дар даст, ришта дар омода, биёед ба лабиринти худ ғарқ шавем ва манбаи нуқсонро ҷустуҷӯ кунем. Биёед якчанд сенарияро тасаввур кунем.

Сенарияи 1

Тасаввур кунед: Мо вебсайтро барои клуби сӯҳбат озмоиш мекунем.


Мо ҷадвали дарсҳоро аз назар мегузаронем, дар бораи ҷаласаҳои дарпешистода мехонем, вақте ки дар баъзе мавридҳо хатогиро мушоҳида мекунем.


Акнун, мо чӣ гуна фаҳмем, ки он дар куҷо пайдо шудааст? Бигзор саргузашт оғоз шавад!


Мо devTools-ро мекушоем, саҳифаро навсозӣ мекунем ва ба дархостҳо ва посухҳо назар мекунем. Азбаски мо муштарии лоғар дорем, мо дар яке аз посухҳо хатогии худро пайдо мекунем - он аз пушти сар омад.


Ҳоло, мо гузоришҳоро мекушоем ва коркарди дархост ё посухи пуштибонро ҷустуҷӯ мекунем - ин риштаи мо аз тӯби ҷодугарӣ аст. Мо метавонем гузоришҳоро бо истифода аз ҳама гуна маълумот аз дархост ва посух ҷустуҷӯ кунем, аммо беҳтар аст, ки арзишҳои беназирро истифода барем: дархост xiid, ID аз дархост, рақами телефон ва ғайра.


Мо вурудро пайдо мекунем ва тафтиш мекунем: оё мо маълумоти синфро аз базаи маълумот гирифтем ё аз хидмати дигар?


Агар маълумот аз пойгоҳи додаҳо ворид шуда бошад, мо метавонем ин масъаларо ба дастгирии техникӣ супорем, то хатогиро дар пойгоҳи дода ислоҳ кунад.


Агар маълумот аз хидмати дигар омада бошад, мо метавонем камбудиро ба онҳо бидиҳем.


Табрик мекунем! Мо лабиринти аввалини худро фатх кардем: нуксон локализация ва хабар дод.


Сенарияи 2

Акнун тасвир кунед, ки мо варақаи бақайдгириро санҷида истодаем.


Мо почтаи электронӣ, баъзе маълумот ва пароли сохта ворид мекунем. Мо тугмаи сабти номро пахш мекунем ва ба таври ғайричашмдошт хато мегирем.


Вақти он расидааст, ки тӯби ҷодугарии моро кушоед! Мо ба ҷадвали шабакаи маҳбуби худ дар devTools меравем ва мебинем, ки чӣ хато шуд: мо ҳама қадамҳоро такрор мекунем ва посухи серверро тафтиш мекунем.



Дар посух ба дархост, мо рамзи 400 бо мақоми ҷавоби холӣ мегирем. Оё мо бояд гурезем ва дар муқобили фронт камбудиҳо пешниҳод кунем? Аммо мо то ҳол намедонем, ки дар чӣ хатогӣ рух дод ва чӣ бояд ислоҳ карда шавад. Аксар вақт хатогии 400 рух медиҳад, вақте ки байни он чизе, ки муштарӣ фиристодааст ва он чизе, ки сервер интизор буд, ихтилоф вуҷуд дорад. Ин метавонад сабабҳои зиёд дошта бошад, аз ҷумла:


  • Ҳуҷҷатҳои кӯҳна дар вазифа
  • Тағирот бе ҳуҷҷатҳо
  • Хатогиҳои чопӣ


Биёед дархости муштариро тафтиш кунем

Агар мо ҳуҷҷатҳое дошта бошем, ки дастӣ навишта шудаанд ё дар Swagger ё OpenAPI тавлид шудаанд, биёед онро барои тасдиқи он истифода барем:

  • Мо ҳама параметрҳои заруриро мефиристем
  • Қиматҳои параметрҳо намудҳои дурусти маълумот доранд (масалан, арзишҳои ададӣ барои параметрҳои int)


Боз чӣ гуна мо метавонем дархостро тафтиш кунем?


Ҳатто агар мо ҳуҷҷат надорем, мо метавонем тафтиш кунем:

  • Мутобиқати синтаксис (масалан, агар дархост дар формати JSON фиристода шавад, он бояд синтаксиси JSON-ро риоя кунад)
  • Хатогиҳои дар номҳои параметрҳо (масалан, “mony” ба ҷои “пул”, “доби” ба ҷои “тан”)
  • Ҳарфҳои кириллӣ дар байни ҳарфҳои лотинӣ (масалан, “номе” бо ҳуруфи кириллӣ “e” навишта шудааст)


Ҳама чиз дар тартиб аст? Пас вақти он расидааст, ки сафари худро тавассути лабиринт идома диҳем, то ҷавобро пайдо кунем. Мо харитаи худро мегирем ва ба гузоришҳо "фуроем".


Таҳлили сабт

Дар ин ҷо ду сенария имконпазир аст:

  • Ҳангоми коркарди дархост хатогӣ сабт шудааст
  • Ҳеҷ хатогӣ сабт нашудааст, аммо дархостҳо сабт карда мешаванд


Дар ҳолати охирин, мо бояд сафари худро тавассути лабиринти микросервис идома диҳем ва ҷоеро, ки дархости мо коркард шудааст, ҷустуҷӯ кунем.



Ҳангоми дарёфти сабти хатогиҳо, мо хоҳем донист, ки маҳз чӣ хато шудааст, ин маънои онро дорад, ки маҳаллисозӣ ва сафари мо ба анҷом расидааст! Танҳо ҷамъоварии маълумоти зерин барои гузориши камбудиҳо боқӣ мемонад:

  • Дархости пушти сар
  • Сабти хато
  • Ислоҳи тавсияшуда

Хулоса

Маҳаллисозии камбудиҳо метавонад душвор бошад. Баъзан шумо ба девор меафтед: гузорише, ки шумо пайравӣ мекардед, ба хатогӣ оварда намерасонад ё чизҳоро печидатар мекунад. Дар чунин ҳолатҳо, ман одатан як ду қадам ба ақиб меравам ё аз аввал оғоз мекунам.


Барои омӯхтани лабиринт шояд вақти зиёд лозим шавад. Саёҳат метавонад душвор бошад ва пур аз хатар бошад: коркарди баъзе дархостҳо метавонад печида шавад ва дархостҳоро ба якчанд хидматҳои гуногун ирсол кунад. Баъзан осон кардани вазифа ва тамос бо меъморони лабиринт - таҳиягарон маъно дорад.


L O A D I N G
. . . comments & more!

About Author

Ekaterina Noga HackerNoon profile picture
Ekaterina Noga@sera24
Sharing my experience and making the lives of other QAs a little bit easier.

ТЕГИ овезон кунед

ИН МАКОЛА ДАР...