Ҳикояҳои корбаронро кай автоматӣ кардан лозим аст?

Агар шумо дар муҳити чолок ҳамчун QA кор карда бошед, эҳтимолан шумо ба ягон навъ автоматизатсияи озмоиш дучор меоед. Ман автоматизатсияи санҷиши воҳидро дар назар надорам, ки одатан фаъолияти марказонидашудаи таҳиягар аст, аммо автоматикунонии санҷиши қабули функсионалӣ, ки одатан аз ҷониби QA иҷро карда мешавад ё нақши нави зебои Software Developer in Test.

Аввалан, биёед ба баъзе меъёрҳо ва сабабҳои доштани автоматизатсияи тестӣ, ки бояд ба саволи «Чаро санҷишҳо бояд автоматӣ карда нашаванд» ҷавоб диҳанд



Такроршаванда

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




Эътимоднокӣ

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



Вақт

Санҷишҳои автоматикунонидашуда низ бояд вақти моро сарфа кунанд. Агар санҷиши оддӣ 10 дақиқа тӯл кашад, аммо ҳамон натиҷаро дар муддати 1 дақиқа дастӣ муайян кардан мумкин аст, пас беҳтар аст, ки чунин санҷишҳоро автоматӣ накунед.




Шабакаи бехатарӣ

Санҷишҳои автоматикунонидашуда бояд барои таҳиягарон шабакаи бехатарӣ фароҳам оранд, то ҳар гуна раддия аз коди хуби корӣ, дар натиҷаи тағирот ба пойгоҳи код, зуд қайд карда шавад ва ба таҳиягарон гузориш дода шавад.



Ҳикояҳо кай бояд автоматӣ карда шаванд?

Дар як спринти маъмулӣ, бигӯед, ки 7 ҳикояе ҳастанд, ки ба давидан саъй мекунанд, ки 5 нафари онҳо номзадҳои хубанд, ки дар асоси меъёрҳои дар боло овардашуда автоматӣ карда шаванд. Аммо кай вақти беҳтарин барои автоматикунонии ин ҳикояҳо аст? Оё мо ҳангоми навиштани функсияҳо тестҳои автоматикунонидаро нависем? Оё мо бояд интизор шавем, то ин функсия таҳия карда шавад ва сипас тестҳои автоматикунонидаро нависем? Оё мо бояд то охири давидан интизор шавем ва пас ҳикояҳоро автоматӣ кунем?

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

Дар ҳолатҳои дигар, вақте ки ҳикоя дар бораи татбиқи як хусусияти нав дар барнома аст, мо аз куҷо медонем, ки маҳсулоти ниҳоӣ барои пешакӣ навиштани тестҳо чӣ гуна хоҳад буд? Дар ин ҷо, ман дар бораи файлҳои хусусӣ, ки санҷишҳои қабулро пешакӣ тавсиф намекунам, балки асбобҳои воқеӣ ё санҷишҳои селен (татбиқи санҷишҳо) -ро, ки бар зидди коди пешниҳодшуда кор мекунанд, намегӯям.


Хати поён ин аст - ҳар як озмоише, ки якчанд маротиба гузаронида мешавад, бояд автоматӣ карда шавад. Ва кадом озмоишҳоро мо на як бору ду бор иҷро хоҳем кард? Санҷишҳои регрессия. Ва санҷишҳои регрессионӣ чист? Санҷишҳое, ки муайян мекунанд, ки оё барнома дар фаъолияти худ дар натиҷаи тағирот ва хусусиятҳои нав регрессия кардааст.

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

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

Баъзе ташкилотҳо ҳатто қоидаи қатъӣ ҷорӣ мекунанд, ки то пурра автоматикунонидани ҳикоя 'иҷро намешавад'! Оё мо як хусусияти муҳими баромаданро бозмедорем, зеро QA бо сабабҳои гуногун сари вақт автоматизатсияро таъмин накард ё карда наметавонист? Ё ин ки ҳикоя 'иҷро нашудааст', зеро мо як скрипти автоматикунонидашуда надорем, ки мавҷудияти тугмаро дар як саҳифа тафтиш кунем. Ҷиддӣ?


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

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