Le coeur perdu – Paris

Měření pokrytí testy, které jen zdržuje vývoj

Kam ukládat token a jak ho chránit Token v prohlížeči nepatří do localStorage. JavaScript k němu má přístup, takže jakýkoli XSS útok ho přečte. Bezpečnější je HttpOnly cookie s příznakem Secure a SameSite=Strict. Tím se token nedostane do JavaScriptu. Pozor na CSRF: cookie se posílá automaticky, takže přidejte CSRF token nebo použijte dvojici přístupový a obnovovací token s krátkou platností.

Pokrytí kódu testy se často bere jako univerzální metrika kvality. Jenže číslo samo o sobě nic neříká o tom, zda testy skutečně odhalují chyby. Tým, který honí stovku procent, často píše testy, jež procházejí, ale nic netestují. První krok je přestat se ptát „kolik procent máme” a začít se ptát „co nám ty testy skutečně zachytí”.

Základem je krátká životnost větve. Feature, která trvá déle než dva tři dny, by měla být rozdělena na menší logické celky, případně skryta za feature flag. Větev vytvářej vždy z aktuálního stavu hlavní linie, ne z jiné rozdělané větve. Pokud to jde, drž v jedné větvi jednu věc. Míchání refaktoringu, opravy chyby a nové funkce v jednom commitu znamená, že při konfliktu nemáš šanci poznat, co má přednost.

Praktický postup: místo plošného čísla si ve CI nastavte prahy jen pro nové nebo změněné soubory. Zavedený kód nechte být, dokud se ho nedotknete. Pro kritické moduly nastavte ručně ověřený seznam scénářů, které musí být pokryté vždy. Testy pište tak, aby selhaly, když je logika rozbitá — zkuste si je dočasně podvrátit a sledujte, zda skutečně spadnou.

Nakonec udržujte požadavky v pořádku. Pojmenujte je podle toho, co dělají, ne podle toho, jak vypadá URL. Sdílejte kolekci v týmu, ale citlivé údaje neukládejte do prostředí, které se exportuje. Používejte proměnné bez hodnot nebo je nahraďte před sdílením. Když budete API testovat průběžně a ne až před nasazením, odhalíte chyby v době, kdy je jejich oprava levná. To je celý přínos: menší stres a rychlejší vývoj.

Rebase nebo merge a kdy co použít Pro udržení čisté historie používej rebase lokálně, dokud větev nikdo jiný nepoužívá. Příkaz git rebase main přenese tvé commity na aktuální špičku hlavní linie a odstraní zbytečné merge commity. Jakmile ale větev sdílíš s kolegou, rebase přepíše historii a způsobí ostatním problémy. V tu chvíli je bezpečnější běžný merge. Pravidlo je jednoduché: rebase pro soukromé větve, merge pro veřejné.

Doba platnosti přístupového tokenu má být krátká, v řádu minut. Obnovovací token uložte na serveru a mějte možnost ho zneplatnit. Stateless JWT nelze odvolat před vypršením, což je častý omyl. Pokud potřebujete okamžité odhlášení, veďte si černou listinu nebo používejte serverovou session. Datová část tokenu není šifrovaná, pouze kódovaná base64. Neukládejte do ní hesla, rodná čísla ani interní identifikátory.

Typická chyba je testovat jen na zařízení, na kterém vývojář pracuje. Aplikace se pak rozbije na telefonu s menší pamětí nebo na systému, kde uživatel omezuje běh na pozadí. Další častá chyba je ignorovat přerušení: příchozí zpráva, nízký stav baterie, přepnutí do jiné aplikace. Zkuste tyto situace nasimulovat ručně a sledujte, zda se data neztratí a zda se aplikace vrátí do stejného stavu.

Pozor na dvě věci, které lidi pletou. Za prvé, vysoké pokrytí neznamená kvalitu. Můžete mít devadesát procent a přesto propouštět chyby do produkce. Za druhé, nízké pokrytí nemusí být problém, pokud jde o kód, který se nemění a je triviální. Rozhodujte podle rizika, ne podle čísla v přehledu.

Nikdy nepoužívejte algoritmus „none”. Útočník pošle token s hlavičkou {“alg”:”none”} a prázdným podpisem. Starší knihovny to akceptovaly. Vždy explicitně určete očekávaný algoritmus, například HS256 nebo RS256, a při ověřování ho vynuťte. U RS256 nikdy nepoužívejte veřejný klíč jako tajný pro HS256. Tato záměna umožní útočníkovi podepsat token veřejně známým klíčem.

JWT token se skládá ze tří částí oddělených tečkou: hlavičky, datové části a podpisu. Hlavička určuje algoritmus, datová část nese tvrzení (claims), podpis zajišťuje integritu. Pokud server podpis neověřuje, kdokoli si může vyrobit token s libovolnou identitou. To je první a nejčastější chyba. Knihovny pro práci s JWT mají ověření podpisu jako volitelný krok a při nesprávné konfiguraci se přeskočí.

Picnic lunchNakonec počítej s tím, že první nabídka nemusí být vysněná. Pomůže i pozice v podpoře, na helpdesku nebo manuální testování jednoduchých změn. Každý měsíc, kdy něco skutečně testuješ, se počítá. Rozhoduje ochota učit se a doložitelná práce, ne délka života bez praxe.

If you loved this write-up and you would like to obtain additional information regarding na této stránce kindly pay a visit to our own 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