<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.rettungsdienstblog.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=STQPaige17</id>
	<title>Rettungsdienst-Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.rettungsdienstblog.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=STQPaige17"/>
	<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Spezial:Beitr%C3%A4ge/STQPaige17"/>
	<updated>2026-09-28T04:27:09Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.rettungsdienstblog.eu/index.php?title=Ov%C4%9B%C5%99te_logiku_reducer%C5%AF_i_async_akc%C3%AD_bez_testovac%C3%ADho_prost%C5%99ed%C3%AD_%E2%80%93_a_z%C3%ADskejte_jistotu&amp;diff=204381</id>
		<title>Ověřte logiku reducerů i async akcí bez testovacího prostředí – a získejte jistotu</title>
		<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Ov%C4%9B%C5%99te_logiku_reducer%C5%AF_i_async_akc%C3%AD_bez_testovac%C3%ADho_prost%C5%99ed%C3%AD_%E2%80%93_a_z%C3%ADskejte_jistotu&amp;diff=204381"/>
		<updated>2026-08-29T04:51:15Z</updated>

		<summary type="html">&lt;p&gt;STQPaige17: Die Seite wurde neu angelegt: „Nakonec si zkuste představit, že zprávu čte někdo, kdo nezná kód. Pokud po přečtení tuší, co se změnilo a proč, je to dobrá zpráva. Pravidelně se vracejte ke starým commitům a hodnoťte, zda byste podle nich dokázali rekonstruovat rozhodovací proces. Časem vám psaní smysluplných zpráv půjde samo a stane se přirozenou součástí práce.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Začněte krátkým shrnutím v rozsahu maximálně padesáti znaků. Toto shrnutí b…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nakonec si zkuste představit, že zprávu čte někdo, kdo nezná kód. Pokud po přečtení tuší, co se změnilo a proč, je to dobrá zpráva. Pravidelně se vracejte ke starým commitům a hodnoťte, zda byste podle nich dokázali rekonstruovat rozhodovací proces. Časem vám psaní smysluplných zpráv půjde samo a stane se přirozenou součástí práce.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Začněte krátkým shrnutím v rozsahu maximálně padesáti znaků. Toto shrnutí by mělo vystihovat podstatu změny, ideálně ve formátu „když…, tak…&amp;quot; nebo „aby…&amp;quot;. Například „aby se přihlášení nezaseklo, když API vrátí prázdný token&amp;quot; je mnohem užitečnější než „fix login&amp;quot;. Dlouhé zprávy rozdělte na více řádků – první řádek je nadpis, další řádky jsou podrobnosti. Většina nástrojů zobrazí jen první řádek, takže ten musí být srozumitelný sám o sobě.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Při návrhu API se vyplatí myslet na verzování. I když to na začátku vypadá jako zbytečná práce, později vám to ušetří spoustu bolesti. Nastavte verzi v URL, například /api/v1/uzivatele, nebo použijte hlavičky. Změny v API pak můžete zavádět postupně, aniž byste rozbili aplikace, které na vašem API běží. Starší verze můžete po čase odstranit, ale mějte vždy dostatečně dlouhou dobu na migraci.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Typická chyba, kterou vidím u týmů, je honba za stonásobným pokrytím za každou cenu. Programátoři pak píší testy, které jen volají funkce s triviálními vstupy, nebo používají nástroje, které uměle navyšují čísla — třeba provádějí kód přes reflexi nebo vypínají kontroly. Výsledkem je, že metrika vypadá skvěle, ale testy nechytí jedinou skutečnou chybu. Stejně problematické je i pokrytí, které se měří jen v jednom momentě — po změně kódu je často neaktuální. Doporučuji měřit pokrytí průběžně v CI a nastavit si minimální hranici, ale jen jako pojistku proti výraznému propadu, ne jako cíl.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Automatizace testů má smysl, ale musí být udržovatelná. Pište testy tak, aby nebyly závislé na konkrétních textových prvcích, které se často mění. Používejte stabilní identifikátory, jako jsou testovací ID nebo jedinečné atributy. Pokud testy začnou častěji selhávat kvůli změnám v UI než kvůli skutečným chybám, je to signál, že jsou testy špatně napsané. Pravidelně je revidujte a odstraňujte ty, které nepřinášejí žádnou hodnotu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nakonec si nastavte proces pro hlášení chyb. Každý nález by měl obsahovat kroky k reprodukci, očekávané a skutečné chování, verzi aplikace a zařízení, na kterém se chyba vyskytla. Bez těchto údajů je oprava zbytečně pomalá. Testování mobilních aplikací není jen o klikání na obrazovku, ale o systematickém přístupu, který kombinuje automatizaci, reálná zařízení a správné priority. Pokud toto dodržíte, ušetříte si spoustu času a nervů při vydávání nové verze.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nejlepší způsob, jak pokrytí měřit, je kombinovat více pohledů. Řádkové pokrytí je nejjednodušší, ale snadno vás uvede v omyl — kód může být „pokrytý&amp;quot;, ale testy neobsahují žádná relevantní tvrzení. Pokrytí větví ukazuje, zda se procházejí všechny rozhodovací cesty, což je užitečnější, ale stále neříká nic o datech, která testy používají. Praktický postup: pro důležité části kódu sledujte pokrytí větví, pro kritické moduly pak pokrytí podmínek nebo mutační testování, které cíleně mění kód a ověřuje, zda testy takovou změnu odhalí. Jen tak zjistíte, jestli testy skutečně něco hlídají.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Další oblastí, kterou lidé opomíjejí, je přerušení aplikace. Přicházející hovor, SMS, notifikace z jiné aplikace nebo otočení obrazovky. Všechny tyto stavy musíte otestovat, protože aplikace by se měla vždy vrátit do použitelného stavu. Důležité je také testovat různé verze operačního systému, nejen nejnovější. Starší verze mívají odlišné chování v oblasti oprávnění, úložiště nebo zpracování notifikací. Pokud nemáte fyzická zařízení, využijte cloudové služby pro testování na vzdálených telefonech, ale pozor na latenci, která může ovlivnit výsledky.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jak na to – a na co si dát pozor Začněte tím, že si definujete jednoduché testovací případy pro každou akci, kterou reducer umí zpracovat. Pro každý případ připravte výchozí stav, akci s payloadem a očekávaný nový stav. Test pak vypadá jako porovnání dvou objektů. Praktická ukázka: pokud máte reducer pro přidání položky do seznamu, otestujte, že přidá položku na konec, že nezmění původní seznam a že při prázdném seznamu funguje správně. Vyhněte se testování více akcí v jednom testu – každý test by měl ověřovat jednu konkrétní věc, aby bylo snadné najít příčinu případného selhání.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Testování mobilních aplikací se liší od testování webů hned v několika podstatných ohledech. Jiný výkon zařízení, různá velikost obrazovky, přerušení příchozím hovorem nebo změna připojení k síti. Pokud chcete aplikaci dodat v rozumném čase a bez zbytečných chyb, musíte mít jasnou představu, co a jak testovat. Nejčastější chybou je testovat pouze na jednom emulátoru a spoléhat na to, že všechno poběží stejně i na reálném zařízení. To ale nefunguje.&lt;/div&gt;</summary>
		<author><name>STQPaige17</name></author>
	</entry>
	<entry>
		<id>https://wiki.rettungsdienstblog.eu/index.php?title=Benutzer:STQPaige17&amp;diff=204379</id>
		<title>Benutzer:STQPaige17</title>
		<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Benutzer:STQPaige17&amp;diff=204379"/>
		<updated>2026-08-29T04:51:13Z</updated>

		<summary type="html">&lt;p&gt;STQPaige17: Die Seite wurde neu angelegt: „Někdo, kdo dílnou i obývákem sází na osvědčené tipy. Píšu o tom, jak skloubit funkčnost s teplem domova. Nejraději popisovat postupy krok za krokem.“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Někdo, kdo dílnou i obývákem sází na osvědčené tipy. Píšu o tom, jak skloubit funkčnost s teplem domova. Nejraději popisovat postupy krok za krokem.&lt;/div&gt;</summary>
		<author><name>STQPaige17</name></author>
	</entry>
</feed>