Manuální testování vs. automatizace: co zvolit pro mobilní aplikace?
Další častý problém je testování na nesprávném zařízení. Ne každý má nejnovější model, takže otestujte aplikaci na starším zařízení s menším rozlišením a pomalejším procesorem. Zkuste také změnit velikost písma v systémovém nastavení nebo zapnout režim úspory baterie. Tyto faktory dokážou rozbít layout, který na vývojářském zařízení vypadá perfektně. Pozor i na orientaci obrazovky – přepnutí z portrétu na šířku by nemělo resetovat stav aplikace nebo ztratit data z formuláře.
Dalším častým problémem je ignorování výjimek. Když uživatel zadá místo čísla text a vy ho převedete pomocí Convert.ToInt32(), program spadne. Místo toho použijte int.TryParse(), který vrátí true nebo false podle toho, jestli se převod podařil. Tím zajistíte, že se program nerozběhne po každém špatném vstupu. Vyzkoušejte si to na jednoduché kalkulačce – sčítání dvou čísel, kde uživatel zadá hodnoty a program vypíše výsledek. Budete překvapeni, kolik toho takový malý projekt naučí.
Když už zvládnete práci se soubory, přejděte k automatizaci pomocí `subprocess`, která umožňuje spouštět externí příkazy. Vyzkoušejte si spustit příkaz pro zálohování a jeho výstup uložit do logovacího souboru. Pozor na to, že `subprocess.run()` ve výchozím stavu čeká na dokončení příkazu. Pokud spouštíte program, který běží dlouho, a nechcete blokovat skript, použijte parametr `Popen`. Tento přechod od jednoduchých skriptů k řízení systémových úloh vám otevře cestu k automatizaci, která skutečně funguje bez neustálého dohledu.
První příspěvek: začněte dokumentací a nenápadnými opravami Ideální první příspěvek není kód, ale dokumentace. Oprava překlepu, doplnění chybějícího kroku v návodu nebo upřesnění nejasného popisu funkce jsou neocenitelné. Méně riskujete a naučíte se pracovní postup. Najdete-li chybu v textu, zkuste ji opravit a poslat jako malou změnu. Většina projektů má pro takové případy označení "good first issue" nebo "help wanted". Ale pozor: ne každá taková issue je skutečně vhodná pro začátečníka. Přečtěte si diskuzi, podívejte se, jestli už někdo nepožádal o přiřazení, a pokud je to delší dobu bez odezvy, zeptejte se.
Začněte u manuálního testování. Vezměte si reálné zařízení, ne jen emulátor. Emulátor neodhalí problémy s výkonem, které způsobí slabší hardware, ani neověří chování při přepínání mezi aplikacemi. Při ručním testu si napište scénáře, které pokrývají hlavní uživatelské cesty: registrace, přihlášení, platba, synchronizace dat. Typická chyba je testovat jen „šťastnou cestu" – tedy bez chybových stavů. Zkuste zadat špatné heslo, přerušit připojení nebo odejít z obrazovky uprostřed operace. To je místo, kde se většina chyb skutečně schovává.
Častou chybou je spoléhat se na nástroje bez kontroly. Před každým refaktoringem si udělejte zálohu (např. commit do verzovacího systému) a po operaci spusťte testy. IDE sice nabízí náhled změn (často v panelu Find), ale ne vždy je přehledný, zvlášť u velkých projektů. Také si dejte pozor na refaktoringy, které mění viditelnost nebo signaturu – mohou ovlivnit kód mimo aktuální soubor. Vždy zkontrolujte, zda operace nezasáhla i soubory, které jste nečekali. Pokud máte kód s chybami, IDE často odmítne refaktoring spustit – to je signál, že je třeba napravit nejprve chyby.
Když vyvíjíte mobilní aplikaci, dřív nebo později narazíte na otázku, jak ji otestovat. Ruční testování je sice pracné, ale nezastupitelné pro kontrolu uživatelského komfortu. Automatizace zase šetří čas při opakovaných regresních testech. Než se rozhodnete, zvažte, co je pro váš produkt důležitější – rychlost nasazení, nebo bezchybný první dojem. V praxi se osvědčuje kombinace obou přístupů, ale klíčové je vědět, kde která metoda dává smysl.
Když už se pustíte do kódu, dodržujte zásadu malých změn. Jeden pull request by měl řešit jen jeden problém. Pokud opravujete chybu a zároveň předěláváte formátování, správce to pošle zpět. Rozdělte práci na logické části. Před odesláním si lokálně spusťte testy, ať už jde o unit testy, lintování nebo build. Nezapomínejte, že váš kód musí fungovat v kontextu celého projektu, nejen ve vaší ukázce. Když máte hotovo, napište do popisu pull requestu, co jste změnili, proč a jak jste to testovali. Konkrétní popis je důležitější než sebelepší kód.
Než začnete, seznamte se s pravidly projektu. Každý větší projekt má soubor s pokyny pro přispěvatele, obvykle pojmenovaný nějak jako CONTRIBUTING nebo README. Přečtěte si ho celý, i když je dlouhý. Zjistíte, jak se hlásí chyby, jak se posílají opravy a jaký je proces review. Bez tohohle kroku se snadno stane, že vaše práce bude zahozena jen proto, že jste nepoužili správný formát commit zprávy nebo jste neprošli testy. Typická chyba je rovnou vytvořit pull request bez předchozí domluvy, což většina správců nerada vidí.