Перавагі і недахопы аўтаматызацыі выпрабаванняў

Аўтаматызацыя выпрабаванняў пры правільным выкананні можа мець мноства пераваг і мець вялікую карысць для праекта і арганізацыі. Аднак ёсць некаторыя падводныя камяні альбо недахопы аўтаматызацыі тэстаў, пра якія мы павінны ведаць.



Перавагі аўтаматызацыі выпрабаванняў

У чым перавагі аўтаматызацыі тэстаў?

Пацверджанне вядомага

Аўтаматызаваныя праверкі - выдатны спосаб пацвердзіць, што прыкладанне па-ранейшаму функцыянуе належным чынам пасля ўнясення ў яго змен.


Цалкам магчыма, што калі да дадатку дадаецца новая функцыя альбо выпраўляецца памылка, гэта ўплывае на функцыянальнасць працоўнага праграмнага забеспячэння, то ёсць уводзіцца памылка рэгрэсіі.

Запусціўшы набор аўтаматызаваных праверак рэгрэсіі пры абнаўленні прыкладання, мы можам выявіць любыя новыя памылкі, унесеныя ў выніку зменаў.


Ключавая інфармацыя - гэта запускаць аўтаматызаваныя праверкі так часта, як прыкладанне абнаўляецца.



Не трэба запускаць поўны набор аўтаматызаваных праверак. Хуткага пакета рэгрэсіі дыму павінна быць дастаткова для вырашэння любых асноўных праблем.

Хуткая зваротная сувязь

Яшчэ адным вялікім перавагай аўтаматызаваных праверак з'яўляецца хуткая зваротная сувязь, якую мы атрымліваем пры абнаўленні прыкладання. У ідэале каманда распрацоўшчыкаў павінна выправіць любы збой, як толькі ўзнікне, перш чым пераходзіць да іншых задач.

Калі ласка, звярніце ўвагу што гэтая хуткая зваротная сувязь можа быць дасягнута толькі пры дапамозе модульных тэстаў і тэстаў API. Калі мы правяраем функцыянальнасць з дапамогай карыстацкага інтэрфейсу або на сістэмным узроўні, тэсты могуць заняць шмат часу.


Хуткае выкананне чэкаў

Аўтаматызаваная праверка можа заняць некаторы час для сцэнарыя. Аднак, калі мы іх выконваем, яны, як правіла, хутка і могуць прайсці розныя этапы значна хутчэй, чым чалавек. Такім чынам, яны дапамагаюць хутка забяспечваць зваротную сувязь з камандай распрацоўшчыкаў.

Гэта асабліва дакладна ў выпадку сцэнарыяў, кіраваных дадзенымі.

Вызваляе час выпрабавальнікаў

Лепшае выкарыстанне аўтаматызаваных праверак - гэта рэгрэсійныя тэсты.

Аўтаматызацыя рэгрэсійных тэстаў вызваляе час тэстараў, таму яны могуць больш засяродзіцца на даследчым тэсціраванні новых функцый.


Такім чынам, пры правільнай рэалізацыі аўтаматызаваныя праверкі могуць запускацца аўтаматычна з мінімальным кантролем альбо без умяшання ўручную.

Каманда распрацоўшчыкаў можа ўнесці свой уклад

Аўтаматызаваныя праверкі звычайна пішуцца на адной мове з тэстуемым дадаткам. Па гэтай прычыне адказнасць за напісанне, вядзенне і выкананне тэстаў становіцца агульнай адказнасцю.

Кожны ў камандзе распрацоўшчыкаў можа ўнесці свой уклад, не толькі тэсціроўшчыкі.



Недахопы аўтаматызацыі выпрабаванняў

У чым недахопы аўтаматызацыі тэстаў?


Ілжывае пачуццё якасці

Сцеражыцеся здаць тэсты! Гэта асабліва важна пры праверцы функцыянальнасці на ўзроўні карыстацкага інтэрфейсу або сістэмы.

Аўтаматызаваная праверка правярае толькі тое, што было запраграмавана.

Усе аўтаматызаваныя праверкі ў наборы выпрабаванняў могуць з задавальненнем прайсці, але могуць быць выяўлены асноўныя недахопы. Прычына гэтага ў тым, што аўтаматызаваная праверка не была закадзіравана, каб 'шукаць' гэтыя збоі.

Рашэнне: перад аўтаматызацыяй пераканайцеся ў тым, што вы распрацавалі добрыя сцэнарныя сцэнарыі. Аўтаматызаваная праверка гэтак жа добрая, як і дызайн тэсту. Таксама дапаўняйце аўтаматызаваныя праверкі ручным / пошукавым тэсціраваннем.


Не надзейна

Аўтаматызаваныя праверкі могуць пацярпець няўдачу з-за многіх фактараў. Калі аўтаматызаваныя праверкі працягваюць даваць збой з-за праблем, акрамя сапраўдных памылак, яны могуць выклікаць ілжывую трывогу.

Напрыклад, аўтаматызаваныя праверкі могуць зламацца з-за змены карыстацкага інтэрфейсу, адмовы службы альбо праблем з сеткай.

Гэтыя праблемы непасрэдна не з прыкладання, якое тэстуецца, але могуць паўплываць на вынік аўтаматызаванай праверкі.

Рашэнне: Дзе гэта магчыма / дастасавальна, выкарыстоўвайце заглушкі. Заглушкі пераадольваюць праблемы з падключэннем альбо змены ў незалежных сістэмах. Такім чынам, аўтаматызаваныя праверкі не будуць залежаць ад любых няспраўнасцей.

Тэставая аўтаматызацыя не тэстуе

