Testování řízené vývojem s AI agenty

AI Test Driven Development TDD AI Agents

Co je TDD (Testování řízené vývojem)?

TDD je v jádru cyklický proces nazývaný Red-Green-Refactor. Cyklus začíná fází „Red“, kdy vývojář napíše automatizovaný testovací případ, který definuje požadovanou funkci nebo chování. Tento test je záměrně napsán tak, aby zpočátku selhal, protože odpovídající kód ještě neexistuje. Toto počáteční selhání je klíčové, protože zajišťuje, že test skutečně ověřuje zamýšlenou funkcionalitu a odhalí chyby, jakmile je kód implementován.

Následující fáze „Green“ spočívá v napsání minimálního množství kódu potřebného k tomu, aby předchozí selhávající test prošel. Tento princip vede vývojáře k tomu, aby se zaměřili na bezprostřední požadavek definovaný testem, udržovali čistou kódovou základnu a zabránili nadměrnému navrhování.

Nakonec se fáze „Refactor“ soustředí na zlepšování struktury, čitelnosti a udržovatelnosti jak testovacího, tak produkčního kódu, přičemž všechny existující testy nadále procházejí. Refaktorování zajišťuje, že kódová základna zůstává zdravá a přizpůsobitelná budoucím změnám bez zavádění regresí – stávající testovací sada slouží jako pojistka v této fázi.

Jak plně automatizovat TDD pipeline?

Na výkon AI agentů při programování má vliv mnoho faktorů. Od typu LLM modelu po to, jak strukturuje­te svůj kód a vývojový proces. Zjistili jsme, že TDD je efektivní s Windsurf a Claude 3.5 Sonnet. Následuje ukázka úkolu implementovaného pomocí TDD.

Co potřebujete?

Než začneme programovat, potřebujeme následující:

Dostatek testů

Ujistěte se, že již máte testy podle TDD a pokrývají většinu oblasti vašeho problému, kterou považujete za logickou a užitečnou pro AI agenta. Nemusíte nic měnit ani přizpůsobovat kvůli AI agentovi. Pokud jsou vaše testy a jejich pojmenování ve standardizovaném formátu, je to ještě lepší. AI agent tyto testy jako první uvidí a začne implementaci.

Zde je příklad testu, který ověřuje, zda byl dokument správně vložen do MongoDB:

MongoDB test example

Rozhraní (Interfaces)

Rozhraní v Javě (nebo v jiném programovacím jazyce) je struktura, která určuje, jak mají třídy vypadat a jaké metody mají implementovat. Pro ještě lepší navigaci AI agenta je vhodné vytvořit rozhraní pro váš repozitář pro vkládání dokumentů:

Java interface example
Java interface code

Konkrétní popis úkolu

Nakonec potřebujeme konkrétní zadání úkolu. Obvykle můžete využít JIRA nebo GitHub issues, kde úkol formulujete. Tady je náš příklad:

Task description screenshot

Začněte s Vibe Coding

Vibe coding znamená, že popíšete, co potřebujete, běžnou angličtinou (nebo dokonce hlasovými příkazy) a AI vám v reálném čase generuje kód. V tomto blogu se detailněji věnujeme Vibe Codingu. Zde je ukázka promptu, který jsem použil ve Windsurf pro splnění úkolu za mě:

Prompt example for Windsurf

Implementujte následující dotaz jako kombinaci jednoho nebo více pojmenovaných dotazů a Java kódu.

Najděte všechny řidiče, kteří dokončili alespoň X jízd s hodnocením nad 5 v daném časovém rozmezí a nikdy neobdrželi hodnocení pod 3 hvězdy.

Poznámka:
Nemusíte najít jeden jediný dotaz pro řešení tohoto úkolu (můžete použít kombinaci Java kódu a pojmenovaných dotazů), ale musíte dbát na výkon ORM, tj. zajistit, aby vaše řešení bylo dostatečně rychlé i při větším množství entit. Během diskuse byste měli být schopni vysvětlit, jaké problémy mohou nastat u špatně napsaných dotazů.

@Ass1_2_2Test.java#L35-60 to jsou příslušné testy. Implementováno v @DriverDAO.java#L34-63.

Zmiňování souborů je při vibe codingu nejdůležitější. Teď už jen sledujte, jak AI agent pracuje. Vytvořil třídu, spustil testy a opakoval kroky, dokud všechny testy neprošly:

AI Agent coding flow

Často kladené otázky

Yasha je talentovaný softwarový vývojář specializující se na Python, Javu a strojové učení. Yasha píše technické články o AI, inženýrství promptů a vývoji chatbotů.

Yasha Boroumand
Yasha Boroumand
CTO, FlowHunt

Zvyšte svůj vývoj pomocí AI agentů

Objevte, jak mohou AI flow inženýři a kódovací agenti FlowHuntu automatizovat váš vývojový proces pro maximální efektivitu a inovaci.

Zjistit více

Jak vytvořit vlastní tým AI agentů s AI Factory od FlowHunt
Jak vytvořit vlastní tým AI agentů s AI Factory od FlowHunt

Jak vytvořit vlastní tým AI agentů s AI Factory od FlowHunt

Naučte se, jak vytvořit autonomní AI agenty, kteří spolupracují na řešení složitých úkolů. Sestavte si systém živého přehledu akčních bodů za pár minut....

10 min čtení
AI Agents Automation +3
Jak nechat svůj web běžet sám pomocí AI
Jak nechat svůj web běžet sám pomocí AI

Jak nechat svůj web běžet sám pomocí AI

Zjistěte, jak vám AI agenti a vibe coding umožní stavět a provozovat weby s minimálním úsilím – od tvorby po údržbu.

7 min čtení
AI Website Automation +6