Proč vaše rozhraní mate i zkušené uživatele
Než nainstaluješ cokoli dalšího, rozhodni se, na čem budeš pracovat. Pro Android je oficiální cestou Android Studio, které obsahuje potřebné nástroje pro kompilaci, ladění i testování. Stačí jej stáhnout, nainstalovat a nechat doběhnout prvotní konfiguraci. Během ní si nainstaluj SDK pro alespoň jednu starší a jednu novější verzi systému. Emulátor si nastav tak, aby odpovídal zařízení, na kterém chceš aplikaci reálně testovat – ideálně telefon s běžným rozlišením a rozumnou pamětí.
Testovací pyramida není dogma, ale nástroj, jak rozhodnout, kde má který test vzniknout. Vychází z jednoduché myšlenky: čím rychlejší a levnější test, tím častěji ho spouštíme. Na dně stojí jednotkové testy, uprostřed integrační a nahoře end-to-end. Pokud poměr obrátíte, sada se zpomalí, začne padat z nesouvisejících důvodů a lidé jí přestanou věřit.
Co napsat do Program.cs a proč to funguje Nejjednodušší funkční program vypadá takto: Console.WriteLine("Ahoj");. Řádek končí středníkem, na tom záleží. Text v uvozovkách se vypíše a odřádkuje. Pokud chcete vstup od uživatele, použijte Console.ReadLine() a výsledek uložte do proměnné, například string jmeno = Console.ReadLine();. Pozor na návratový typ: ReadLine vrací text, i když uživatel napíše číslo. Před počítáním je nutné převést hodnotu, třeba pomocí int.Parse nebo lépe int.TryParse, které nespadne při nesmyslném vstupu.
Praktický postup je zavést pyramidu do CI postupně. Nejprve zrychlete jednotkové testy tak, aby běžely do několika sekund. Pak přidejte integrační sadu, která se spouští při každém commitu. End-to-end testy nechte na noční běh nebo před vydáním. Sledujte dobu běhu a flakiness. Každý test, který občas padá bez změny kódu, buď opravte, nebo smažte. Nespolehlivá sada je horší než žádná.
Nakonec si hlídejte poměr, ale ne slepě. U malé služby může stačit pár jednotkových a jeden integrační test. U složitého systému s mnoha rozhraními bude integrační vrstva silnější. Pyramida je vodítko pro rozhodování, ne soutěž o počty. Když každý test ví, co ověřuje, a běží na správné vrstvě, sada zůstane rychlá, srozumitelná a užitečná i po letech.
Při odhadu analytiky se ptejte na konkrétní věci: Kolik lidí musíme vyslechnout? Existuje už nějaká dokumentace? Jak moc se liší stávající systémy? Kolik variant scénářů musíme pokrýt? Kdo bude schvalovat výstup? Každá z těchto otázek může odhad posunout o dny. Typická chyba je odhadnout analytiku jako „půl dne na schůzku", i když schůzka je jen začátek a skutečná práce přichází po ní.
Kde pyramida v praxi selhává Nejčastější chyba je nahrazení pyramidy zmrzlinovou kornoutkem: mnoho pomalých end-to-end testů a skoro žádné jednotkové. Vzniká to tak, že se testy píší až po nasazení a přes uživatelské rozhraní. Řešení není psát víc testů, ale přesunout odpovědnost níž. Když test selže, má být jasné, která vrstva to způsobila. Pokud k opravě potřebujete spustit celou aplikaci, test je příliš vysoko.
Když program nefunguje, začněte u chybové zprávy. Kompilátor v C# hlásí přesný soubor, řádek i sloupec. Nejdřív hledejte chybějící středník, nepárovou závorku nebo překlep v názvu proměnné. Rozlišujte malé a velké písmeno: console a Console jsou dvě různé věci a kompilátor druhou z nich nezná. Další častá past je uložení souboru v jiném kódování, které rozbije diakritiku ve výpisu. Uložte zdroják v UTF-8.
Vytvoř si vlastní testovací projekt. Vyber si veřejně dostupnou aplikaci nebo web, který můžeš legálně testovat, a sepisuj testovací případy. Zaznamenej chyby, které najdeš, včetně přesného postupu. Výsledek dej na jedno místo, které můžeš poslat. Personalista a technický vedoucí tak uvidí tvůj způsob myšlení, ne jen tvrzení, že tě testování baví. Důležité je být konkrétní: u každé chyby uveď, proč ji považuješ za závažnou a co by se stalo, kdyby zůstala v produkci.
Než začnete ladit detaily, otestujte tok s pěti lidmi. Sledujte, kde se zaseknou, ne co říkají, že se jim líbí. Opravte jedno místo, otestujte znovu. Design není fáze projektu, ale průběžná kontrola toho, jestli rozhraní dělá to, co jste zamýšleli. Nejčastější chyba není nedostatek talentu, ale přeskočení tohoto kroku.
Kontrast, velikost písma a dotykové plochy nejsou estetika, ale přístupnost. Text, který nejde přečíst na slunci nebo na malém displeji, je nefunkční. Klikací oblast má být větší než samotná ikona, jinak ji lidé netrefí. Nepoužívejte barvu jako jediný nositel významu — stav musí být čitelný i bez rozlišení odstínu. Stejná pravidla držte napříč celou aplikací, protože nekonzistence nutí uživatele učit se totéž dvakrát.