V jednej LMS aplikácii sa riešil zvláštny problém. Študent dokončil lekciu, pozrel video aj vyplnil test, ale v reporte pre lektora mal stále progres iba 60 %. Naopak, vedenie firmy tvrdilo, že kurz dokončilo podozrivo veľa používateľov za pár minút.
Na prvý pohľad všetko fungovalo:
- video sa prehralo,
- test bol označený ako úspešný,
- používateľ videl zelené „Dokončené“.
Problém bol v analytike a reportingu.
Frontend síce správne zobrazil dokončenie lekcie, ale backend neposlal všetky eventy do analytického systému. Navyše:
- frontend počítal progres podľa otvorených lekcií,
- reporting podľa prijatých eventov,
- export do Excelu podľa nočného batch procesu.
Používateľ teda videl niečo iné než lektor. Lektor videl niečo iné než manažment. A export obsahoval ešte ďalšie čísla.
Práve preto je analytika často zradná časť systému. Graf môže vyzerať pekne a dashboard profesionálne, ale pod nimi môžu byť nesprávne dáta.
Pri analytike tester netestuje iba graf alebo tabuľku. Testuje celý tok údajov:
- vznik udalosti v aplikácii,
- odoslanie eventu,
- spracovanie backendom,
- uloženie do databázy,
- agregáciu údajov,
- výpočet metrík,
- zobrazenie vo vizualizácii,
- export do reportu.
Veľmi často vznikajú chyby práve medzi jednotlivými vrstvami:
- event sa odošle dvakrát,
- event sa neodošle vôbec,
- údaje sa oneskoria,
- dashboard používa cache,
- export používa inú databázu,
- rôzne služby používajú rôzne časové pásma.
Ako otestovať analytiku a reporting:
- Testovanie návštevnosti a eventov
- Over, že sa zaznamená otvorenie stránky, videa alebo lekcie.
- Skontroluj eventy cez Network tab, logy alebo analytické API.
- Over, že refresh stránky nevytvorí duplicitné údaje.
- Otestuj správanie pri pomalom internete alebo prerušení spojenia.
- Testovanie progresu v kurzoch
- Over správny výpočet percent dokončenia.
- Skontroluj progres pri nedokončenom teste alebo preskočení lekcie.
- Otestuj pokračovanie kurzu na inom zariadení.
- Over synchronizáciu medzi frontendom, backendom a reportingom.
- Testovanie dashboardov a reportov
- Porovnaj údaje v grafoch s databázou alebo API odpoveďou.
- Skontroluj filtre podľa dátumu, používateľa alebo kurzu.
- Over správnosť agregácií a počítadiel.
- Otestuj export do PDF alebo Excelu.
- Testovanie dátumu a času
- Over UTC konverzie a lokálne časové pásma.
- Skontroluj prechod na letný a zimný čas.
- Otestuj reporty generované nočnými batch procesmi.
- Testovanie výkonu a veľkých objemov dát
- Otestuj dashboard pri veľkom počte eventov.
- Skontroluj rýchlosť načítania grafov.
- Over stránkovanie a lazy loading reportov.
- Otestuj správanie pri paralelných používateľoch.
Aj analytika a reporting sú funkcionality, ktoré treba testovať rovnako dôsledne ako samotný obsah aplikácie. Nesprávne dáta v reportoch totiž často vedú k zlým rozhodnutiam manažmentu, supportu aj zákazníkov.
