Testování integrací před nasazením do provozu
Integrace, která funguje na jedné testovací objednávce, ještě nefunguje. Ukážeme, co testovat, na jakém prostředí a jak připravit scénáře, které odhalí chyby dřív než zákazník.
Většina integrací se testuje jednou objednávkou. Vývojář vytvoří testovací nákup, zkontroluje, že dorazil do ERP, a nasadí. Pak přijde první sobota s dvěma sty objednávkami, jedna z nich má slevový kupon na dopravu, druhá produkt bez EAN a třetí přijde dvakrát, protože se platební brána nedočkala odpovědi. A ERP je v pondělí plné chyb.
Integrace se nerozbíjí na šťastné cestě. Rozbíjí se na okrajových případech, výpadcích a duplicitách. V článku ukážeme, jak testujeme napojení e-shopu na ERP, platby, dopravce a dodavatele dřív, než ho uvidí zákazníci.
Proč integrace selhávají až v provozu
Testovací prostředí bývá čistší než realita. Má deset produktů se všemi vyplněnými poli, jednoho zákazníka a žádný souběh. V provozu je situace jiná:
- Data jsou špinavá. Produkty bez kódu, adresy s poznámkou v poli ulice, zahraniční PSČ, názvy s emoji.
- Věci se dějí současně. Dvě objednávky stejného posledního kusu, import skladu během nákupu.
- Partneři vypadávají. API dopravce neodpovídá, ERP je v noci v údržbě, platební brána pošle notifikaci s minutovým zpožděním.
- Zprávy chodí vícekrát. Platformy při chybě doručení webhook opakují, takže stejná událost může přijít dvakrát.
- Limity. Při zátěži integrace narazí na rate limit API a dostane odpověď 429.
Dobrý testovací plán proto neověřuje, že integrace funguje. Ověřuje, jak se chová, když nefunguje něco kolem ní.
Prostředí: kde testovat
Integraci nikdy nevyvíjíme a netestujeme proti ostrému e-shopu. Potřebujete prostředí, kde chyba nic nestojí. Možnosti se liší podle platformy (k 9/2026, podmínky ověřte u poskytovatele):
| Systém | Testovací možnost | Na co pamatovat |
|---|---|---|
| Shoptet | Testovací klon e-shopu na vyžádání, podle nápovědy na 30 dní za 1 000 Kč bez DPH (k 9/2026, aktuální ceník ověřte u Shoptetu); partneři mají testovací e-shop pro vývoj doplňků | Externí doplňky se do klonu nepřenášejí, objednávky jen na vyžádání |
| Shopify | Vývojové obchody (dev stores) s možností vygenerovat testovací data | Objednávky jen přes testovací bránu nebo testovací režim platebního poskytovatele |
| WooCommerce a vlastní řešení | Vlastní staging, kopie produkční databáze | Anonymizujte osobní údaje zákazníků, vypněte odesílání e-mailů |
| GoPay | Samostatné testovací prostředí s testovacími kartami | Některé metody, například Apple Pay, nejde simulovat |
| Stripe | Testovací režim, Stripe CLI pro přeposílání a simulaci webhooků | Testovací a ostré klíče se liší, hlídejte, které jsou nasazené |
Pokud ERP nebo dopravce testovací prostředí nemá, domluvte se aspoň na testovací firmě nebo účtu, případně si odpovědi partnera nasimulujte. Proč mít staging vždy, rozebíráme v článku Testovací prostředí (staging): proč ho mít vždy.
Testovací data: realita, ne vzorníček
Deset hezkých produktů nic neodhalí. Testovací data připravujeme tak, aby obsahovala případy, které v provozu opravdu nastávají:
- produkty s variantami, bez EAN, s nulovou cenou, s dlouhým názvem,
- zákazníky se zahraniční adresou, firmou a DIČ, bez telefonu,
- objednávky se slevovým kódem, dárkem, dopravou zdarma, dobírkou, více sazbami DPH,
- storna, částečné vratky, změny objednávky po zaplacení,
- diakritiku a speciální znaky ve všech textových polích.
Ideální základ je anonymizovaný vzorek skutečných dat. Osobní údaje zákazníků na testovací prostředí v původní podobě nepatří.
Co testovat: scénáře krok za krokem
Pro každou integraci sepisujeme scénáře ve čtyřech skupinách:
- Šťastná cesta. Běžná objednávka projde celým tokem: e-shop, platba, ERP, dopravce, faktura, e-mail zákazníkovi. Kontrolujeme každé pole, ne jen to, že záznam vznikl.
- Okrajové případy. Všechny varianty z testovacích dat výše. Sleva rozpočítaná do položek, zaokrouhlení, doprava zdarma, nulová položka.
- Chyby a výpadky. Partner vrátí chybu 500, neodpoví do časového limitu, vrátí 429. Integrace má chybu zalogovat, zkusit to znovu s odstupem a po několika pokusech upozornit člověka. Nesmí tiše zahodit data.
- Duplicity a pořadí. Stejný webhook doručený dvakrát. Webhook „zaplaceno“ dorazí dřív než „vytvořeno“. Import spuštěný dvakrát za sebou. Výsledek musí být pořád stejný, tedy integrace musí být idempotentní.
K tomu patří test zátěže. Pošlete do integrace tolik objednávek, kolik čekáte v nejsilnější den roku, a sledujte, jestli nenarazí na limity REST API partnera. U Shoptetu je například limit 3 souběžných spojení na token (k 9/2026), takže paralelní zpracování musí být omezené.
Typy testů a kdo je dělá
| Typ testu | Co ověřuje | Kdo a kdy |
|---|---|---|
| Jednotkové testy | Převodní logiku: mapování polí, výpočty DPH a slev | Vývojář, automaticky při každé změně |
| Kontraktové testy | Že odpověď partnera má očekávaný tvar | Vývojář, automaticky, i proti uloženým vzorům odpovědí |
| Integrační testy | Celý tok mezi systémy na testovacím prostředí | Vývojář a tester před nasazením |
| Akceptační testy | Že výsledek sedí na procesy firmy | Lidé z e-shopu: sklad, účetní, zákaznická podpora |
| Smoke test po nasazení | Že vše běží v provozu | Po každém nasazení, jedna skutečná objednávka |
Akceptační testy se často vynechávají, a je to chyba. Vývojář pozná, že faktura vznikla. Účetní pozná, že má špatnou řadu nebo středisko. Automatické testy patří do procesu nasazování, víc v článku CI/CD pro e-shop.
Nasazení: postupně a s cestou zpět
I dobře otestovaná integrace se nasazuje opatrně:
- Mimo špičku. Ne v pátek odpoledne a ne před Black Friday.
- Postupně. Nejdřív souběh se starým řešením nebo jen část objednávek, pak vše.
- S plánem návratu. Víte, jak integraci vypnout a vrátit starý stav, a kdo to udělá.
- S kontrolou po nasazení. Jedna skutečná objednávka se skutečnou platbou malou částkou a skutečnou zásilkou.
- S monitoringem od prvního dne. Chyby, fronty, počty zpracovaných záznamů. Víc v článku Monitoring integrací.
První týden po nasazení kontrolujte denně, jestli počty objednávek v e-shopu a v ERP sedí. Rozdíl i o jednu objednávku je signál, že některý scénář chybí.
Jak na to prakticky
Checklist před nasazením integrace do provozu:
- Běží integrace na testovacím prostředí, ne proti ostrým datům?
- Obsahují testovací data okrajové případy z vašeho reálného provozu?
- Otestovali jste výpadek partnera, chybu 500, timeout a 429?
- Je zpracování odolné proti duplicitním zprávám a jinému pořadí?
- Prošli jste zátěžový test na úrovni nejsilnějšího dne?
- Odsouhlasili výsledek lidé ze skladu a účetnictví?
- Máte plán návratu a monitoring od prvního dne?
- Jsou v provozu nasazené ostré klíče a v testu testovací, ne obráceně?
Pokud chystáte nové napojení nebo vám stávající integrace občas „něco ztratí“, ozvěte se. Při stavbě integrací testovací scénáře, testovací prostředí a monitoring připravujeme jako součást zakázky a u existujících napojení doplníme testy a opravy v rámci programování na míru. Rozsah a cenu připravíme po konzultaci.
Potřebujete s tím pomoct?