End-to-End (E2E) testování, česky "komplexní testování", je nejvyšší forma testování softwaru, která simuluje chování reálného uživatele a ověřuje funkčnost celé aplikace od začátku až do konce. Na rozdíl od unit a integračních testů, které se zaměřují na vnitřní fungování kódu, se E2E testy starají pouze o to, zda systém jako celek plní svůj účel z pohledu uživatele.
V praxi to znamená vytvoření automatizovaného scénáře, který napodobuje typickou uživatelskou cestu. Například pro e-shop by takový test mohl vypadat takto: "Otevři prohlížeč, jdi na domovskou stránku, vyhledej produkt 'X', vlož ho do košíku, přejdi k pokladně, vyplň doručovací údaje, zaplať testovací kartou a ověř, že se na konci zobrazí stránka s poděkováním za objednávku." Test nezajímá, jak to na pozadí funguje, ale pouze jestli to funguje.
E2E testy jsou neocenitelné pro ověření klíčových byznysových procesů. Dokáží odhalit problémy, které by jiné typy testů nikdy nenašly – například chybu v souhře mezi frontendovou aplikací, backendovým API a databází. Ačkoliv jsou náročnější na vytvoření a údržbu a jejich běh je pomalejší, představují finální záchrannou síť, která dává týmu i klientovi maximální možnou jistotu, že aplikace je připravena pro reálný provoz a že uživatelé nebudou narážet na kritické chyby v nejdůležitějších částech systému.