← Wszystkie tematy

Pytania rekrutacyjne z testowania (Senior) z odpowiedziami

75 pytań na rozmowę rekrutacyjną z tematu Testowanie (Senior) - z poprawnymi odpowiedziami, wyjaśnieniami i linkami do dokumentacji.

Rozwiąż ten test
  1. 1.Jak zdecydować, na którym poziomie piramidy/trofeum umieścić test?
  2. 2.Dlaczego artykuł Google „Just Say No to More End-to-End Tests” ostrzega przed opieraniem się na E2E?
  3. 3.Czym jest „testing honeycomb” i gdzie się go stosuje?
  4. 4.Na czym opierają się „rozmiary testów” Google (small, medium, large)?
  5. 5.Dlaczego terminy „unit” i „integracyjny” są w dyskusjach często niejednoznaczne?
  6. 6.Czym różnią się testy jednostkowe solitary i sociable?
  7. 7.Jaka jest różnica między klasycznym a mockistycznym (szkoła londyńska) podejściem do TDD?
  8. 8.Co sugeruje zasada „don't mock what you don't own”?
  9. 9.Jaki sygnał wskazuje, że testy są zbyt związane z implementacją?
  10. 10.Jak uzasadnić zespołowi koszt nowego testu E2E?
  11. 11.Jakie miejsce zajmują testy kontraktowe między frontendem a jego API?
  12. 12.Co mierzy testowanie mutacyjne (np. Stryker)?
  13. 13.Czym jest testowanie oparte na właściwościach (property-based, np. fast-check)?
  14. 14.Dlaczego cele pokrycia mogą zaszkodzić, gdy stają się KPI?
  15. 15.Jaka jest główna wartość TDD na poziomie senior, poza „posiadaniem testów”?
  16. 16.Jakie są główne źródła niedeterminizmu w testach według Fowlera?
  17. 17.Test przechodzi osobno, ale pada, gdy uruchamia się cały plik. Jaka jest prawdopodobna przyczyna?
  18. 18.Dlaczego automatyczne ponowienia w CI bez monitorowania są niebezpieczne?
  19. 19.Jak działa sharding Playwright w CI?
  20. 20.Czym różnią się workery i shardy w Playwright?
  21. 21.Jak zorganizować dane testowe dla testów E2E działających równolegle na wspólnym środowisku?
  22. 22.Jaka kolejność sprawdzeń daje najszybszą informację zwrotną w pipeline'ie CI?
  23. 23.Po co w CI uruchamiać testy z --ci (Jest) lub równoważnymi ustawieniami?
  24. 24.Dlaczego vi.mock musi być hoistowany i co z tego wynika?
  25. 25.Jak w każdym teście dostać świeżą kopię modułu ze stanem na poziomie modułu?
  26. 26.Jakie są główne ograniczenia jsdom w testach komponentów?
  27. 27.Czym happy-dom różni się od jsdom?
  28. 28.Jaki jest kompromis między pulami Vitest threads i forks?
  29. 29.Jaki problem rozwiązuje opcja Vitest projects (dawniej workspace)?
  30. 30.Co testuje expectTypeOf w Vitest?
  31. 31.Czym jest testowanie in-source w Vitest?
  32. 32.Czym jest kontekst testu w Vitest i do czego przydaje się w testach współbieżnych?
  33. 33.Dlaczego przy vi.useFakeTimers() może zawiesić się test, który czeka na promise z setTimeout w środku?
  34. 34.Co gwarantuje act() w testach Reacta?
  35. 35.Jak testować asynchroniczne React Server Components?
  36. 36.Jak pokryć testem jednostkowym Server Action w Next.js?
  37. 37.Jak przetestować komponent wewnątrz error boundary bez szumu w logach?
  38. 38.Jak przetestować komponent renderowany przez portal (modal)?
  39. 39.Kiedy lepiej testować własny hook przez renderHook niż przez komponent?
  40. 40.Jak przetestować Suspense z ładowaniem danych w teście komponentu?
  41. 41.Dlaczego mockowanie useState lub innych hooków Reacta to zły pomysł?
  42. 42.Jakie są granice sprawdzeń jest-axe/axe-core w jsdom?
  43. 43.Czym fixtures Playwright różnią się od hooków beforeEach?
  44. 44.Jak w Playwright wykonać uwierzytelnianie raz dla całego zestawu?
  45. 45.Co sprawia, że wizualne testy regresji (toHaveScreenshot) są niestabilne, i jak to ograniczyć?
  46. 46.Na co pozwala page.clock w Playwright?
  47. 47.Co sprawdza toMatchAriaSnapshot?
  48. 48.Jakie są kompromisy Page Object Model w testach Playwright?
  49. 49.Co robi expect.soft?
  50. 50.Co robi await expect(async () => { ... }).toPass()?
  51. 51.Jak uruchamiać testy E2E na nagranym ruchu API?
  52. 52.Co dodaje test.step w teście Playwright?
  53. 53.Dlaczego w testach E2E lepiej przygotowywać stan przez API niż przez UI?
  54. 54.Dlaczego komend Cypress nie można mieszać z async/await?
  55. 55.Dlaczego to sprawdzenie nie jest ponawiane i jak to naprawić?
  56. 56.Jaki problem rozwiązuje cy.origin()?
  57. 57.Kiedy Cypress może być lepszym wyborem niż Playwright?
  58. 58.Czym mock różni się od fake'a?
  59. 59.Kiedy weryfikacja interakcji (że mock został wywołany) jest właściwą asercją?
  60. 60.Dlaczego wstrzykiwanie zależności (DI) pomaga w testowalności?
  61. 61.Jak handlery MSW pomagają poza testami jednostkowymi?
  62. 62.Jakie jest ryzyko rozjechania się handlerów MSW z prawdziwym API?
  63. 63.Jak zamockować konstruktor klasy w Vitest/Jest?
  64. 64.Co dają testy interakcji w Storybooku?
  65. 65.W czym dobre jest wizualne testowanie komponentów (np. Storybook + Chromatic)?
  66. 66.Jak testować funkcję ukrytą za feature flagą?
  67. 67.Od czego zacząć testowanie dużego legacy frontendu bez testów?
  68. 68.Jak niezawodnie testować formatowanie daty/czasu dla różnych lokalizacji i stref czasowych?
  69. 69.Czego wymaga od kodu testów równoległość na poziomie testów?
  70. 70.Które podejście do test-id jest najłatwiejsze w utrzymaniu, gdy role i nazwy nie wystarczają?
  71. 71.Dlaczego senior może sprzeciwić się zestawowi testów złożonemu z samych toMatchSnapshot() dla komponentów?
  72. 72.Jakie jest główne ryzyko testowania wyłącznie przez data-testid?
  73. 73.Która metryka najlepiej pokazuje zespołowi kondycję zestawu testów?
  74. 74.Jak testy E2E mogą wyłapać błędy hydracji i inne błędy wykonania, które nie psują widocznego UI?
  75. 75.Co daje dużemu repozytorium vitest --changed (lub --changedSince w Jest) i jakie ma ograniczenie?