Príklad
Predstavme si vzdelávací portál, ktorý má na začiatku iba niekoľko kurzov, desiatky lekcií a pár stoviek používateľov.
Po čase sa však obsah rozrastie:
- stovky kurzov,
- tisíce lekcií,
- veľké množstvo obrázkov, videí a PDF materiálov,
- veľa kategórií a tagov,
- tisíce študentov, ktorí obsah prezerajú, vyhľadávajú a dokončujú.
Na malých dátach môže systém pôsobiť rýchlo a stabilne. Problém sa často ukáže až vtedy, keď databáza narastie, zoznamy majú tisíce položiek a viac používateľov začne robiť podobné akcie naraz.
Tester pri takomto testovaní neoveruje iba to, či sa stránka načíta. Sleduje, či sa systém správa použiteľne aj vtedy, keď už obsah nie je „demo verzia“, ale reálny veľký systém.
Ako otestovať
1. Príprava veľkého množstva testovacích dát
- Priprav väčší objem obsahu, napríklad 1 000, 10 000 alebo 100 000 článkov, lekcií, dokumentov alebo kurzov.
- Over, či dáta zodpovedajú realite, teda či neobsahujú iba prázdne záznamy s názvom „test 1“.
- Použi rôzne typy obsahu: texty, obrázky, videá, prílohy, kategórie, tagy, jazykové mutácie.
- Skontroluj, či sa systém správa inak pri malom, strednom a veľkom objeme dát.
2. Načítanie zoznamov a detailov
- Over, ako rýchlo sa načíta zoznam článkov, kurzov, lekcií alebo dokumentov.
- Skontroluj, či systém nepokúša načítať všetko naraz.
- Otestuj stránkovanie, nekonečné scrollovanie alebo postupné dočítavanie obsahu.
- Sleduj, či sa pri veľkom objeme dát nezhorší odozva detailu jednej položky.
3. Vyhľadávanie a filtrovanie
- Otestuj fulltextové vyhľadávanie pri veľkom počte záznamov.
- Skontroluj filtrovanie podľa kategórie, tagu, autora, dátumu, stavu publikovania alebo jazyka.
- Kombinuj viac filtrov naraz.
- Over, či systém správne reaguje na prázdny výsledok, veľmi široký výsledok aj veľmi presný dotaz.
- Sleduj, či sa výsledky nezobrazujú príliš pomaly alebo v nesprávnom poradí.
4. Súbežná práca viacerých používateľov
- Otestuj situáciu, keď obsah naraz prezerá viac používateľov.
- Skontroluj, čo sa stane, keď viac redaktorov upravuje alebo publikuje obsah v rovnakom čase.
- Over, či sa používateľom nezobrazujú neúplné alebo staré dáta.
- Sleduj, či systém zvládne špičku, napríklad po zverejnení nového kurzu, článku alebo videa.
5. Administrácia obsahu
- Otestuj, či sa administrátorské zoznamy nenačítavajú neprimerane dlho.
- Skontroluj hromadné operácie, napríklad zmenu kategórie, zmenu stavu, publikovanie alebo archiváciu viacerých položiek.
- Over, či systém pri veľkom objeme dát stále umožňuje rozumnú orientáciu.
- Sleduj, či administrácia nie je pomalšia než verejná časť systému.
6. Limity, timeouty a chybové stavy
- Over, čo sa stane pri prekročení časového limitu požiadavky.
- Skontroluj, či systém zobrazí zrozumiteľnú chybovú správu.
- Sleduj, či sa po chybe dá pokračovať bez straty práce.
- Otestuj, či systém nevytvára duplicitné záznamy po opakovanom kliknutí.
- Skontroluj logy a chybové záznamy.
7. Meranie výkonu
- Sleduj čas načítania stránok.
- Meraj odozvu API volaní.
- Porovnaj výkon pred a po navýšení objemu dát.
- Zaznamenaj rozdiel medzi prvým načítaním a opakovaným načítaním z cache.
- Sleduj, či problém vzniká na frontende, backende, databáze alebo pri externých službách.
8. Caching, indexy a optimalizácia
- Over, či sa často používaný obsah načítava rýchlejšie pri opakovanom otvorení.
- Skontroluj, či sa po zmene obsahu nezobrazuje stará verzia.
- Otestuj, či vyhľadávanie používa aktuálne dáta.
- Sleduj, či sa po publikovaní alebo úprave obsahu správne obnoví cache.
- Pri problémoch si všímaj, či nejde o chýbajúce databázové indexy alebo neefektívne dotazy.
9. Použiteľnosť pri veľkom obsahu
- Over, či používateľ dokáže nájsť konkrétny obsah bez zbytočného klikania.
- Skontroluj, či kategórie, filtre a vyhľadávanie pomáhajú, alebo systém iba zahlcujú.
- Otestuj mobilné zobrazenie pri dlhých zoznamoch.
- Sleduj, či systém zostáva použiteľný aj pri pomalšom pripojení.
10. Čo zapisovať do výsledku testovania
- Konkrétny objem dát, s ktorým sa testovalo.
- Počet používateľov alebo požiadaviek pri záťažovom teste.
- Namerané časy odozvy.
- Kroky, pri ktorých výkon klesol.
- Rozdiel medzi očakávaným a reálnym správaním.
- Riziko pre používateľa alebo prevádzku systému.
Performance test pri veľkom množstve obsahu nie je iba technické meranie rýchlosti. Je to overenie, či systém dokáže rásť bez toho, aby sa z neho stal pomalý, neprehľadný a ťažko udržiavateľný nástroj.
