Editing
Jednotná konfigurace projektu: Jak vybrat správné IDE pro tým
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
Největší úskalí při psaní prvních testů je práce s náhodnými hodnotami, s časem a s globálním stavem. Pokud funkce používá aktuální datum nebo náhodu, test může pokaždé vrátit jiný výsledek. Řešením je předat takové hodnoty jako parametry, případně použít injektování závislostí. Nikdy nespoléhejte na to, že test projde, i když jste ho spustili stokrát – pokud obsahuje náhodu, je to jen otázka času, kdy selže. Stejně tak se vyhněte testům, které mění soubory nebo databázi bez předchozího vyčištění. Test by měl být opakovatelný a měl by běžet stejně dobře na vašem počítači i na serveru.<br><br>Nakonec si dejte pozor na příliš složité nástroje, které vyžadují rozsáhlé školení. I když mají bohaté možnosti, jejich konfigurace může být natolik komplexní, že ji tým nebude efektivně využívat. Raději zvolte nástroj, který je jednoduchý na pochopení a jeho nastavení je transparentní. Po nasazení sledujte, zda se snižuje počet konfliktů ve verzovacím systému a zda se noví členové týmu rychle zapracují. Pokud se tak nestane, znamená to, že konfigurace není dostatečně jednotná a je třeba ji upravit.<br><br>Při psaní příkazů se vyhněte tvrdě zakódovaným tajemstvím, jako jsou API klíče nebo hesla. GitHub Actions umožňuje ukládat je do sekce Secrets v nastavení repozitáře a v souboru je pak odkazujete přes $ secrets.NAZEV . Tím se hodnoty nezobrazí v logu a můžete je měnit bez úpravy kódu. Klíčové je také správně nastavit oprávnění tokenu – pokud potřebujete nasadit na produkci, vytvořte si osobní přístupový token s minimálními právy a uložte ho jako secret, nikdy nepoužívejte výchozí GITHUB_TOKEN pro akce s vyššími oprávněními.<br><br>Dalším aspektem je doba běhu. Pokud testy trvají déle než pár minut, vývojáři je přestanou spouštět před commitem. Proto rozdělte testy na rychlé (jednotkové) a pomalé (integrační). Rychlé testy spouštějte při každé změně, pomalé až v CI při sestavení pull requestu. Tím zajistíte, že vývojář dostane rychlou zpětnou vazbu, ale zároveň se ověří celková funkčnost systému.<br><br>Jak správně postavit testovací scénář Základ každého unit testu je trojice: připrav, proveď, ověř. V přípravě vytvoříte vstupní data, a to včetně okrajových hodnot – prázdný řetězec, nulu, záporné číslo nebo prázdný seznam. Tyto okrajové případy dělají testy užitečnými, protože právě na nich se logika nejčastěji láme. Při samotném provedení voláte jen testovanou funkci, a to s připravenými daty. Ověření pak porovnává skutečný výsledek s očekávaným. Pozor na to, abyste v jednom testu nekombinovali více kontrol – pokud první kontrola selže, nezjistíte, jestli by prošla druhá.<br><br>Jak nastavit správný poměr testů Nejprve si definujte, co je pro vaši aplikaci kritické. Například pokud máte platební bránu, integrační test na zpracování platby bude důležitější než test formátování telefonního čísla. Pro běžné doménové služby použijte jednotkové testy s mockovanými závislostmi. Integrační testy si nechte na případy, kdy potřebujete ověřit, že databázová vrstva správně komunikuje s aplikační logikou, nebo že při restartu služby neproběhne něco neočekávaného. Doporučuji držet se poměru 70-80 % jednotkových testů, zbytek integračních.<br><br>Klíčové vlastnosti, které musíte prověřit před nasazením Zaměřte se na podporu konfiguračních souborů, které lze verzovat a automaticky sdílet. Ideálně by mělo jít o textové soubory, které jsou čitelné a snadno slučovatelné. Vyhněte se nástrojům, které generují binární nebo jinak nepřehledné konfigurace. Dále prověřte, jakým způsobem IDE řeší import a export nastavení. Ideální je, když lze nastavení načíst z repozitáře automaticky při otevření projektu, bez nutnosti ručního zásahu. To výrazně snižuje riziko, že někdo použije zastaralou nebo odlišnou konfiguraci.<br><br>Na závěr: testy nejsou cíl, ale prostředek. Cílem je spolehlivý software, který lze bez obav měnit. Proto pravidelně revidujte svou testovací sadu a ptejte se, zda každý test přináší hodnotu. Pokud ne, smažte jej. To je někdy těžké, ale je to nezbytné pro dlouhodobou udržitelnost projektu.<br><br>Základním stavebním kamenem je role produktového vlastníka. V českých týmech se často stává, že tuto roli převezme manažer nebo technický lead, ale to je cesta do pekel. Produktový vlastník musí mít čas na komunikaci se zákazníky, musí umět říkat ne a musí rozumět byznys hodnotě jednotlivých funkcí. Pokud tuto roli nikdo neobsadí na plný úvazek, sprinty se promění v nekonečné diskuse o tom, co je důležitější. Typická chyba? Backlog je neuspořádaný, položky nemají jasnou prioritu a tým si vybírá, co se mu zrovna líbí.
Summary:
Please note that all contributions to IT-Core are considered to be released under the GNU Free Documentation License 1.3 or later (see
IT-Core:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Tools
What links here
Related changes
Page information