Питання на співбесіді з тестування API (Middle) з відповідями
75 запитань для співбесіди з теми Тестування API (Middle) - з правильними відповідями, поясненнями й посиланнями на документацію.
Пройти цей тест- 1.Навіщо з часом переносити API-перевірки з Postman у тести в коді?
- 2.Що дає SuperTest у проєкті на Node.js?
- 3.Що таке REST Assured?
- 4.Як перевірити тіло відповіді за JSON Schema в тестах на JavaScript?
- 5.Що ловить
additionalProperties: falseу схемі відповіді? - 6.Що таке контрактне тестування, кероване споживачем (consumer-driven)?
- 7.Що можуть зловити контрактні тести, чого не ловлять юніт-тести кожної сторони?
- 8.Коли контрактна перевірка на основі OpenAPI - добра альтернатива Pact?
- 9.Що надає WireMock?
- 10.Навіщо імітувати повільну залежність в API-тесті?
- 11.Чим відрізняються
502,503і504? - 12.Ендпоінт повертає
202 Accepted. Як має продовжити тест? - 13.Що таке ключ ідемпотентності для POST-запиту?
- 14.Як протестувати, що API безпечно обробляє подвійне клацання на «Оплатити»?
- 15.Від чого захищає
If-Matchз ETag? - 16.Що має повернути запит з
If-None-Matchі збіжним ETag? - 17.Навіщо перевіряти заголовки
Cache-Controlу відповідях API? - 18.Як протестувати ліміт 100 запитів на хвилину?
- 19.Яка відома проблема offset-пагінації на кшталт
?page=3? - 20.Що тестувати в cursor-пагінації?
- 21.Що таке mass assignment в API?
- 22.Що таке зламана авторизація на рівні функцій?
- 23.Як систематично тестувати авторизацію на рівні об'єктів?
- 24.Який тестовий ввід перевіряє SQL-ін'єкцію в параметрі пошуку?
- 25.Як має виглядати відповідь із помилкою для некоректного вводу?
- 26.Чому повідомлення про помилку бази даних у відповіді API - знахідка безпеки?
- 27.Чим допомагають correlation чи request ID у тестуванні API?
- 28.Хто отримує токен у потоці OAuth 2.0 client credentials?
- 29.Що тестувати в refresh-токенах?
- 30.Які перевірки JWT варто спробувати тестувальнику API?
- 31.Чому JWT може декодувати будь-хто, у кого він є?
- 32.Як тестувати завантаження файлів через
multipart/form-data? - 33.Що означає
413 Content Too Large? - 34.Яка зміна JSON-відповіді зазвичай зворотно сумісна?
- 35.Як тестувальнику перевірити застарівання (deprecation) API?
- 36.Що таке data-driven тестування в API-тестах?
- 37.Чому грошові суми часто передають рядками чи цілими числами в центах?
- 38.Що тест має перевіряти щодо часових поясів в API?
- 39.Як зробити API-тести незалежними одне від одного?
- 40.Яка поширена причина нестабільних API-тестів?
- 41.Що має перевіряти тест доставки вебхуків?
- 42.Навіщо перевіряти підпис вебхука?
- 43.Для чого обмеження глибини чи складності запитів GraphQL?
- 44.Чому introspection у GraphQL можуть вимикати в продакшені?
- 45.Що таке проблема N+1 в API?
- 46.Що особливого в тестуванні gRPC API?
- 47.Як API-тестам працювати зі значеннями під конкретне середовище?
- 48.Навіщо додавати в API-тести перевірки заголовків безпеки?
- 49.Як тестувати налаштування CORS в API?
- 50.Що робить
pm.response.to.have.jsonSchema(schema)у Postman? - 51.Чим корисні динамічні змінні Postman на кшталт
{{$guid}}? - 52.Як протестувати, що API перевіряє значення enum?
- 53.Навіщо перевіряти, що відповіді з помилками мають правильний
Content-Type? - 54.Яка користь від запуску API-тестів на preview-середовищі кожного pull request?
- 55.Як тестувати eventual consistency між двома сервісами після виклику API?
- 56.Що тестувати у фільтрах ендпоінта пошуку?
- 57.Що означає стиснення на кшталт
Content-Encoding: gzipдля API-тестів? - 58.Навіщо тестувати API старою версією клієнта після релізу?
- 59.Яка роль моків на кшталт MSW у фронтенд-тестах помилок API?
- 60.Що перевіряти, коли API повертає списки елементів?
- 61.Як тесту працювати зі значеннями, які генерує сервер, як-от ID і мітки часу?
- 62.Що робить фазинг API?
- 63.Що робить Schemathesis?
- 64.Як тестувати, що видалення батьківського ресурсу правильно обробляє дочірні?
- 65.Навіщо в звітах упалих API-тестів логувати повні запити й відповіді?
- 66.Яка головна цінність запуску smoke-колекції після кожного деплою?
- 67.Як тестувати поведінку API, коли залежність нижче повертає некоректний JSON?
- 68.Навіщо тестувати таймаути на боці клієнта інтеграції з API?
- 69.Що тестувати в повторах (retries) клієнта API?
- 70.Як тестувати поведінку API при відмові залежності, не ламаючи staging?
- 71.Чого вимагає від сервера
405 Method Not Allowed? - 72.Що означає
406 Not Acceptable? - 73.Навіщо перевіряти, що назви полів однакові, наприклад скрізь camelCase?
- 74.Як протестувати, що ендпоінт списку не показує м'яко видалені елементи?
- 75.Що
Retry-Afterу відповіді503повідомляє клієнтам?