Le coeur perdu – Paris

Ruční testování versus automatizace: co odhalí chyby dřív

Typické chyby se opakují. Testovací data se zapisují natvrdo do kódu, takže testy padají při změně prostředí. Testy závisí na sobě navzájem a jejich pořadí rozhoduje o výsledku. Čekání se řeší pevnými prodlevami místo čekání na konkrétní stav, což vede k náhodným selháním. Automatizované testy se spouštějí jen na emulátoru a nikdy na skutečném zařízení. A často chybí testy pro obnovení stavu po přerušení – třeba když uživatel přijme hovor uprostřed nahrávání.

Testování mobilních aplikací stojí na dvou pilířích: ručním průzkumu a automatizaci. Rozdíl mezi nimi není v tom, který je lepší, ale v tom, co který dokáže odhalit. Ruční testování vyniká tam, kde jde o vzhled, plynulost a chování při reálném používání. Automatizace zase zvládne opakovat stovky scénářů bez únavy. Rozhodující je pochopit, kdy nasadit který přístup.

Poslední praktická rada: začněte ještě před nástupem. Projděte si repozitář firmy, přečtěte si dokumentaci a připravte si vývojové prostředí. První den se pak ptáte na věci, které se týkají práce, ne na to, kde je káva. Kariéra v IT není o tom, kdo toho ví nejvíc, ale kdo vydrží být konzistentně užitečný.

Poslední věc, na kterou se zapomíná, je záloha. Lokální repozitář je fajn, ale pokud ti odejde disk, historie je pryč. Proto se vyplatí mít vzdálený repozitář, kam budeš pravidelně odesílat změny. Není to o tom, komu data svěřuješ, ale o tom, že máš druhou kopii. Ať už zvolíš jakoukoli službu, princip je stejný: propojíš lokální repozitář s vzdáleným a po každé ucelené práci odešleš změny nahoru. Verzování se tak stane přirozenou součástí vývoje, ne otravnou povinností na konci dne.

Jak nastavit rozumnou hranici Nesnažte se o sto procent. Stanovte si minimum pro kritické části, třeba zpracování plateb nebo přihlašování, a tam pokrytí hlídejte. Pro zbytek kódu se řiďte tím, zda test umí odhalit konkrétní chybu. Pomáhá i to, když testy píšete k novým funkcím ještě před jejich dokončením. U staršího kódu nezačínejte plošným dopisováním testů, ale tím, že při každé opravě přidáte test na danou chybu. Pokrytí pak roste přirozeně tam, kde to má smysl.

Nakonec si nastavte kontrolu před uložením změn. Ať se při každém commitu ověří, že překladové soubory jsou platné a že nechybí klíče. Stačí krátký skript, který porovná klíče mezi jazyky a vypíše rozdíly. Tím se chyby zachytí dřív, než se dostanou do hlavní větve. Projekt s více jazyky není složitější proto, že má víc jazyků, ale proto, že se v něm přestalo dodržovat pořadí. Udržet pořádek je levnější než ho později obnovovat.

Míra pokrytí testy se často bere jako ukazatel kvality. Jenže vysoké procento samo o sobě nic neznamená. Pokrytí říká pouze to, které řádky kódu testy prošly, ne jestli ověřují správné chování. Mnohem užitečnější je sledovat, jaké chyby vám testy reálně zachytí. Pokud po nasazení stejně nacházíte závady, které testy měly odhalit, je pokrytí jen číslo do reportu.

Když míra pokrytí roste, ale počet odhalených chyb neroste, přestává být užitečná. Typický stav je, že testy pokrývají hlavně jednoduché cesty a zapomínají na chybové stavy. Další varovný signál: testy jsou křehké, padají při každé drobné změně a lidé je přestanou spravovat. Jakmile údržba testů zabere více času než psaní nového kódu, pokrytí škodí.

Dalším krokem je větev. Větve ti umožní pracovat na nové funkci, aniž bys zasáhl do hlavní verze. Vytvoříš ji příkazem git branch nazev-vetve a přepneš se do ní přes git checkout nazev-vetve. Až je práce hotová a otestovaná, sloučíš ji zpět do hlavní větve. Právě tady vzniká nejvíc konfliktů. Když dva lidé upraví stejný řádek, Git neví, kterou verzi zachovat. Řešení je ruční: otevřeš soubor, najdeš značky konfliktu, rozhodneš, co tam má zůstat, a změnu uložíš. Čím menší změny a čím častější sloučení, tím méně bolesti.

Typické chyby vznikají ve chvíli, kdy se překlad bere jako druhořadá část. Chybějící klíč se řeší až za běhu, místo aby ho odhalila kontrola při sestavení. Další častou chybou je duplikování textů místo odkazů, takže se při změně opraví jen jedna verze. A třetí: jazyk se natvrdo zapisuje do kódu, místo aby se načítal z konfigurace. Všechny tři se dají odstranit jednoduchým pravidlem – každý text má jeden zdroj a každý jazyk má vlastní soubor.

Práce s více jazyky v jednom projektu se rychle zvrhne v chaos, pokud si člověk neuspořádá prostředí. Nejde přitom o velké systémy, stačí i malý repozitář, kde se míchá kód, překlady a konfigurace. Rozhodující je, jak si nastavíte editor, jak pojmenujete soubory a jak budete přepínat kontext. Bez toho se ztrácí čas na hledání, přepisování a opravování chyb, které vznikly jen nepořádkem.

If you have any questions about exactly where and how to use podrobnosti, you can make contact with us at the web site.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

0
    CARRELLO
    Il tuo carrello è vuoto!Torna allo shop