Biztosan kaptatok már e-mailt, ami úgy kezdődött, hogy „Kedves {NEV}!”, vagy kattintottatok rá egy hirdetésre, és a kívánt tartalom helyett egy hiba oldalt jött be csak. Ilyenkor mindig megfordul a fejünkben, hogy hogyan adhatták így ki a programot? Senki sem nézte át előtte?
Az ilyen esetek nem csak a céged megítélését rontják, hanem sok esetben még pénzt is veszítesz. Ki akarna olyan kattintásokért fizetni, ahol a látogatók egy hiba oldallal találkoznak? Hát persze, hogy senki. Na jó, de akkor mit kell tenni, hogy ez ne forduljon elő velünk? Vagy legalábbis csökkentsük a valószínűségét az ilyen eseményeknek?
Manuális tesztelés: tesztelés sajátkezűleg
A legegyszerűbb dolog, amit tehetünk, hogy kézzel ellenőrizzük, ami elromolhat. Kiküldetjük, az e-mailt a saját e-mail címünkre, betöltjük az oldalt a hirdetés mögött, végig nyomkodjuk az új funkciókat. Ez a módszer segíthet kiszűrni hibák jelentős részét, de valószínűleg nem mindet.
Mit tehetünk, hogy hatékonyabb legyen a kézi ellenőrzés? Azt, amit a repülőgép pilóták is csinálnak felszállás előtt: végig vezetjük őket egy ellenőrző listán. Mindenre is írhatunk ellenőrző listát. Gondoljuk át, mi mindenre kell figyelni egy adott művelet során, és írjuk le az összes dolgot, ami eszünkbe jut. Utána adjuk oda a tesztelőknek, hogy ezeket ellenőrizzék le egyesével, hogy minden tételt sikerült-e a listáról kihúzni. Ha sikerült, akkor mehet élesbe, ha nem, akkor indul a javítás!
Az ellenőrző listát célszerű időnként frissíteni. Minél többször végezzük el az adott feladatot, annál több szélsőséges eset kerül a felszínre, és az ellenőrizendő dolgok listáját így folyamatosan bővítenünk kell. Fontos, hogy ne csak elkészítsük ezeket a listákat, hanem munkatársaink használják is azokat. Így nem attól függünk majd, hogy a munkatársunk mennyi problémára emlékszik fejből, mennyire pihente ki magát, vagy mennyire jártas a témában. Továbbá, ha valakinek be kell ugrani helyettesíteni, akkor ezzel a listával máris rengeteg időt megspóroltunk.
Automata tesztelés: tesztelés programokkal
A kézi tesztelés nagyon időrabló feladat. Ezért automatizáljuk, amit lehet. Amikor egy éveken át folyamatosan fejlesztett rendszerbe új funkció kerül be, akkor újra végig tesztelni az összes funkciót hogy biztosra menjünk, a régi funkciók is jól működnek. Ez eléggé időigényes feladat lehet. Fejlesztők szeretnék is ezen spórolni, és csak azokat a funkciókat tesztelik, amiket szerintük érinthet az újonnan elkészült módosítás. A gyakorlatban viszont gyakran maradnak ki olyan funkciók, amikre nem is gondoltak, és így hibákat is kitesznek éles rendszerekbe. Ilyenkor még egy nagyobb szoftver rendszer esetén is 10-15 perc alatt választ kapunk arra, hogy csináltunk-e új hibát.
Mi a helyzet a dizájnt érintő hibákkal? Ki láttott már olyan fejlesztőt, aki 10+ eszközön és több operációs rendszeren nézett végig egy weblapot minden funkciójával? Ebben segíthetnek nekünk a Browser Stack jellegű megoldások. Ez, és a hasonló megoldások képesek különböző operációs rendszereken és eszközökön legenerálni a weblapunk, web alkalmazásunk kinézetét, amelyeket átnézve gyorsan ki tudjuk szúrni a problémás eseteket.
Számos eszköz létezik, amivel a weblapjaink URL-jeit tudjuk ellenőrzésére küldeni. Így hamar kiderül, ha valamelyik oldalunkkal történt valami. De ha nagyon biztosra akarunk menni, akkor automatizmusokat is elkezdhetünk kifejleszteni az ellenőrző listáink alapján. Így csökkentve a manuális ellenőrzési munkát és a hibák lehetőségének a számát.
Monitorozás
Vannak olyan hibák, amik a tesztelés során nem jönnek elő. Például leáll a szerverünk, ahol a weboldal fut, vagy valamilyen tárhely beállítás miatt hirtelen elromlik egy eddig működő funkciónk. Érdemes ezeknek a detektálására is erőfeszítéseket tenni.
Kedvenc történetem, amikor jött az értesítés egy hibáról, és egy banális dolgon hasalt el egy funkció. El is kezdtem a javításán dolgozni, amikor is az ügyfél hívott. Köszöntünk, és nem is hagytam, hogy elmondja mit szeretne, a szavába vágva mondtam, hogy épp rakom ki a javítást. Meg is lepődött az ügyfél, mert máshol ilyet még nem tapasztalt. Ezzel pedig olyan élményt nyújthattam neki, amit kevés helyen kap meg. Arról nem is beszélve, hogy az üzletfolytonosságot is biztosítani tudjuk számára.
Mit érdemes monitorozni?
- az oldalon / alkalmazásban keletkező hibákat
- elérhető-e a szerver? nincs túlterhelve a szerver?
- kimennek-e az e-mailek?
- a hirdetéseink URL-jei elérhetőek?
Érdemes minden olyan dolgot monitorozni ami fontos a vállalkozás működése szempontjából és amiről azonnal értesülni szeretnénk ha elromlik. Pl. nem jönnek át rendelések a webshopból az ERP rendszerbe.
Mi az alábbi eszközöket használjuk:
- Uptimerobot.com: URL-ek ellenőrzésére, szerver leállások detektálására, szerver túlterhelés észlelésére
- Sentry.io: az alkalmazásainkban keletkező hibák észlelésére
Összefoglalva
Magas szintű szolgáltatásunk folyamatos fenntartásához minden módosítás előtt kézi és automata teszteléssel kell meggyőződnünk a hibamentességről. Monitorozással pedig a lehető leghamarabb észleljük és javítsuk az éles környezetben keletkező hibákat. Érdemes mindezeket alkalmazni, hogy szolgáltatásunk fennakadás működhessen.