Tipy pro testování webových aplikací

Web Testing se liší od testování desktopových aplikací. Při testování webových aplikací obvykle používáme prohlížeč (klienta) k vyžádání webu z webového serveru tím, že komunikujeme se serverem přes HTTP nebo HTTPS.

Je důležité, abychom jako testeři při testování webu měli být obeznámeni se základy protokolu HTTP, abychom dobře porozuměli fungování webových aplikací.

Ve Web Testingu se kromě testování funkčnosti jednotlivých a integrovaných komponent stávají při testování webových aplikací velmi důležité některé typy testování, jako je Performance, Security, Cross-browser and Responsiveness, které nejsou nezbytně nutné při testování desktopových aplikací. Důvodem je, že webové aplikace jsou otevřeny velkému publiku, takže je třeba počítat s výkonem.


Kromě toho jsou webové aplikace náchylnější k útokům na zabezpečení, jako jsou DDos a SQL Injection, a pokud je cílený web, může být prostoj velmi nákladný, takže je třeba klást velký důraz také na testování zabezpečení.



Testování webových služeb

Další webové stránky se vytvářejí pomocí webových služeb. Ty poskytují testerům příležitost otestovat webovou aplikaci v izolovaných komponentách, nikoli plnohodnotnou integrovanou webovou aplikaci.


Výhody testování webových služeb v izolaci jsou:


  • Není zapojen žádný prohlížeč - Můžeme přímo komunikovat s webovou službou, pokud známe její koncový bod a jaké parametry poslat.


  • Mnohem rychlejší - Jelikož se zaměřujeme na izolované webové služby, neexistují žádné obrázky, javascript ani css k načtení, takže reakce je mnohem rychlejší.


  • Snadnější ladění - při testování webové služby, pokud narazíme na problém, je mnohem snazší najít příčinu problému, a tak se ladění stane méně bolestivým.



  • Větší kontrola - máme přímou kontrolu nad tím, jaký požadavek odesíláme webové službě, abychom mohli použít nejrůznější data pro chybové scénáře webových služeb.

Můžeme použít Nástroj SopaUI otestovat webovou službu.



Testování výkonu

Testování výkonu je zvláště důležité při testování webu, protože webová aplikace je vystavena potenciálně velkému počtu posluchačů.

Při testování webových aplikací musíme nejen zajistit funkčnost stabilního webu, ale také zajistit, aby aplikace při velkém zatížení serveru nepadla.


Většina lidí bohužel zapomíná na testování výkonu webové aplikace nebo odloží testování těsně před vydáním, což je příliš pozdě. Pokud je v návrhu nebo kódu něco zásadně špatného, ​​co by mohlo ovlivnit výkon, nevěděli bychom o tom, dokud nebude příliš pozdě.

Nejlepším přístupem je spustit kontrolu výkonu tak často, jako testy funkční regrese, abychom měli jistotu, že se výkon v rámci změn v kódové základně nezhoršil.

Jmeter je populární nástroj pro testování zatížení opensource, který lze použít ke kontrole výkonu webu. Může být také integrován do CI serveru.



Webové testování mezi prohlížeči

Jelikož existuje různý počet prohlížečů, musíme zajistit, aby naše webové aplikace fungovaly podle očekávání u všech (alespoň u hlavních, tj. Google Chrome, Mozilla Firefox a Microsoft Internet Explorer), nezapomenout ani na Opera a Safari.


Stejně jako u všech testů potřebujeme vědět, které prohlížeče a jejich verze aplikace podporuje, a poté podle toho naplánovat testování.

Testování všeho v každém prohlížeči může být velmi časově náročné, proto můžeme pomocí automatických nástrojů ověřit funkčnost v různých prohlížečích.

Kromě toho existují online nástroje pro testování mezi prohlížeči, které testerům usnadňují život při provádění testů v různých prohlížečích.

Mluvíme-li z osobní zkušenosti, je počet problémů souvisejících s prohlížečem velmi málo a většinou souvisí s velmi starými verzemi prohlížečů nebo se CSS nevykresluje správně, což by způsobilo problémy s rozložením.


