Pytania rekrutacyjne z testowania (Junior) z odpowiedziami
78 pytań na rozmowę rekrutacyjną z tematu Testowanie (Junior) - z poprawnymi odpowiedziami, wyjaśnieniami i linkami do dokumentacji.
Rozwiąż ten test- 1.Jaki jest główny cel testów automatycznych?
- 2.Co sprawdza test jednostkowy (unit)?
- 3.Co sprawdza test integracyjny?
- 4.Czym jest test end-to-end (E2E)?
- 5.Co zaleca klasyczna piramida testów?
- 6.Na co kładzie największy nacisk „testing trophy” Kenta C. Doddsa?
- 7.Która warstwa testing trophy wyłapuje literówki i złe typy, zanim testy w ogóle ruszą?
- 8.Czym jest regresja?
- 9.Co opisuje wzorzec Arrange–Act–Assert (AAA)?
- 10.Co powinien sprawdzać test - zachowanie czy szczegóły implementacji?
- 11.Co mierzy pokrycie kodu testami (coverage)?
- 12.Czy 100% pokrycia to dobry cel sam w sobie?
- 13.Czym są Jest i Vitest?
- 14.Które pliki Jest domyślnie traktuje jako testy?
- 15.Co robią
describeiit(test)? - 16.Czym różnią się
toBeitoEqual? - 17.Czym
toStrictEqualróżni się odtoEqual? - 18.Dlaczego ta asercja pada i jak ją poprawić?
- 19.Jak sprawdzić, że funkcja rzuca błąd?
- 20.Co robi
.notwexpect(value).not.toBeNull()? - 21.Który matcher sprawdza, że tablica zawiera element?
- 22.Do czego służy
beforeEach? - 23.Co robią
it.onlyiit.skip? - 24.Jak przetestować asynchroniczną funkcję zwracającą promise?
- 25.Jak sprawdzić, że promise zostaje odrzucony?
- 26.Co robi tryb watch (
vitest/jest --watch)? - 27.Dlaczego warto, żeby każdy test był niezależny?
- 28.Jaka nazwa testu jest dobra?
- 29.W jakim środowisku zwykle uruchamia się testy komponentów w Jest/Vitest?
- 30.Czym jest mock w testowaniu?
- 31.Co tworzy
jest.fn()/vi.fn()? - 32.Jak sprawdzić, że callback został wywołany z konkretnymi argumentami?
- 33.Jak sprawić, żeby mock zwrócił wartość?
- 34.Co robi
jest.spyOn(obj, "method")/vi.spyOn? - 35.Czym jest stub (zaślepka)?
- 36.Po co mockować żądania sieciowe w testach jednostkowych i integracyjnych?
- 37.Czym jest MSW (Mock Service Worker)?
- 38.Co robi
mockClear()(lubvi.clearAllMocks())? - 39.Jakie jest ryzyko mockowania zbyt wielu rzeczy?
- 40.Jak uczynić deterministycznym test używający
Math.random()? - 41.Jaka jest główna zasada Testing Library?
- 42.Co robi
renderz React Testing Library? - 43.Dlaczego używać
screenzamiast zapytań zwracanych przezrender? - 44.Które zapytanie Testing Library zaleca w pierwszej kolejności?
- 45.Jak znaleźć przycisk „Save”?
- 46.Czym różnią się
getBy,queryByifindBy? - 47.Jak sprawdzić, że elementu NIE ma na stronie?
- 48.Jakim zapytaniem szukać elementu, który pojawia się po załadowaniu danych?
- 49.Skąd pochodzą matchery
toBeInTheDocument,toBeVisibleitoHaveValue? - 50.Czym lepiej symulować działania użytkownika:
fireEventczyuser-event? - 51.Jak wpisać tekst w pole za pomocą user-event v14?
- 52.Jak znaleźć pole po jego etykiecie?
- 53.Kiedy
getByTestIdjest odpowiedni? - 54.Co jest nie tak z tym testem?
- 55.Jak sprawdzić wynik kliknięcia przycisku licznika?
- 56.Co robi
screen.debug()? - 57.Co sprawdza
toHaveBeenCalledTimesdla propa-callbacku po kliknięciu? - 58.Co robi test snapshotowy?
- 59.Dlaczego zapytania Testing Library po roli przy okazji poprawiają dostępność?
- 60.Do czego służą Playwright i Cypress?
- 61.W jakich przeglądarkach Playwright może uruchamiać testy?
- 62.Jak w Playwright zaleca się szukać przycisku?
- 63.Czy w Playwright potrzebny jest
sleep/waitForTimeoutprzed kliknięciem? - 64.Co robi
await expect(page.getByText("Saved")).toBeVisible()w Playwright? - 65.Co oznacza tryb headless?
- 66.Jak w Cypress znaleźć element po specjalnym atrybucie testowym?
- 67.Dlaczego testów E2E powinno być niewiele i tylko dla kluczowych ścieżek?
- 68.Czym jest test flaky?
- 69.Co robi
playwright codegen? - 70.Czym jest TDD (test-driven development)?
- 71.Gdzie testy zwykle uruchamiają się automatycznie?
- 72.Co z tego jest najlepszym kandydatem na test jednostkowy?
- 73.Co robi
test.each/it.each? - 74.Co idealnie powinien sprawdzać jeden test?
- 75.Dlaczego ten test nie wyłapie błędu?
- 76.Co gwarantuje wywołanie
expect.assertions(n)? - 77.Gdzie najlepiej sprawdzić, że formularz pokazuje „Pole wymagane” przy pustym wysłaniu?
- 78.Dlaczego własny hook testuje się przez komponent (lub
renderHook), a nie wywołuje bezpośrednio?