V době moderního vývoje softwaru, agilních metodik, DevOpsu a tlaku na rychlé nasazování do produkce se bez automatizovaných testů neobejdeme. Nestačí však testy jen mít – musí být kvalitní, přehledné a hlavně udržovatelné, jinak se brzy stanou přítěží místo pomoci. V této přednášce si ukážeme, jak navrhovat a psát testy v Javě tak, aby dlouhodobě obstály – a to jak jednotkové, tak integrační. Zaměříme se na osvědčené přístupy, konkrétní příklady i časté chyby, které vedou k nečitelnému nebo křehkému testovacímu kódu. Součástí bude také důležitá oblast práce s testovacími daty – jak je navrhovat, kde je uchovávat, jak je znovu používat a kdy je naopak lepší je izolovat. Ukážeme si, jak testovací data ovlivňují čitelnost i robustnost testů a jak se vyhnout tomu, aby se stala zdrojem nestability (flakiness) nebo zbytečné složitosti. Dále si předvedeme, jak správně strukturovat testy, jak využívat názvy, testovací utility a jak přemýšlet o závislostech a izolaci. Nebude chybět ani zamyšlení nad tím, kdy má smysl test psát – a kdy raději ne. Pokud se chcete ve svém týmu vyhnout testům, kterých se všichni bojí dotknout, a naopak stavět testy, které vám skutečně pomáhají rozvíjet systém, tahle přednáška je právě pro vás.