<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://jak.mazovia.edu.pl/index.php?action=history&amp;feed=atom&amp;title=Testov%C3%A1n%C3%AD_mobiln%C3%ADch_aplikac%C3%AD%3A_Manu%C3%A1ln%C3%AD_p%C5%99%C3%ADstup_versus_automatizace</id>
	<title>Testování mobilních aplikací: Manuální přístup versus automatizace - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="https://jak.mazovia.edu.pl/index.php?action=history&amp;feed=atom&amp;title=Testov%C3%A1n%C3%AD_mobiln%C3%ADch_aplikac%C3%AD%3A_Manu%C3%A1ln%C3%AD_p%C5%99%C3%ADstup_versus_automatizace"/>
	<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=Testov%C3%A1n%C3%AD_mobiln%C3%ADch_aplikac%C3%AD:_Manu%C3%A1ln%C3%AD_p%C5%99%C3%ADstup_versus_automatizace&amp;action=history"/>
	<updated>2026-09-26T02:16:14Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://jak.mazovia.edu.pl/index.php?title=Testov%C3%A1n%C3%AD_mobiln%C3%ADch_aplikac%C3%AD:_Manu%C3%A1ln%C3%AD_p%C5%99%C3%ADstup_versus_automatizace&amp;diff=232607&amp;oldid=prev</id>
		<title>KellyHoltzmann7 o 03:13, 29 sie 2026</title>
		<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=Testov%C3%A1n%C3%AD_mobiln%C3%ADch_aplikac%C3%AD:_Manu%C3%A1ln%C3%AD_p%C5%99%C3%ADstup_versus_automatizace&amp;diff=232607&amp;oldid=prev"/>
		<updated>2026-08-29T03:13:34Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pl&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← poprzednia wersja&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Wersja z 03:13, 29 sie 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Linia 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Důležitou součástí testování &lt;/del&gt;je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;také sledování výkonu&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Změřte dobu spouštění&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;snímkovou frekvenci při posouvání &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;spotřebu paměti&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokud aplikace zabere příliš mnoho paměti&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;systém ji může ukončit&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;což vede k frustraci uživatele. Pro automatizované testy vybírejte nástroje&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které umožňují spouštět testy v paralelním prostředí – ušetříte tím čas&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Nezapomínejte ale, že &lt;/del&gt;automatizace &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nenahradí lidský úsudek. Například vizuální posouzení designu nebo barvy tlačítek je stále doménou manuálního testování. Pravidelně procházejte nahrané testovací scénáře &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;aktualizujte je podle nových funkcí&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Na závěr jeden praktický detail: pokud používáte Express 4 a výše&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;mějte na paměti, že asynchronní chyby v middleware nejsou automaticky předány error handleru&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Proto si vytvořte wrapper asyncHandler(fn), který funkci obalí a případnou chybu pošle &lt;/del&gt;do &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;next()&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Tento malý trik vám ušetří spoustu záhadných 500 chyb. Stejně tak se vyplatí odlišit vlastní chyby &lt;/del&gt;(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;např&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;NotFoundError&lt;/del&gt;) &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;od neočekávaných – v error handleru pak můžete vracet správný HTTP status. Pokud začnete tyto postupy používat, API bude čitelnější, snadněji se udržuje a hlavně – frontend vývojáři vám poděkují.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nezapomínejte také na rychlost. Testovací pyramida není jen o počtu testů, ale o čase&lt;/del&gt;, který &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jejich spuštění zabere. Ideální je&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;když jednotkové testy běží do pěti minut, integrační do patnácti a E2E do hodiny&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokud vám E2E běží déle&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rozdělte je do skupin podle kritičnosti a spouštějte je v noci&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ale &lt;/del&gt;pozor – &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;noční běh znamená&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že chybu objevíte až ráno. Proto se vyplatí mít aspoň pár klíčových E2E testů v CI, které běží při každém commitu&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Validace dat a správa chyb Častou &lt;/del&gt;chybou je spoléhat se na &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;to&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že klient pošle správná data&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Express sám o sobě validaci neřeší&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;takže si ji musíte ošetřit&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Použijte knihovnu pro schémata &lt;/del&gt;(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;např&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Joi nebo Zod&lt;/del&gt;) &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a validujte data hned na začátku každého handleru&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Vrácená chyba by měla být stručná a konkrétní – místo „Chyba serveru&quot; posílejte „Pole e-mail musí být platná adresa&quot;&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pro globální ošetření chyb přidejte middleware se čtyřmi argumenty (err, req, res, next&lt;/del&gt;). &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Tento middleware zachytí i chyby z asynchronních funkcí&lt;/del&gt;, pokud &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;je zabalíte do wrapperu&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;který předá &lt;/del&gt;chybu &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;do next()&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Když tým začne psát automatizované testy, většinou skončí u rozsáhlých end-to-end scénářů&lt;/del&gt;, které &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;procházejí celou aplikací&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Na první pohled vypadají solidně&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale po pár týdnech se ukáže pravý opak: běh trvá desítky minut&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;každá změna v rozhraní rozbije desítky testů &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;doba opravy převyšuje čas&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;který testy ušetří. Základní poučka zní: čím výše &lt;/del&gt;v &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pyramidě test stojí, tím je dražší na údržbu &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;tím méně jich má být&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Přesto ji týmy soustavně ignorují a pak řeší důsledky&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Časté zádrhele a jak se jim vyhnout Při práci s textovými soubory narazíte na kódování&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokud načítáte data z CSV nebo txt&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vždy specifikujte encoding=&#039;utf-8&#039;&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Jinak hrozí&lt;/del&gt;, že se &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;diakritika rozpadne na změť znaků&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dalším častým problémem je používání zastaralých modulů – místo urllib pro HTTP požadavky sáhněte po modernějším requests&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které je přehlednější a méně náchylné na chyby&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Upozornění: pokud stahujete data z webu&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;respektujte pravidla serveru &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nezatěžujte ho přílišným počtem požadavků&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Jednotkové testy jsou vaším každodenním nástrojem pro rychlou zpětnou vazbu&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Testují jednu třídu&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jednu &lt;/del&gt;funkci, jeden &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;algoritmus&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Jsou stabilní&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;běží &lt;/del&gt;v &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;milisekundách a přesně řeknou&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kde se něco rozbilo&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Jejich slabinou &lt;/del&gt;je, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že neodhalí problémy &lt;/del&gt;v &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;integraci – špatně nastavenou konfiguraci&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;chybějící validaci dat mezi službami &lt;/del&gt;nebo &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;neočekávané pořadí volání&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokud je jediným typem testů ve vašem projektu&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;začnete časem potřebovat bezpečnostní síť &lt;/del&gt;na &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vyšší úrovni&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;První praktický skript může být třeba automatické přejmenování souborů ve složce&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Použijte modul os &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pathlib&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které jsou součástí standardní knihovny&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Důležité &lt;/del&gt;je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nejprve otestovat skript na kopii složky&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;protože chybná manipulace se soubory může smazat data&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Typická chyba začátečníků &lt;/del&gt;je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;použití relativní cesty bez ověření aktuálního pracovního adresáře&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Vždy si nechte vypsat absolutní cestu &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ošetřete případ, kdy soubor neexistuje&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;A &lt;/del&gt;na &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;závěr jedno praktické doporučení&lt;/del&gt;: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;udržujte testovací prostředí oddělené &lt;/del&gt;od &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;produkčního a vždy v něm používejte testovací data&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Mnoho týmů šetří čas a testuje přímo &lt;/del&gt;na &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;produkci s reálnými daty uživatelů&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;To je cesta do pekel&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Jakmile jednou odešlete testovací e-mail skutečnému zákazníkovi nebo smažete produkční účet&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;přestanou lidé vaší firmě věřit&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Investujte do čistého testovacího prostředí a oddělených databází&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;DevOps &lt;/ins&gt;je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;často mylně chápán jako sada nástrojů nebo pozice, kterou obsadíte jedním specialistou&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ve skutečnosti jde o kulturu spolupráce mezi vývojem a provozem&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;která má za cíl zkrátit cyklus dodání software &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zvýšit jeho stabilitu&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Než začnete cokoli instalovat&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pochopte&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že DevOps začíná u lidí a procesů&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ne u technologií&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Bez změny přemýšlení vám žádná &lt;/ins&gt;automatizace &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nepomůže a výsledkem bude jen drahý &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nefunkční systém&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Častou chybou začátečníků je verzovat citlivé údaje&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jako jsou hesla nebo API klíče&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Nikdy je nedávejte &lt;/ins&gt;do &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;veřejného repozitáře&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Použijte soubor pro ignorování &lt;/ins&gt;(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;například &lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gitignore&lt;/ins&gt;), který &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vyloučí konfigurační soubory&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;složky s instalovanými balíčky nebo dočasné soubory&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Tím se vyhnete tomu&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že se k vašim přihlašovacím údajům dostane někdo nepovolaný&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Také &lt;/ins&gt;pozor &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;na velké binární soubory &lt;/ins&gt;– &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;obrázky nebo videa byste měli ukládat zvlášť&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;protože verzovací nástroje nejsou na jejich správu stavěné&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Typickou &lt;/ins&gt;chybou je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;také &lt;/ins&gt;spoléhat se na &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;přesné porovnávání desetinných čísel. Když testujete výpočty s plovoucí řádovou čárkou&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;výsledek může být 2.9999999 místo 3&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Místo toho použijte tolerance&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;třeba metodu Is&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;EqualTo&lt;/ins&gt;(.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;..&lt;/ins&gt;).&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Within(0&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;001&lt;/ins&gt;). &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Podobně si dejte pozor na porovnávání řetězců s mezerami na konci – NUnit je sice porovnává přesně&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale &lt;/ins&gt;pokud &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ignorujete prázdné znaky&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;snadno přehlédnete &lt;/ins&gt;chybu&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Vždy používejte odpovídající constrainty a ne jenom Assert.IsTrue s podmínkou, kterou si sami napíšete&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Při slučování větví dochází nejčastěji ke konfliktům v souborech&lt;/ins&gt;, které &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;upravuje více lidí současně&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Typickým příkladem je konfigurační soubor&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;do kterého každý přidává svoje řádky. Abyste konfliktům předcházeli&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pravidelně si do své větve přetahujte změny z hlavní větve. Tím udržíte svoji větev aktuální &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sloučení nakonec proběhne rychleji. Pokud už ke konfliktu dojde&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;řešte jej vždy &lt;/ins&gt;v &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;místní kopii &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;před odesláním změn si projděte celý výsledek&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Nikdy nespoléhejte na automatické sloučení, které může tiše přepsat důležitou logiku&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Na závěr si zapamatujte: DevOps není cíl, ale průběžný proces&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Neočekávejte&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že za dva měsíce budete mít plně automatizovaný provoz&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Důležité je&lt;/ins&gt;, že se &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;váš tým každý týden zlepšuje&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Nedávejte si za cíl „zavést DevOps&quot;&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale zkraťte dobu od nápadu k produkci o polovinu&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokud se vám to podaří&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;automatizace &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nástroje přijdou samy jako přirozená součást řešení. Bez toho vše skončí jen jako další neúspěšný projekt&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;def zakaznik():&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Základní návyk: commit jako kotva, ne jako povinnost Začněte tím, že si vytvoříte repozitář přímo v projektu&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Už jen to&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že máte lokální historii, změní váš přístup. Každou &lt;/ins&gt;funkci, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;opravu nebo úpravu stylů ukládejte do malých, logických kroků. Například přidání tlačítka je &lt;/ins&gt;jeden &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;commit, změna jeho barvy je druhý&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Vyhnete se tak situaci, kdy po týdnu nevíte&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;co se &lt;/ins&gt;v &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kódu stalo. Než začnete pracovat&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vždy si vytvořte novou větev (branch)&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;To &lt;/ins&gt;je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;váš oddělený prostor&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kde můžete experimentovat, aniž byste ohrozili stabilní verzi.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Když &lt;/ins&gt;v &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;týmu přepisujete historii společných commitů&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dříve &lt;/ins&gt;nebo &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;později narazíte na konflikt, který nejde vyřešit bez ručního zásahu. Nejčastější chybou bývá, že každý vývojář drží vlastní představu o tom, kdy a jak začlenit práci do hlavní větve&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Přitom stačí dodržet pár pravidel, která práci zpřehlední a ušetří desítky minut denně. Tento text se zaměřuje na rozdíl mezi sdíleným commitnutím do jedné větve a prací na samostatných větvích – ukáže&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kdy zvolit který postup a &lt;/ins&gt;na &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;co si dát pozor&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokud pracujete v týmu, domluvte si pravidla&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Jakmile někdo dokončí funkci &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sloučí ji do hlavní větve&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;měl by to umět vysvětlit&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Týmový standard, jako &lt;/ins&gt;je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;povinná revize kódu nebo pojmenování větví&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;výrazně zjednoduší spolupráci&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Bez něj totiž vzniká chaos – každý verzuje po svém a historie projektu &lt;/ins&gt;je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nepřehledná&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Naopak s nastavenými pravidly se vývoj zrychlí &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vy se budete moci soustředit na samotné programování&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Jak začít s testováním a &lt;/ins&gt;na &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;co si dát pozor Nejprve si ujasněte, co přesně chcete testovat. Zaměřte se na tři hlavní oblasti&lt;/ins&gt;: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;funkčnost (například přihlášení nebo nákupní košík), výkon (rychlost načítání, spotřeba baterie) a uživatelskou přívětivost (ovládání jednou rukou, čitelnost). Pro manuální testy si vytvořte seznam kritických scénářů – &lt;/ins&gt;od &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;registrace až po odhlášení&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Testujte &lt;/ins&gt;na &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reálných zařízeních i emulátorech, protože každý přístup odhalí jiné problémy&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Emulátory jsou rychlé, ale neodhalí například problémy se senzory nebo GPS&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Při automatizaci začínejte s malým počtem testů&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které pokrývají hlavní toky&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Postupně přidávejte okrajové případy, ale nepřehánějte to – každý automatizovaný test vyžaduje údržbu, která se prodraží&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>KellyHoltzmann7</name></author>
	</entry>
	<entry>
		<id>https://jak.mazovia.edu.pl/index.php?title=Testov%C3%A1n%C3%AD_mobiln%C3%ADch_aplikac%C3%AD:_Manu%C3%A1ln%C3%AD_p%C5%99%C3%ADstup_versus_automatizace&amp;diff=231869&amp;oldid=prev</id>
		<title>RZUGia3863207280: Utworzono nową stronę &quot;Důležitou součástí testování je také sledování výkonu. Změřte dobu spouštění, snímkovou frekvenci při posouvání a spotřebu paměti. Pokud aplikace zabere příliš mnoho paměti, systém ji může ukončit, což vede k frustraci uživatele. Pro automatizované testy vybírejte nástroje, které umožňují spouštět testy v paralelním prostředí – ušetříte tím čas. Nezapomínejte ale, že automatizace nenahradí lidský úsudek. Např…&quot;</title>
		<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=Testov%C3%A1n%C3%AD_mobiln%C3%ADch_aplikac%C3%AD:_Manu%C3%A1ln%C3%AD_p%C5%99%C3%ADstup_versus_automatizace&amp;diff=231869&amp;oldid=prev"/>
		<updated>2026-08-29T02:41:30Z</updated>

		<summary type="html">&lt;p&gt;Utworzono nową stronę &amp;quot;Důležitou součástí testování je také sledování výkonu. Změřte dobu spouštění, snímkovou frekvenci při posouvání a spotřebu paměti. Pokud aplikace zabere příliš mnoho paměti, systém ji může ukončit, což vede k frustraci uživatele. Pro automatizované testy vybírejte nástroje, které umožňují spouštět testy v paralelním prostředí – ušetříte tím čas. Nezapomínejte ale, že automatizace nenahradí lidský úsudek. Např…&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Důležitou součástí testování je také sledování výkonu. Změřte dobu spouštění, snímkovou frekvenci při posouvání a spotřebu paměti. Pokud aplikace zabere příliš mnoho paměti, systém ji může ukončit, což vede k frustraci uživatele. Pro automatizované testy vybírejte nástroje, které umožňují spouštět testy v paralelním prostředí – ušetříte tím čas. Nezapomínejte ale, že automatizace nenahradí lidský úsudek. Například vizuální posouzení designu nebo barvy tlačítek je stále doménou manuálního testování. Pravidelně procházejte nahrané testovací scénáře a aktualizujte je podle nových funkcí.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Na závěr jeden praktický detail: pokud používáte Express 4 a výše, mějte na paměti, že asynchronní chyby v middleware nejsou automaticky předány error handleru. Proto si vytvořte wrapper asyncHandler(fn), který funkci obalí a případnou chybu pošle do next(). Tento malý trik vám ušetří spoustu záhadných 500 chyb. Stejně tak se vyplatí odlišit vlastní chyby (např. NotFoundError) od neočekávaných – v error handleru pak můžete vracet správný HTTP status. Pokud začnete tyto postupy používat, API bude čitelnější, snadněji se udržuje a hlavně – frontend vývojáři vám poděkují.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nezapomínejte také na rychlost. Testovací pyramida není jen o počtu testů, ale o čase, který jejich spuštění zabere. Ideální je, když jednotkové testy běží do pěti minut, integrační do patnácti a E2E do hodiny. Pokud vám E2E běží déle, rozdělte je do skupin podle kritičnosti a spouštějte je v noci. Ale pozor – noční běh znamená, že chybu objevíte až ráno. Proto se vyplatí mít aspoň pár klíčových E2E testů v CI, které běží při každém commitu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Validace dat a správa chyb Častou chybou je spoléhat se na to, že klient pošle správná data. Express sám o sobě validaci neřeší, takže si ji musíte ošetřit. Použijte knihovnu pro schémata (např. Joi nebo Zod) a validujte data hned na začátku každého handleru. Vrácená chyba by měla být stručná a konkrétní – místo „Chyba serveru&amp;quot; posílejte „Pole e-mail musí být platná adresa&amp;quot;. Pro globální ošetření chyb přidejte middleware se čtyřmi argumenty (err, req, res, next). Tento middleware zachytí i chyby z asynchronních funkcí, pokud je zabalíte do wrapperu, který předá chybu do next().&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Když tým začne psát automatizované testy, většinou skončí u rozsáhlých end-to-end scénářů, které procházejí celou aplikací. Na první pohled vypadají solidně, ale po pár týdnech se ukáže pravý opak: běh trvá desítky minut, každá změna v rozhraní rozbije desítky testů a doba opravy převyšuje čas, který testy ušetří. Základní poučka zní: čím výše v pyramidě test stojí, tím je dražší na údržbu a tím méně jich má být. Přesto ji týmy soustavně ignorují a pak řeší důsledky.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Časté zádrhele a jak se jim vyhnout Při práci s textovými soubory narazíte na kódování. Pokud načítáte data z CSV nebo txt, vždy specifikujte encoding=&amp;#039;utf-8&amp;#039;. Jinak hrozí, že se diakritika rozpadne na změť znaků. Dalším častým problémem je používání zastaralých modulů – místo urllib pro HTTP požadavky sáhněte po modernějším requests, které je přehlednější a méně náchylné na chyby. Upozornění: pokud stahujete data z webu, respektujte pravidla serveru a nezatěžujte ho přílišným počtem požadavků.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jednotkové testy jsou vaším každodenním nástrojem pro rychlou zpětnou vazbu. Testují jednu třídu, jednu funkci, jeden algoritmus. Jsou stabilní, běží v milisekundách a přesně řeknou, kde se něco rozbilo. Jejich slabinou je, že neodhalí problémy v integraci – špatně nastavenou konfiguraci, chybějící validaci dat mezi službami nebo neočekávané pořadí volání. Pokud je jediným typem testů ve vašem projektu, začnete časem potřebovat bezpečnostní síť na vyšší úrovni.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;První praktický skript může být třeba automatické přejmenování souborů ve složce. Použijte modul os a pathlib, které jsou součástí standardní knihovny. Důležité je nejprve otestovat skript na kopii složky, protože chybná manipulace se soubory může smazat data. Typická chyba začátečníků je použití relativní cesty bez ověření aktuálního pracovního adresáře. Vždy si nechte vypsat absolutní cestu a ošetřete případ, kdy soubor neexistuje.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;A na závěr jedno praktické doporučení: udržujte testovací prostředí oddělené od produkčního a vždy v něm používejte testovací data. Mnoho týmů šetří čas a testuje přímo na produkci s reálnými daty uživatelů. To je cesta do pekel. Jakmile jednou odešlete testovací e-mail skutečnému zákazníkovi nebo smažete produkční účet, přestanou lidé vaší firmě věřit. Investujte do čistého testovacího prostředí a oddělených databází.&lt;/div&gt;</summary>
		<author><name>RZUGia3863207280</name></author>
	</entry>
</feed>