Інтэрнэт-тэставанне адрозніваецца ад тэставання настольных прыкладанняў. Пры тэставанні вэб-прыкладанняў мы звычайна выкарыстоўваем браўзэр (кліент) для запыту вэб-сайта з вэб-сервера шляхам сувязі з серверам праз HTTP або HTTPS.
Важна, каб мы, як удзельнікі тэсціравання, удзельнічалі ў Інтэрнэт-тэставанні, азнаёміліся з асновамі HTTP, каб добра зразумець, як працуюць вэб-дадаткі.
У Інтэрнэт-тэставанні, акрамя функцыянальнага тэсціравання асобных і інтэграваных кампанентаў, некаторыя віды тэсціравання, такія як прадукцыйнасць, бяспека, крос-браўзэр і хуткасць рэагавання, якія не абавязкова патрэбныя пры тэставанні настольных прыкладанняў, набываюць вялікае значэнне ў тэставанні веб-прыкладанняў. Гэта таму, што вэб-прыкладанні адкрыты для вялікай колькасці аўдыторыі, таму прадукцыйнасць павінна ўлічвацца.
Акрамя таго, вэб-прыкладанні больш успрымальныя да нападаў бяспекі, такіх як DDos і SQL Injection, і калі сайт арыентаваны, час прастою можа быць вельмі дарагім, таму вялікая ўвага таксама павінна быць зроблена на тэставанні бяспекі.
Больш сайтаў ствараецца з выкарыстаннем вэб-сэрвісаў. Яны даюць магчымасць тэстарам праверыць вэб-прыкладанне ў ізаляваных кампанентах, а не поўнамаштабнае інтэграванае вэб-дадатак.
Перавагі ізаляванага тэсціравання вэб-сэрвісаў:
Няма аглядальніка - Мы можам мець непасрэдную сувязь з вэб-службай, пакуль ведаем яе канчатковую кропку і якія параметры адпраўляць.
Значна хутчэй - Паколькі мы арыентуемся на ізаляваны вэб-сэрвіс, няма загружаных малюнкаў, JavaScript або CSS, таму адказ значна хутчэйшы.
Прасцей адладкі - пры тэставанні вэб-службы, калі мы сутыкаемся з праблемай, значна лягчэй знайсці прычыну праблемы, і таму адладка становіцца меншай праблемай.
Больш кантролю - мы маем непасрэдны кантроль над тым, які запыт мы прадстаўляем вэб-службе, таму мы можам выкарыстоўваць разнастайныя дадзеныя для сцэнарыяў памылак вэб-службаў.
Мы можам выкарыстоўваць Інструмент SopaUI для тэставання вэб-службы.
Тэставанне прадукцыйнасці асабліва важна пры Інтэрнэт-тэставанні, бо вэб-прыкладанне падвяргаецца патэнцыйна вялікай колькасці аўдыторыі.
Падчас тэставання вэб-прыкладанняў мы павінны не толькі забяспечыць функцыянальную стабільнасць сайта, але і пераканацца, што прыкладанне не выходзіць з ладу пры вялікай нагрузцы на сервер.
На жаль, большасць людзей забываюць пра тэсціраванне прадукцыйнасці вэб-прыкладання альбо адкладаюць тэставанне непасрэдна перад выпускам, які занадта позні. Калі ў дызайне ці кодзе ёсць нешта прынцыпова няправільнае, што можа паўплываць на прадукцыйнасць, мы не даведаемся пра гэта, пакуль не позна.
Лепшы падыход - гэта правядзенне праверкі прадукцыйнасці так часта, як і тэсты функцыянальнай рэгрэсіі, каб мы былі ўпэўнены, што прадукцыйнасць не рэгрэсавала ў рамках змяненняў у аснове кода.
Jmeter з'яўляецца папулярным інструментам тэсціравання нагрузкі з адкрытым кодам, які можна выкарыстоўваць для праверкі эфектыўнасці сайта. Ён таксама можа быць інтэграваны ў сервер CI.
Паколькі існуе розная колькасць браўзэраў, нам трэба забяспечыць, каб наша вэб-прыкладанне працавала ва ўсіх, як і чакалася (па меншай меры, асноўных, напрыклад, Google Chrome, Mozilla Firefox і Microsoft Internet Explorer), не забываючы пра Opera і Safari.
Як і пры ўсім тэставанні, нам трэба ведаць, якія браўзэры і іх версіі падтрымлівае прыкладанне, а затым адпаведным чынам спланаваць тэставанне.
Праверка ўсяго ў кожным браўзэры можа заняць шмат часу, таму мы можам выкарыстоўваць аўтаматызаваныя інструменты для праверкі функцыянальнасці розных браўзэраў.
Больш за тое, існуюць інструменты для крос-браўзэрнага тэсціравання, якія палягчаюць жыццё тэстарам для выканання тэстаў у розных браўзэрах.
Калі казаць пра асабісты досвед, колькасць праблем, звязаных з браўзэрамі, вельмі мала і ў асноўным звязана са вельмі старымі версіямі браўзэраў, альбо CSS не адлюстроўвае належным чынам праблемы з макетам.
Таму можа не спатрэбіцца запускаць усе тэставыя прыклады ва ўсіх браўзэрах, бо гэта можа заняць шмат часу (нават у аўтаматызаваным рэжыме) з вельмі невялікім прыбыткам, і верагоднасць таго, што нешта не атрымаецца, вельмі малая.
Лепшы падыход - запусціць усе тэставыя прыклады ў адным буйным браўзэры, а затым выбраць некалькі найбольш важных сцэнарыяў і запусціць іх у астатніх браўзэрах.
Большасць кампаній, якія займаюцца распрацоўкай вэб-прыкладанняў, працуюць па гнуткай мадэлі распрацоўкі з частымі выпускамі, таму неабходна частае тэсціраванне. У Інтэрнэт-тэставанні аўтаматызацыя тэстаў можа прынесці вялікую карысць, таму што здымае цяжар паўторнай працы.
Акрамя праверкі функцыянальнасці, мы таксама можам выкарыстоўваць аўтаматызаваныя сцэнарыі для стварэння дадзеных тэставання, неабходных нам падчас Інтэрнэт-тэсціравання.
Іншы спосаб аўтаматызацыі можа дапамагчы ў ручным тэсціраванні - такія інструменты, як Селен WebDriver можа рабіць скрыншоты сапраўднай старонкі аглядальніка. Калі нам трэба візуальна праверыць вялікую колькасць старонак, напр. мы хочам ведаць, як лакалізаваны тэкст адлюстроўваецца на розных вэб-старонках, мы можам выкарыстоўваць інструмент для прагляду старонак і стварэння скрыншотаў, а затым хутка праверыць візуальна.
Для атрымання дадатковай інфармацыі звярніцеся да Парады па аўтаматызацыі выпрабаванняў і лепшыя практыкі
Даволі часта ўзнікае неабходнасць у аналізе HTTP-трафіку з браўзэра на ніжэйшыя серверы. Аналізуючы вэб-трафік, мы можам падрабязна даведацца пра кожны запыт і адказ.
У Інтэрнэт-тэставанні аналіз трафіку HTTP асабліва карысны пры тэставанні трэціх бакоў адсочвання, такіх як тэгі Google Analytics або omniture на веб-старонках.
Мы можам не толькі праверыць, ці мецяць правільныя значэнні, але мы можам праверыць, ці адпраўляюцца запыты ў адпаведныя сістэмы іншых вытворцаў, і што мы атрымліваем сапраўдны адказ, звычайна 200 кодаў адказу.
Для таго, каб мець магчымасць візуалізаваць і запісваць HTTP-трафік, мы павінны выкарыстоўваць адпаведны інструмент, які дзейнічае як проксі-сервер і можа слухаць запыты і адказы паміж кліентам, звычайна браўзэрам, і серверамі.
Вось некалькі самых папулярных інструментаў, якія мы можам выкарыстоўваць для аналізу HTTP-трафіку:
Wireshark калі вы хочаце ўбачыць усё, што адбываецца ў сетцы.
Скрыпач калі вы хочаце проста кантраляваць трафік HTTP / s.
Жывыя загалоўкі HTTP калі вы знаходзіцеся ў Firefox і хочаце атрымаць хуткі ўбудова, каб убачыць загалоўкі.
FireBug вы можаце атрымаць гэтую інфармацыю таксама і забяспечвае прыемны інтэрфейс, калі вы працуеце над адной старонкай падчас распрацоўкі. Я выкарыстаў яго для маніторынгу транзакцый AJAX.
Усё больш людзей атрымліваюць доступ да вэб-сайтаў са сваіх мабільных тэлефонаў. Гэта азначае, што Інтэрнэт-тэставанне больш не абмежавана для аглядальнікаў на працоўных сталах. Цяпер нам даводзіцца тэставаць вэб-дадаткі на мабільных платформах, а таксама на працоўных сталах.
Існуе два тыпы вэб-прыкладанняў для мабільных прылад, якія спецыяльна распрацаваны для мабільных платформаў, і тыя, якія 'рэагуюць', гэта значыць існуе толькі адна версія вэб-прыкладання, створаная для настольных і мабільных прылад, але прыкладанне адлюстроўвае і з'яўляецца адлюстроўваецца па-рознаму ў залежнасці ад памеру прылады.
Абодва тыпы патрабуюць тэставання на мабільных прыладах і / або трэнажорах.
Падчас Інтэрнэт-тэсціравання, а таксама функцыянальнага тэсціравання нам таксама неабходна праверыць і не абмяжоўвацца: