Všechny úpravy e-shopu jsou realizovány procesem, který zahrnuje tyto fáze: analýza požadavků klienta, specifikace požadavků, implementace a testování.
Všechny výše uvedené úkony mají na výslednou funkčnost velký vliv. V tomto článku bychom vám chtěli poodhalit, jak právě u nás probíhá testování úprav.
Důvody testování
Každá úprava zasahuje již do rozjetého e-shopu a je nutné zabezpečit výskyt co možná nejmenšího množství chyb na produkční verzi (čtěte: v ideálním případě žádných chyb). Většina našich e-shopů má spoustu individuálních úprav, a proto není jednoduché odhalit všechny návaznosti, které s novou úpravou souvisí. Programátor či kodér tedy nejprve otestuje funkčnost sám, vždy ale pošle ještě úpravu k otestování testerem, který ji „potrápí“ všemožnými testy. Tímto se snažíme odhalit co nejvíce chyb sovisejících s novou úpravou.
Průběh testování
Náš testerský tým úpravu otestuje dle specifikace s přihlédnutím k použitelnosti jak pro administrátora, tak pro koncové zákazníky daného e-shopu. Testování probíhá ručně a tester testuje nejen samotnou úpravu, ale také kritické oblasti jako například vytvoření a zpracování objednávky nebo vytvoření a editaci zboží, abychom co možná nejvíce eliminovali vznik kritických chyb.
Testeři mají k dispozici pracovní server, na který si během pár chvil dokáží nainstalovat váš e-shop se všemi daty a na tomto pak provádějí testování. Tento krok je potřebný k tomu, aby tester pracoval s co možná nejvíce s reálnými daty daného e-shopu a mohl tak simulovat funkční prostředí e-shopu. Pro větší a složitější úpravy je vhodnější testovat na devel verzi (o devel verzích jsme psali nedávno), kde je konfigurace serveru totožná a testování je zase o něco blíže ostrému provozu.
Během testování úprav tester všechny chyby zapisuje do reportu, který po otestování zasílá programátorovi. Ten chyby prověří, opraví a pošle je testerovi zpět ke kontrole. Tento proces se opakuje tak dlouho, jak je potřeba, tedy dokud vše nefunguje podle specifikace. Poté už je možno úpravu předat klientovi.
Jelikož firma vytváří i individuální designy, tak testeři testují i tyto rozsáhlé proměny. Toto testují v několika prohlížečích a pokud se jedná o responzivní design, tak mají k dispozici i různé zařízení jako například iPad, Android tablet a různé mobilní telefony. Na těch všech zařízeních poté nový design tester testuje a odhaluje chyby vzniklé odlišným zobrazování na různých přístrojích.
Testování s ohledem na cenu úprav
Testování z celkové ceny úprav “spolkne” zhruba 15-20% času (nejvíce je tedy programování a kódování). To nás staví do nepříjemné pozice “Co vše otestovat, aby to úpravu příliš neprodražilo?”. Jinými slovy: V orientaci na kvalitu je vhodné provést maximální možné testy – tedy nejen test funkčnosti úpravy, ale i všech možných souvislostí a hlavních testovacích scénářů e-shopů. Takovéto komplexní testy, ale vyžadují i desítky hodin práce testera. Pokud bychom tedy testovali “vše a pořádně”, bude testování řádově obvykle dražší než samotná úprava. Z důvodu přijetelné ceny je tedy nutné volit optimální poměr mezi kvalitou, cenou a riziky. Obvykle tedy testujeme danou úpravu, nejbližší možné souvislosti a jeden nejhlavnější testovací scénář (průchod objednávkou).
Naše plány do budoucna
Jelikož je testování velmi časově náročné a ne vždy je v testerových možnostech odhalit všechny chyby, rozhodli jsme se zavést tzv. automatické testování. Probíhá tak, že se vytvoří testovací scénář, který prověří co možná nejvíce funkčností automaticky a tester se může věnovat více samotné úpravě, její uživatelské přívětivosti a použitelnosti po administrátorské stránce.
Toto automatické testování dokáže prověřit v krátkém časovém intervalu velkou část funkčností e-shopu a vytvořit report, pokud nastane nějaký problém.
Jako příklad si vezmeme vytvoření objednávky na front-endu. Je třeba vybrat nějaké zboží, to vložit do košíku, vybrat dopravu a platbu, vyplnit všechny údaje a objednávku odeslat. Jedna taková objednávka testerovi zabere přinejmenším pár minut, zatímco automatický test tento proces zvládne během několika sekund. Navíc dokáže ověřit třeba validační pravidla pro e-maily, telefonní čísla atd. Za pár minut dokáže automatický test vytvořit několik odlišných objednávek pro různé druhy zboží, vyzkoušet různé kombinace dopravy a platby, zatímco tester se může věnovat dané úpravě a důkladně se zaměřit na detaily.
Pro stabilní verzi Shopsys jsme již automatické testování nasadili, nyní probíhá zkušební nasazování automatického testování na vybrané e-shopy. Jelikož je ale každý e-shop dost individuální, není možné vytvořit jednu šablonu automatického testu a tu pak používat na více e-shopech, vždy je třeba šablonu upravit na míru aktuálnímu e-shopu a přizpůsobit její chování již implementovaným úpravám.
Autor: Bc. Marcel Hlavina – analytik, vedoucí programátorů