Zespół bez testów i rok długu
Dołączasz jako senior do zespołu, który przez rok nie pisał testów, bo „nie było czasu”. Każde wdrożenie kończy się poprawkami na produkcji. Masz 20% czasu zespołu na poprawę jakości.
Zanim rozwiniesz: powiedz na głos, jak byś to rozwiązał, i nazwij co najmniej jeden kompromis.
Moje rozwiązanie
Zapisuje się samo w tej przeglądarce. Kopię zrobisz na stronie Notatki.
Pokaż, czego szuka rekruter, i modelową odpowiedź
Co sprawdza rekruter
- Czy umiesz ustalić priorytety na podstawie ryzyka, a nie pokrycia
- Czy proponujesz strategię, którą zespół utrzyma
- Czy mierzysz efekt
Odpowiedź seniora
Nie zaczynam od celu pokrycia. Zaczynam od mapy ryzyka: które obszary psują się najczęściej (dane z incydentów i bugów) i które są najważniejsze dla biznesu (koszyk, płatność, logowanie). Tam najpierw idą testy, które dają najwięcej pewności: kilka testów E2E w Playwright dla krytycznych ścieżek jako siatka bezpieczeństwa i testy integracyjne komponentów z RTL i MSW.
Zasada od dziś: każdy naprawiany bug dostaje test, który go odtwarza, a nowy kod ma testy w tym samym PR. Do tego statyczna analiza (TypeScript strict, ESLint) jako najtańsza warstwa. Infrastruktura musi być przyjemna: szybki Vitest, gotowe helpery renderowania z providerami, fabryki danych testowych i handlery MSW, żeby pisanie testu zajmowało minuty.
Mierzę liczbę bugów z produkcji, czas naprawy i liczbę hotfixów, a nie samo pokrycie. Pokazuję zespołowi wyniki co miesiąc.
Typowe wpadki
- Cel „80% pokrycia w kwartał”
- Pisanie testów do istniejącego kodu losowo, plik po pliku
- Wprowadzenie ciężkiej infrastruktury, której nikt nie lubi używać
Dopytają o
- Jak przekonasz produkt, że to się opłaca?
- Co zrobisz z kodem, którego nie da się przetestować bez refaktoru?
- Kiedy test E2E, a kiedy integracyjny?