На жаль, шмат хто памылкова прымае 'Аўтаматызацыю тэстаў' з тэставаннем.

Пасля таго, як у іх ёсць інструменты для аўтаматызацыі тэсціравання, яны хочуць 'аўтаматызаваць усе тэсты'. Яны хочуць пазбавіцца ад усіх 'ручных тэстараў'.

Праўда ў тым, што тэсціраванне - гэта пошукавае практыкаванне. Тэставанне патрабуе ведаў дамена, мэтанакіраванага розуму і гатоўнасці вывучыць прыкладанне.

Тэставанне - гэта не проста выкананне набору загадзя вызначаных этапаў тэсціравання і параўнанне фактычных вынікаў з чаканымі. Гэта праца аўтаматызаваных праверак.

Каб правільна праверыць прыкладанне, заўсёды неабходны чалавечы інтэлект.

Рашэнне: Зразумейце, што для паспяховай рэалізацыі праекта вам патрабуецца як аўтаматызаванае, так і ручное тэсціраванне.

Адно не з'яўляецца заменай іншаму; дапаўняйце аўтаматызаваныя праверкі ручным / пошукавым выпрабаваннем.

Час і намаганні па тэхнічным абслугоўванні

Вы павінны прыняць той факт, што аўтаматызаваныя тэсты патрабуюць абслугоўвання. Па меры развіцця прыкладання, якое выпрабоўваецца, змяняюцца і аўтаматызаваныя праверкі.

Аўтаматызаваныя праверкі недаўгавечныя. Калі пакеты рэгрэсіі не абнаўляюцца, вы бачыце разнастайныя збоі.

Магчыма, некаторыя праверкі ўжо не актуальныя. А можа, праверкі не з'яўляюцца сапраўдным прадстаўленнем новых рэалізацый.

Гэтыя збоі могуць забрудзіць вынікі выпрабаванняў.

Прыступіць да аўтаматызацыі тэстаў - гэта не аднаразовае намаганне. Каб атрымаць максімальную карысць ад аўтаматызаваных праверак, яны павінны быць у курсе актуальнасці і актуальнасці. Гэта патрабуе шмат часу, сіл і рэсурсаў.

Рашэнне: Паколькі каэфіцыент тэхнічнага абслугоўвання з'яўляецца пастаяннай дзейнасцю, укладзіце час у распрацоўку добрай структуры. Выкарыстоўвайце шматразовыя модулі, аддзяліце тэсты ад рамкі і выкарыстоўвайце добрыя прынцыпы дызайну, каб палегчыць намаганні па тэхнічным абслугоўванні.

Павольная зваротная сувязь

Калі функцыянальнасць гатовая да тэсціравання, часцей за ўсё выконваць ручную праверку хутчэй.

Праблема ў тым, што аўтаматызаваная праверка можа займаць шмат часу для напісання сцэнарыяў у залежнасці ад складанасці тэсту. Такім чынам, правядзенне ручной праверкі дае больш хуткі водгук, чым сцэнарыяў, запуску і праверкі вынікаў.

Акрамя таго, з пункту гледжання тэставання карыстацкага інтэрфейсу і сістэмнага ўзроўню, аўтаматызаваная праверка можа заняць шмат часу, каб запоўніць і скласці справаздачу. Такім чынам, калі ёсць сапраўдная памылка, мы можам не ведаць, пакуль усе тэсты не скончацца.

Рашэнне: Паспрабуйце аўтаматызаваць тэсты разам з распрацоўкай, каб пасля завяршэння распрацоўкі вы маглі запускаць аўтаматызаваныя тэсты супраць новай функцыянальнасці.

Акрамя таго, аддзяліце аўтаматызаваныя праверкі ў розных пакетах.

Пакет рэгрэсу дыму павінен быць вельмі хуткім. Тэсты павінны праверыць толькі магчымасць запуску і доступу да прыкладання.

Далей вы можаце атрымаць пакет функцыянальнай рэгрэсіі, які праверыць асноўныя функцыянальныя магчымасці.

Іншы пакет рэгрэсіі можа ўключаць у сябе ўсе скразныя і глыбокія тэсты. Гэтыя праверкі можна запусціць на працягу ночы.

Прыкладам начнога запуску з'яўляюцца аўтаматызаваныя праверкі паміж браўзэрамі. Звычайна яны працуюць ва ўсіх браўзэрах.

Знойдзена не так шмат памылак

Большасць памылак, здаецца, знойдзена 'выпадкова' альбо пры правядзенні пошукавых выпрабаванняў.

Гэта, магчыма, таму, што ў кожным сеансе даследчага тэсціравання мы маглі б тэставаць прыкладанне рознымі спосабамі.

Аўтаматычная праверка рэгрэсіі, з іншага боку, заўсёды ідзе па зададзеным шляху. Часам з аднолькавым наборам дадзеных выпрабаванняў. Гэта памяншае верагоднасць пошуку новых дэфектаў у дадатку.

Акрамя таго, колькасць памылак рэгрэсіі, здаецца, ніжэй, чым памылак новай функцыі.

Рашэнне: Паспрабуйце пабудаваць выпадковасць у сцэнарыі і дадзеных. Кожны раз спрабуючы розныя шляхі з рознымі дадзенымі, можна выявіць патэнцыйныя праблемы.



Выснова

У гэтым пасце мы разгледзелі некаторыя перавагі і недахопы аўтаматызаванага тэсціравання. Калі мы ўдзельнічаем у аўтаматызацыі тэстаў, нам варта ўлічваць вышэйпералічаныя моманты, каб атрымаць максімальную карысць.