“Nie da się tak po prostu zautomatyzować wszystkiego.” — każdy sfrustrowany QA, kiedykolwiek
Sytuacja: mamy aplikację webową (App A), mamy desktopową (App B), obie korzystają z jednego API. Brzmi jak plan? Tylko na papierze. W praktyce QA dostaje zapaści przy pisaniu strategii testów.
🤯 Kluczowe pytanie
Jeden z architektów rzucił ostatnio zagwozdkę:
„Jak zapewnić odpowiednie pokrycie testami między webem a desktopem?”
W tłumaczeniu QA-owym:
“Jak przetestować dwa fronty na różnych technologiach, z tym samym backendem, bez zasobów i bez łez?”
Odpowiedź? Ostrożnie jak cholera.
🚧 Zderzenie z rzeczywistością
Automatyzacja desktopu to jak nauka tostera całek. Niby się da, z pywinauto, siekierą i modlitwą, ale czy to ma sens?
Prawda jest taka:
- Automatyzacja desktopu to krucha sprawa,
- CI/CD jej nie lubi,
- A Electron potrafi zawiesić się tak cicho, że nawet logi się go boją.
🔧 Jak nie zwariować
Rozsądny układ sił:
- 🧪 Web (App A) – pełna automatyzacja UI
- 🔄 API – testy kontraktowe i walidacja danych
- 🧍 Desktop (App B) – testy manualne + sanity + eksploracja
API to twoja kotwica. Traktuj je jak wspólny punkt kontrolny między aplikacjami.
✅ API = źródło prawdy
Jeśli:
- App A coś zmienia przez API,
- App B to samo odczytuje poprawnie,
- a ty po drodze walidujesz payload…
To gratulacje – to też jest test E2E. Tylko taki bez bólu i przekleństw.
🧠 Bonus: dogadaj się z devami
Poproś o:
data-testid
w UI- debugowe endpointy
- spójne ID elementów
Ty im dajesz konkretne bugi, oni ci dają haki do automatyzacji. Wszyscy zadowoleni (w teorii).
TL;DR
Pełne E2E między webem a desktopem to bajka z jednorożcem. W prawdziwym życiu:
- Automatyzuj web (bo możesz),
- Testuj API (bo musisz),
- Testuj desktop ręcznie (bo trzeba),
- Dogaduj się z devami (bo bez nich dupa).
Brak magii. Tylko pragmatyzm, ryzyko i rozsądek.
Bądź sprytny. Testuj z głową. 🧠🔧 – Karol