Парады па тэставанні вэб-прыкладанняў

Інтэрнэт-тэставанне адрозніваецца ад тэставання настольных прыкладанняў. Пры тэставанні вэб-прыкладанняў мы звычайна выкарыстоўваем браўзэр (кліент) для запыту вэб-сайта з вэб-сервера шляхам сувязі з серверам праз HTTP або HTTPS.

Важна, каб мы, як удзельнікі тэсціравання, удзельнічалі ў Інтэрнэт-тэставанні, азнаёміліся з асновамі HTTP, каб добра зразумець, як працуюць вэб-дадаткі.

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


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



Тэставанне вэб-паслуг

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


Перавагі ізаляванага тэсціравання вэб-сэрвісаў:




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


  • Значна хутчэй - Паколькі мы арыентуемся на ізаляваны вэб-сэрвіс, няма загружаных малюнкаў, JavaScript або CSS, таму адказ значна хутчэйшы.


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



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

Мы можам выкарыстоўваць Інструмент SopaUI для тэставання вэб-службы.



Тэставанне прадукцыйнасці

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

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


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

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

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



Крос-аглядальнае Інтэрнэт-тэставанне

Паколькі існуе розная колькасць браўзэраў, нам трэба забяспечыць, каб наша вэб-прыкладанне працавала ва ўсіх, як і чакалася (па меншай меры, асноўных, напрыклад, Google Chrome, Mozilla Firefox і Microsoft Internet Explorer), не забываючы пра Opera і Safari.


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

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

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

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


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

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



Аўтаматызацыя выпрабаванняў

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

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

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

Для атрымання дадатковай інфармацыі звярніцеся да Парады па аўтаматызацыі выпрабаванняў і лепшыя практыкі



Аналіз трафіку HTTP

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

У Інтэрнэт-тэставанні аналіз трафіку HTTP асабліва карысны пры тэставанні трэціх бакоў адсочвання, такіх як тэгі Google Analytics або omniture на веб-старонках.

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

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

Вось некалькі самых папулярных інструментаў, якія мы можам выкарыстоўваць для аналізу HTTP-трафіку:

Wireshark калі вы хочаце ўбачыць усё, што адбываецца ў сетцы.

Скрыпач калі вы хочаце проста кантраляваць трафік HTTP / s.

Жывыя загалоўкі HTTP калі вы знаходзіцеся ў Firefox і хочаце атрымаць хуткі ўбудова, каб убачыць загалоўкі.

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



Спагадныя вэб-сайты і мабільнае тэставанне

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

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

Абодва тыпы патрабуюць тэставання на мабільных прыладах і / або трэнажорах.

Іншыя важныя элементы для Інтэрнэт-тэсціравання

Падчас Інтэрнэт-тэсціравання, а таксама функцыянальнага тэсціравання нам таксама неабходна праверыць і не абмяжоўвацца:

  • Javascript
  • CSS
  • Печыва
  • Даступнасць
  • Мёртвыя спасылкі
  • UX і макет
  • Дзейнасць HTML
  • Бяспека
  • Абнавіць браўзэр
  • Змена памеру вокнаў