Trial-and-error (také známý v literatuře informatiky jako „model generování a testování“) je metoda řešení problémů založená na zkušenostech bez explicitního využití vhledu nebo budování teorie.
Jednoduše řečeno, člověk vybere možnou odpověď, aplikuje ji na daný problém, a pokud není úspěšná, vygeneruje další možnost, která je následně vyzkoušena. Tento přístup je nejúspěšnější u jednoduchých problémů a ve hrách a často se k němu uchyluje, když neplatí žádné zdánlivé pravidlo. To neznamená, že přístup musí být neopatrný k jednotlivci může být metodický při manipulaci s proměnnými ve snaze třídit možnosti, které mohou vyústit v úspěch. Tuto metodu však často používají lidé, kteří mají v problematické oblasti malé znalosti.
Tento přístup lze považovat za jeden ze dvou základních přístupů k řešení problémů a kontrastuje s přístupem využívajícím vhled a teorii.