Jak testovat mobilní aplikace: osvědčené postupy a nástroje

Pro výkonnostní testy použijte profilování přímo v aplikaci. Sledujte spotřebu paměti, velikost alokací a počet GC cyklů. Zaměřte se na scénáře, kdy uživatel rychle přepíná mezi obrazovkami, kde se často generuje zbytečné objekty. Důležité je také testování s plným datovým fondem – aplikace, která funguje s pěti položkami v seznamu, může při pěti tisících začít zamrzat. Vytvořte si zátěžový scénář s maximálním povoleným počtem dat a ověřte, zda se UI plynule posouvá.

Doporučuji udržovat každou větev krátkodobou a zaměřenou na jednu konkrétní funkci. Pokud potřebujete provést změny, které nesouvisí s aktuální funkcí, vytvořte si pro ně samostatnou větev. To platí i pro drobné opravy, které byste chtěli rychle nasadit. Izolace změn vám umožní je nezávisle testovat a vracet zpět, aniž byste ohrozili ostatní práce. Při pojmenování větví používejte jasný systém, který obsahuje identifikátor úkolu a krátký popis, ale vyhněte se obecným názvům jako „fix" nebo „test".

Typickou chybou je verzování celého projektu jako jedné velké verze, která zahrnuje i změny v knihovnách. Pak není jasné, která verze knihovny je v které verzi projektu obsažena. Při hledání chyby pak musíte procházet celou historii, místo abyste se podívali na seznam závislostí. Další častou chybou je, že knihovny mají příliš časté aktualizace, které mění veřejné rozhraní. To pak nutí všechny projekty k okamžitým úpravám. Proto pro knihovny platí pravidlo: měnit veřejné rozhraní pouze ve větších, předem oznámených verzích.

Pro strukturování používejte jednoduchou osnovu: rozdělte zpětnou vazbu na tři okruhy – co fungovalo, co nefungovalo a co zkusíme nově. Každý člen týmu dostane maximálně 2 minuty, aby vybral jeden bod z každého okruhu a zapsal ho na lísteček. Poté lístečky přečtěte a seskupte podle témat. Tento postup zabrání tomu, aby jeden extrovert ovládl diskusi, a zajistí, že se ozve každý.

Mezi typické chyby patří také logování tokenů v serverových logách, což může vést k jejich úniku. Nikdy tokeny nezapisujte do výpisů chyb ani do monitorovacích nástrojů. Dále si dejte pozor na to, aby token nebyl součástí URL, protože se může dostat do historie prohlížeče nebo do referrer hlavičky. Vždy jej přenášejte v hlavičce Authorization. Pokud používáte veřejné API, nezapomeňte na řádné omezení rychlosti požadavků a na to, aby tokeny měly minimální oprávnění podle principu nejnižších privilegií.

Nejčastější chyby, které zabíjejí retrospektivu Největší chybou je skákat rovnou k řešením, aniž by tým pochopil kořen problému. Pokud se opakuje stejné zpoždění, neptejte se „jak to opravíme", ale „proč k tomu dochází" – použijte techniku 5x proč. Druhou častou chybou je absence akčních kroků. Každá retrospektiva musí skončit maximálně třemi konkrétními úkoly, které mají vlastníka a termín. Bez toho je to jen ztráta času. Třetí chybou je, že retrospektiva trvá déle než 45 minut – tým ztratí pozornost a kvalita výstupů klesá.

Posledním tipem je automatizace kontroly kvality. Pokud máte CI pipeline, která spouští testy na každé větvi, využijte ji. To vám dá rychlou zpětnou vazbu, ať už pracujete na čemkoli. Pokud ji nemáte, zkuste alespoň před každým pushnutím spustit lokální testy. Pracujte tak, abyste vždy věděli, které změny jsou v které větvi, a hlavně se nebáte větve mazat po dokončení funkce. Udržovat jich mnoho je kontraproduktivní a vede ke zmatkům.

Samotná validace tokenu na straně API by měla zahrnovat kontrolu podpisu, expirace, issueru a audience. Většina knihoven pro JWT nabízí tyto kontroly automaticky, ale je nutné je správně nakonfigurovat. Častou chybou je vynechání kontroly issueru, což umožňuje útočníkovi použít token vydaný jiným serverem. Důkladně otestujte, co se stane, když token vyprší, je pozměněný nebo pochází z neznámého zdroje – vaše API by mělo vrátit jasnou chybu a nikdy pokračovat v zpracování požadavku.

Jak nastavit závislosti mezi knihovnami a projektem Nejprve si definujte, které knihovny jsou pro běh projektu nezbytné a které jsou volitelné. Pro každou knihovnu si vytvořte vlastní repozitář s vlastním verzováním. Hlavní projekt pak odkazuje na konkrétní verze knihoven, a to nejlépe pomocí tagů nebo commitů. Vyhněte se používání „latest" nebo „master" – to vždy vede k nečekaným změnám. Místo toho vždy uveďte číslo verze, které je v daném okamžiku stabilní. Tím zajistíte, že build projektu bude reprodukovatelný.

Při zavádění strukturované zpětné vazby počítejte s odporem. Lidé jsou zvyklí na volnou debatu a můžou se cítit svázaní. Vysvětlete, že struktura jim dává prostor, ne ho bere – každý dostane stejný čas, a tím pádem i rovný hlas. Začněte s krátkým experimentem na dvě retrospektivy, pak se zeptejte týmu, co by upravil. Tím dosáhnete toho, že si metodu osvojí a nebudou ji vnímat jako vnucenou byrokracii.