← Усі теми

Питання на співбесіді з тестування (Junior) з відповідями

78 запитань для співбесіди з теми Тестування (Junior) - з правильними відповідями, поясненнями й посиланнями на документацію.

Пройти цей тест
  1. 1.Яка головна мета автоматичних тестів?
  2. 2.Що перевіряє unit-тест?
  3. 3.Що перевіряє інтеграційний тест?
  4. 4.Що таке end-to-end (E2E) тест?
  5. 5.Що рекомендує класична піраміда тестів?
  6. 6.На що робить основний наголос «testing trophy» Кента Доддса?
  7. 7.Який шар testing trophy ловить друкарські помилки й неправильні типи ще до запуску тестів?
  8. 8.Що таке регресія?
  9. 9.Що описує патерн Arrange–Act–Assert (AAA)?
  10. 10.Що має перевіряти тест - поведінку чи деталі реалізації?
  11. 11.Що вимірює покриття коду тестами (coverage)?
  12. 12.Чи є 100% покриття гарною метою саме по собі?
  13. 13.Що таке Jest і Vitest?
  14. 14.Які файли Jest за замовчуванням вважає тестами?
  15. 15.Що роблять describe і it (test)?
  16. 16.Чим відрізняються toBe і toEqual?
  17. 17.Чим toStrictEqual відрізняється від toEqual?
  18. 18.Чому ця перевірка падає і як її виправити?
  19. 19.Як перевірити, що функція кидає помилку?
  20. 20.Що робить .not у expect(value).not.toBeNull()?
  21. 21.Який матчер перевіряє, що масив містить елемент?
  22. 22.Для чого потрібен beforeEach?
  23. 23.Що роблять it.only і it.skip?
  24. 24.Як протестувати асинхронну функцію, що повертає проміс?
  25. 25.Як перевірити, що проміс відхиляється?
  26. 26.Що робить режим спостереження (vitest / jest --watch)?
  27. 27.Чому корисно, щоб кожен тест був незалежним?
  28. 28.Яка назва тесту хороша?
  29. 29.У якому середовищі зазвичай запускаються тести компонентів у Jest/Vitest?
  30. 30.Що таке мок у тестуванні?
  31. 31.Що створює jest.fn() / vi.fn()?
  32. 32.Як перевірити, що колбек викликали з певними аргументами?
  33. 33.Як змусити мок повернути значення?
  34. 34.Що робить jest.spyOn(obj, "method") / vi.spyOn?
  35. 35.Що таке stub (заглушка)?
  36. 36.Навіщо мокати мережеві запити в unit- та інтеграційних тестах?
  37. 37.Що таке MSW (Mock Service Worker)?
  38. 38.Що робить mockClear() (або vi.clearAllMocks())?
  39. 39.Чим небезпечно мокати занадто багато?
  40. 40.Як зробити детермінованим тест, що використовує Math.random()?
  41. 41.Який головний принцип Testing Library?
  42. 42.Що робить render з React Testing Library?
  43. 43.Навіщо використовувати screen замість запитів, які повертає render?
  44. 44.Який запит Testing Library рекомендує насамперед?
  45. 45.Як знайти кнопку «Save»?
  46. 46.Чим відрізняються getBy, queryBy і findBy?
  47. 47.Як перевірити, що елемента НЕМАЄ на сторінці?
  48. 48.Яким запитом шукати елемент, що з'являється після завантаження даних?
  49. 49.Звідки беруться матчери toBeInTheDocument, toBeVisible і toHaveValue?
  50. 50.Чим краще імітувати дії користувача: fireEvent чи user-event?
  51. 51.Як ввести текст у поле за допомогою user-event v14?
  52. 52.Як знайти поле введення за його підписом?
  53. 53.Коли доречний getByTestId?
  54. 54.Що не так із цим тестом?
  55. 55.Як перевірити результат натискання кнопки лічильника?
  56. 56.Що робить screen.debug()?
  57. 57.Що перевіряє toHaveBeenCalledTimes для колбек-пропа після кліку?
  58. 58.Що робить snapshot-тест?
  59. 59.Чому запити Testing Library за роллю заразом покращують доступність?
  60. 60.Для чого використовують Playwright і Cypress?
  61. 61.У яких браузерах Playwright може запускати тести?
  62. 62.Як у Playwright рекомендують шукати кнопку?
  63. 63.Чи потрібен у Playwright sleep/waitForTimeout перед кліком?
  64. 64.Що робить await expect(page.getByText("Saved")).toBeVisible() у Playwright?
  65. 65.Що означає headless-режим?
  66. 66.Як у Cypress знайти елемент за спеціальним тестовим атрибутом?
  67. 67.Чому E2E-тестів має бути небагато й лише на ключові сценарії?
  68. 68.Що таке flaky-тест?
  69. 69.Що робить playwright codegen?
  70. 70.Що таке TDD (розробка через тестування)?
  71. 71.Де тести зазвичай запускаються автоматично?
  72. 72.Що з цього найкращий кандидат для unit-тесту?
  73. 73.Що робить test.each / it.each?
  74. 74.Що в ідеалі має перевіряти один тест?
  75. 75.Чому цей тест не впіймає баг?
  76. 76.Що гарантує виклик expect.assertions(n)?
  77. 77.Де правильніше перевірити, що форма показує «Обов'язкове поле» під час порожнього надсилання?
  78. 78.Чому кастомний хук тестують через компонент (або renderHook), а не викликають напряму?