Nakonec si zvykněte psát testy společně s kódem, ne až po něm. Když napíšete test před implementací, jasně definujete, co funkce musí dělat. Tento přístup vám ušetří čas, protože hned vidíte, jestli váš kód splňuje požadavky. Až budete mít první testy, spouštějte je pokaždé, když změníte kód. Díky tomu hned zjistíte, jestli jste něco nerozbili, a vaše aplikace zůstane stabilní.
Při automatizaci testů se zaměřte na stabilní a pomalé UI prvky, jako jsou přihlašovací formuláře, nákupní košík nebo onboarding. Automatizace mobilních testů je náročnější než u webu kvůli dynamickým prvkům a animacím. Používejte nástroje, které umožňují čekání na prvek na základě podmínky, ne jen pevný časový limit. Častou chybou je spoléhat na „sleepy”, které testy zpomalují a činí je křehkými. Místo toho definujte explicitní očekávání, kdy má být prvek viditelný nebo klikatelný.
Když nasadíte JWT tokeny jako ochranu API, obvykle věříte, že je tím vyřešeno vše. Realita je ale jiná: většina bezpečnostních incidentů s JWT nevzniká kvůli prolomení podpisu, ale kvůli chybám v implementaci. Nejčastěji jde o špatné ověření podpisu, nevhodnou volbu algoritmu nebo o to, že vývojář spoléhá na token, který už dávno neměl platit. V tomto textu se zaměříme na konkrétní chyby, kterých se vyvarovat, a na postupy, které skutečně fungují.
Další pastí je nekonečné zdokonalování odhadů. Místo složitých bodů a hodin používejte jednoduchou stupnici – třeba velikost trička nebo Fibonacciho čísla. Důležité je porovnávat relativní náročnost, ne absolutní čas. Když zjistíte, že tým dodává trojku déle než pětku, diskutujte o příčinách na retrospektivě. Retrospektivu dělejte vždy, i když sprint dopadl dobře. Jinak se tým ochudí o zlepšování.
Druhým častým problémem je expirace tokenu. Mnoho aplikací nastavuje příliš dlouhou platnost, třeba den nebo týden, aby uživatel nemusel často přihlašovat. To je ale past: pokud token unikne, útočník má dlouhý časový okno. Ideální je krátká expirace v řádu minut a kombinace s refresh tokenem. Refresh token pak musí být dlouhodobý, ale musí být uložen bezpečně, nejlépe v HttpOnly cookie s atributy SameSite a Secure. Při každém obnovení přístupového tokenu ověřte, že refresh token nebyl odvolán, a to buď na straně serveru, nebo pomocí blacklistu v databázi.
Kdy se vyplatí sáhnout po cloudových zařízeních a kdy po fyzických? Pro začátek si vystačíte s lokálními emulátory a simulátory, ale ty neodhalí problémy s výkonem na slabším hardwaru nebo s teplotou procesoru při delším zatížení. Pokud vyvíjíte aplikaci pro širokou veřejnost, je rozumné investovat do přístupu k reálným zařízením přes cloudové služby. Umožní vám to testovat na stovkách modelů bez nutnosti fyzického vlastnictví. Pozor ale na to, že cloudové služby ne vždy simulují přesně chování senzorů (např. GPS, akcelerometr) nebo síťovou konektivitu. Proto kombinujte: klíčové scénáře ověřte na fyzických zařízeních, která máte k dispozici, a širokou škálu pokryjte cloudem.
Další cestou je dobrovolnické testování pro menší firmy nebo začínající e-shopy. Napište jim nabídku, že otestujete jejich web za výměnu za zpětnou vazbu. Mnoho majitelů malých projektů uvítá nezávislý pohled. Nepodepisujte ale nic, co by vás zavazovalo k mlčenlivosti na dlouhou dobu, pokud nechcete, aby vám to zkomplikovalo budoucí hledání práce. Vše si pečlivě přečtěte.
Nesmíte zapomenout ani na ověření příjemce tokenu (audience) a vydavatele (issuer). Token, který vydal jiný server, nebo token určený pro jinou službu, je nutné odmítnout. Bez této kontroly se může stát, že token z jedné aplikace použijete v druhé, a pokud obě běží na stejné doméně, útočník to snadno zneužije. Všechny tyto hodnoty musí být v tokenu přítomny a musí být kontrolovány při každém požadavku.
Závěrem: pokrytí měřte, ale neuctívejte. Užitečné je jako zpětná vazba při vývoji — pomáhá najít zapomenuté větve a udržovat testy v souladu s kódem. Přestává být užitečné, když se stane cílem samo o sobě. Sledujte ho v kontextu, kombinujte s jinými technikami a hlavně se ptejte, co testy skutečně ověřují. Pokud je odpověď „měříme pokrytí, protože máme pokrytí”, je čas změnit přístup.
Když testy spustíte, sledujte nejen, jestli projdou, ale také jak dlouho trvají. Unit testy by měly běžet v řádu milisekund. Pokud test trvá sekundy, pravděpodobně testujete příliš velkou jednotku nebo používáte externí služby. V takovém případě použijte testovací dvojníky – fake, stub nebo mock. Ty nahradí závislosti, jako je databáze nebo API, a umožní vám testovat jen samotnou logiku.
In case you loved this short article and you would like to receive more details with regards to otevřít generously visit the internet site.