Proto nemusí být nutné spouštět všechny testovací případy ve všech prohlížečích, protože to může být velmi časově náročné (i když automatizované) pro velmi malý zisk a šanci, že něco nebude fungovat na velmi nízké úrovni.

Nejlepším přístupem je spustit všechny testovací případy v jednom hlavním prohlížeči a poté vybrat několik nejdůležitějších scénářů a spustit je ve zbývajících prohlížečích.



Automatizace testů

Většina společností vyvíjejících webové aplikace pracuje v agilním vývojovém modelu s častým vydáváním, a proto je potřeba častého testování. Ve Web Testingu může být Test Automation velkou výhodou, protože odstraňuje zátěž opakující se práce.

Kromě ověření funkčnosti můžeme také použít automatické skripty ke generování testovacích dat, která potřebujeme během webového testování.

Dalším způsobem, jak může automatizace pomoci při ručním testování, jsou nástroje jako Selenium WebDriver může pořizovat snímky obrazovky aktuální stránky prohlížeče. Pokud potřebujeme vizuálně zkontrolovat velký počet stránek, např. chceme vědět, jak se lokalizovaný text vykresluje na různých webových stránkách, můžeme pomocí nástroje procházet stránky a pořizovat snímky obrazovky a poté rychle vizuálně ověřit.

Další informace naleznete na Otestujte automatizační tipy a osvědčené postupy



Analýza provozu HTTP

Docela často je potřeba analyzovat provoz HTTP z prohlížeče na následné servery. Analýzou webového provozu můžeme přejít k podrobnostem každého požadavku a odpovědi.

Ve Web Testingu je analýza provozu HTTP zvláště užitečná při testování sledovacích značek třetích stran, jako jsou značky Google Analytics nebo značky omniture na webových stránkách.

Nejen, že můžeme ověřit, že značky obsahují správné hodnoty, ale můžeme skutečně otestovat, zda jsou požadavky odpalovány příslušným systémům třetích stran a že dostaneme platnou odpověď, obvykle 200 kód odpovědi OK.

Abychom mohli vizualizovat a zaznamenávat provoz HTTP, musíme použít vhodný nástroj, který funguje jako proxy server a může naslouchat požadavkům a odpovědím mezi klientem, obvykle prohlížečem, a servery.

Zde jsou některé z nejpopulárnějších nástrojů, které můžeme použít k analýze provozu HTTP:

Wireshark pokud chcete vidět vše, co se děje v síti.

Houslista pokud chcete pouze sledovat provoz HTTP / s.

Živé hlavičky HTTP pokud používáte Firefox a chcete rychlý plugin, abyste viděli záhlaví.

FireBug může vám také poskytnout tyto informace a poskytuje pěkné rozhraní, když pracujete na jedné stránce během vývoje. Použil jsem ho ke sledování transakcí AJAX.



Reagovat na webové stránky a mobilní testování

Více lidí přistupuje na webové stránky ze svých mobilních telefonů. To znamená, že testování webu se již neomezuje pouze na prohlížeče na počítačích. Nyní musíme testovat webové aplikace na mobilních platformách i na počítačích.

Existují dva typy webových aplikací pro mobilní zařízení, ty, které jsou záměrně vyvíjeny pro mobilní platformy, a ty, které jsou „responzivní“, tj. Existuje pouze jedna verze webové aplikace vytvořená pro stolní a mobilní zařízení, ale aplikace se vykresluje a je se zobrazují odlišně v závislosti na velikosti zařízení.

Oba typy vyžadují testování na mobilních zařízeních nebo simulátorech.

Další důležité prvky pro testování webu

Během testování webu a funkčního testování musíme také zkontrolovat:

  • Javascript
  • CSS
  • Soubory cookie
  • Přístupnost
  • Mrtvé odkazy
  • UX a rozložení
  • Platnost HTML
  • Bezpečnostní
  • Obnovení prohlížeče
  • Změna velikosti okna