GraphQL.cz/Fórum/Co všechno bych měl testovat po nových změnách v GraphQL?

Co všechno bych měl testovat po nových změnách v GraphQL?

Když dělám nějaké změny v GraphQL, je jasné, že chci mít jistotu, že všechno funguje jak má. Ale co přesně bych měl otestovat? Mám na mysli nejenom to, jestli se nové query a mutation vrací správné výsledky, ale i jestli nejsou ovlivněny starší části API. Jak byste doporučili přistoupit k testování po implementaci nových schémat nebo resolvrů? Je dobré mít nějaké automatizované testy, nebo se spoléhat spíš na manuální? Co si myslíte o testování performance po změnách – má smysl sledovat, jestli se doba odezvy nezhoršila? A co validace dat? Jaký je váš přístup k zajištění, že nová data splňují očekávané formáty a struktury? Jak často byste vlastně měli dělat regresní testy a co si o tom myslíte vy, když přidáte nový field do stávajícího typu? A co dokumentace – ovlivňuje to nějak vaše testování a jakým způsobem? Když řeším problémy s GraphQL, zajímalo by mě také, jakým způsobem sledujete chyby, které se mohou objevit až při reálném používání aplikace. Takže co všechno byste doporučili zahrnout do testovací strategie po změnách v GraphQL?

173 slov
1.7 minut čtení
4. 5. 2022
Martina Marešová

Testování po změnách v GraphQL je fakt důležitý. Nejde jen o to, že přidáš nový field nebo query a pak se modlíš, že to funguje. Měl bys začít s unit testy na nový resolvery a schémata, aby ses ujistil, že vracejí správné odpovědi. Pak je dobrý udělat integrační testy – ty ti pomůžou zjistit, jestli se starší části API nějak neporouchaly. Při tomhle bys měl zkontrolovat i všechny existující query a mutation. Automatizovaný testy jsou rozhodně lepší než manuální, protože to ušetří hodně času a sníží šanci na chyby.

Performance testy jsou taky klíčový – sleduj dobu odezvy před a po změnách, abys zjistil, jestli něco nezpomalilo API. No a co se týče validace dat, tak je dobrý mít nějaký systém, co ověří formáty a struktury dat, který se posílají do API. Jestli přidáváš nový field, tak bys měl pravidelně dělat regresní testy, třeba po každé významnější změně.

Dokumentace je další věc – když máš dobře zdokumentovaný API, tak ti to pomůže při testování, protože víš, co všechno by mělo fungovat. A ohledně sledování chyb – to chceš mít nastavený logging a monitoring v produkci, abys mohl reagovat na problémy hned jak se objeví. Takže shrnuto – unit a integrační testy, performance monitoring, validace dat a nějaký solidní logging chyb. To by mělo pokrýt většinu problémů.

214 slov
2.1 minut čtení
13. 9. 2023
Martina Burešová

Změny v GraphQL si zaslouží důkladné testování. Nejde jen o nové query a mutation, ale i o ověření, že starší části API jsou neporušené. Doporučuji začít s automatizovanými testy na jednotkové úrovni, abys měl jistotu, že každá část funguje jak má. Regresní testy jsou klíčový krok – pokud přidáš nový field, měl bys otestovat i starší dotazy, aby ses ujistil, že se nic neporouchalo.

Zaměř se i na validaci dat. Je dobré mít testy, které ověřují strukturu a formát nových dat, aby se předešlo problémům. A co se týče výkonnosti, jasně, sleduj dobu odezvy po změnách. Můžeš narazit na problémy s výkonem, které bys jinak přehlédl.

Dokumentace hraje velkou roli. Když aktualizuješ API, je nutné ji upravit a mít ji vždy aktuální. A co monitoring? Je dobré mít nějaké logy a error tracking v reálném čase, aby ses dozvěděl o chybách, které se objeví až při použití aplikace.

Takže zjednodušeně – testuj automaticky, nezapomínej na regresi a validaci dat, sleduj výkon a udržuj dokumentaci v pořádku.

164 slov
1.6 minut čtení
25. 1. 2023
Anna Chalupová

Takže, pokud děláš změny v GraphQL, tady je pár věcí, co bys měl otestovat. Nejvíc tě asi zajímá, jestli nový query a mutation fungujou, to je jasný. Ale nezapomeň na starší části API – udělej si regresní testy, ať se ujistíš, že nic nezhynulo. Automatizovaný testy jsou super pro rychlou kontrolu, ale občas je dobrý projít to i ručně, hlavně u složitějších částí.

Sledování výkonu je taky důležitý. Když přidáš nový field nebo resolvr, může to ovlivnit dobu odezvy, takže sleduj metriky. A co se týče validace dat – ideálně bys měl mít nějaký pravidla, jaký formáty a struktury očekáváš, aby ti do API nelezly kraviny.

Regresní testy bych doporučil dělat pravidelně, třeba při každé větší změně nebo když přidáš nový field. Ale jak často? No, záleží na tom, jak moc se tvůj projekt mění. Dokumentace hraje roli – pokud máš dobře popsaný schéma a resolvery, tak se líp orientuješ v tom, co bys měl testovat.

A když už řešíš problémy v reálným provozu, měj na paměti sledování chyb – můžeš použít nástroje jako Sentry nebo LogRocket pro zachycení chyb a sledování uživatelského chování. Takže jo, testování po změnách v GraphQL je docela komplexní záležitost, ale s tímhle základem bys měl být na dobrý cestě.

202 slov
2 minut čtení
8. 8. 2022
Robert Vlk
GraphQL.cz/Články/Testing GraphQL APIs
Jak provádět regresní testy na GraphQL API po nových implementacíchTento článek se zaměřuje na strategie pro provádění regresních testů na GraphQL API, přičemž klade důraz na zajištění stability a dostupnosti aplikace...
1000 slov
10 minut čtení
20. 7. 2021
Markéta Svobodová
Přečíst článek
Podobné otázky