Kdy je správný čas přidat integrační testy a kdy stačí jednotkové?

<span style="font-weight: 900;">Když začínáte s C#, první</span> konzolová aplikace je ideálním startem. Nevytváříte žádné okno, žádné tlačítko, jen příkazový řádek, který něco vypíše a čeká na váš vstup. To je přesně to, co potřebujete k pochopení základů: proměnné, podmínky, cykly a metody. Většina tutoriálů ale začíná ukázkou kódu, který opisujete, aniž byste chápali, proč tam co je. Výsledek? První program sice spustíte, ale hned u druhého kroku se zaseknete.<br> <br> <br> <br> Růst codebase s sebou přináší nejen nové funkce, ale i rostoucí tlak na testovací strategii. Zpočátku vám stačí rychlé jednotkové testy, které ověřují izolované metody. Jakmile ale začnete měnit rozhraní mezi moduly, zjistíte, že vám unikají chyby, které se projeví až při propojení komponent. Klíčem není držet se dogmatického poměru 70:30, ale umět rozpoznat, kdy který typ testu přináší nejvyšší hodnotu za rozumné náklady.<br> <br> <br> <br> Proč je užitečné plánovat si architekturu projektu před psaním kódu? Architektura určuje, jak budete aplikaci rozšiřovat. Nejrozšířenější je MVC, ale pro větší projekty se vyplatí zvážit MVVM nebo VIPER. Nezáleží na tom, kterou si vyberete, hlavní je konzistence. Pokud začnete s MVC a později přejdete na MVVM, riskujete, že budete muset přepsat polovinu projektu. Dobrým kompromisem je začít s jednoduchou separací vrstev – model, view, view model a služby. Vyhnete se tak obřímu kontroleru, který dělá všechno, a to je častá chyba začátečníků. Pamatujte, že kód píšete pro lidi, ne pro počítač.<br> <br> <br> <br> <span style="font-weight: bolder;">Pojďme si postavit aplikaci,</span> která načte jméno uživatele, pozdraví ho a pak mu nechá vybrat ze dvou možností – třeba výpočet obsahu kruhu nebo obdélníku. Tím si procvičíte čtení ze vstupu, převod textu na číslo a základní matematické operace. Nejdřív si ale otevřete editor, vytvořte nový projekt a zvolte šablonu 'Konzolová aplikace'. Nezapomeňte, že projekt se jmenuje podle namespace – pokud mu dáte stejné jméno, ušetříte si pozdější opravy.<br> <br> <br> <br> Při psaní kódu ve Swiftu narazíte na problém s volitelné typy. Mnoho začátečníků zbytečně používá force unwrap – vykřičník – a pak řeší pády aplikace. Správný postup je používat if let nebo guard let, případně kombinovat s nil-coalescing operátorem. Pokud si nejste jistí, proč je volitelnost důležitá, zkuste si přečíst dokumentaci k optionals. Ale raději si to procvičte na malých příkladech. Uvidíte, že to zlepší kvalitu vašeho kódu. Rozdíl mezi implicitními volitelnými typy a běžnými volitelnými typy je častým zdrojem zmatení – snažte se jim vyhnout, dokud nepochopíte, jak fungují.<br> <br> <br> <br> Dále prověřte, jestli váš hosting neposílá uživatelům zbytečně mnoho dat. Technologie pro automatickou kompresi textu by měla být zapnutá. Pokud ji váš hosting nepodporuje, můžete ji aktivovat vlastním konfiguračním souborem. Ale pozor – kontrola správného nastavení je nutná, protože špatně napsaný konfigurační soubor může celý web rozbít. Než cokoli nasadíte na ostrém provozu, vyzkoušejte to na testovací kopii. Změřte čas načítání před a po provedení změny.<br> <br> <br> <br> První testovací úkol: najděte chybu v běžné aplikaci Začněte u aplikací, které používáte denně — internetové bankovnictví, e-shop, mobilní hru nebo třeba kalendář. Zkuste si vytvořit jednoduchý testovací plán: co chcete ověřit, jaké kroky provedete a jaký výsledek očekáváte. Zaznamenejte si každou odchylku od očekávání, ať je sebemenší. Pozor na typickou chybu začátečníků: testují jen šťastnou cestu, tedy že vše funguje, když uživatel dělá přesně to, co aplikace předpokládá. Skutečný tester musí zkoušet i neobvyklé vstupy, prázdná pole, neplatné formáty nebo rychlé klikání. Právě tam se skrývá nejvíce chyb.<br> <br> <br> <br> Dalším krokem je zapojení do komunitních projektů, kde se testuje otevřený software. Stačí si vybrat aplikaci, kterou reálně používáte, a prostudovat, jak se hlásí chyby. Obvykle to znamená napsat popis problému, kroky k reprodukci, očekávané a skutečné chování a prostředí, ve kterém se chyba vyskytla. Nesnažte se hned opravovat kód — vaším úkolem je chybu najít a popsat. Takové reporty můžete posílat do bug trackeru projektu a po pár měsících budete mít hmatatelný důkaz své práce, který lze přiložit k životopisu.<br> <br> <br> <br> <img src="https://burf.co/about.php" style="max-width:400px;float:left;padding:10px 10px 10px 0px;border:0px;">Prvním krokem je redukce počtu požadavků na server. Každý soubor, ať jde o stylopis, skript nebo písmo, znamená samostatné komunikační kolo. Zkuste sloučit malé soubory do jednoho balíku, ale pozor na velikost – jeden obří soubor může být horší než pět menších. Zásadní je také pořadí načítání. Kritický obsah, který vidíte hned na první obrazovce, musí být načten přednostně. Vše ostatní, jako jsou analytické nástroje nebo posuvníky, nechte načíst až po interakci uživatele. K tomu slouží atribut pro odložené načítání skriptů, který běžně používáte.