Співбесіда
Частина співбесіди на позицію QA Engineer з нахилом на тестування мобільних додатків
Інтерв’юер: … Розкажіть про ваш досвід тестування мобільних додатків.
Кандидат: Здрастуйте! У мене досвід роботи з тестуванням мобільних додатків для Android та iOS. Я займався функціональним, регресійним, крос-браузерним та юзабіліті-тестуванням. Також аналізував логи через ADB та Xcode, перевіряв мережеві запити за допомогою Charles Proxy та проводив перевірки на різних версіях ОС та пристроях.
Інтерв’юер: Чудово. Опишіть ваш підхід до функціонального тестування мобільної програми.
Кандидат:
Спочатку я вивчаю вимоги та специфікацію, щоб зрозуміти функціонал програми.
Потім складаю тест-кейси та чек-листи, включаючи позитивні та негативні сценарії.
Виконую тестування на реальних пристроях та емуляторах. Перевіряю взаємодію користувача з елементами інтерфейсу, такі як кнопки, поля введення, меню.
Також звертаю увагу на поведінку програми за різних умов: відсутність інтернету, повільне з’єднання, вхідні дзвінки або сповіщення.
Інтерв’юер: А як ви тестуєте мобільний додаток на різних пристроях та версіях ОС?
Кандидат:
Я складаю матрицю сумісності, в якій враховую:
Різні версії ОС (наприклад, Android 10, 12, 14 чи iOS 17, 18).
Пристрої з різною роздільною здатністю екрану та продуктивністю.
Потім проводжу тестування на реальних пристроях та емуляторах. Особливу увагу приділяю адаптивності інтерфейсу, швидкості завантаження, коректності відображення елементів та роботі функціоналу.
Інтерв’юер: Розкажіть, як ви тестуєте запити мережі в мобільних додатках.
Кандидат:
Для тестування мережевих запитів я використовую Charles Proxy:
Налаштовую пристрій для роботи через проксі, щоб перехоплювати запити мережі.
Аналізую запити: перевіряю URL, параметри, заголовки, тіло запиту та відповіді сервера.
Перевіряю статус-коди (200, 404, 500 і т. д.) та час відгуку.
Симулюю нестабільні умови мережі, використовуючи throttling, щоб побачити, як програма реагує на повільне або перерване з’єднання.
Інтерв’юер: А як ви перевіряєте push-сповіщення?
Кандидат:
Переконаюся, що програма має дозвіл на отримання повідомлень.
Перевіряю отримання повідомлень при різних станах програми: відкритий, згорнутий, закритий.
Тестую вміст повідомлень: текст, іконки, дії натискання.
Аналізую коректність переходів після натискання повідомлення.
Також тестую повідомлення за обмежених умов, наприклад, у режимі енергозбереження або при відключеному інтернеті.
Інтерв’юер: Як ви тестуєте поведінку програми під час оновлення?
Кандидат:
Встановлюю поточну версію програми, проводжу базові перевірки.
Виконую оновлення до нової версії через App Store або Google Play.
Перевіряю, що дані користувача, такі як авторизація та налаштування, зберігаються.
Тестую міграцію даних, якщо вона вказана у релізних нотатках.
Проводжу smoke-тестування ключових функцій програми.
Інтерв’юер: Які тести ви проводите для перевірки продуктивності мобільного додатку?
Кандидат:
Перевіряю час запуску програми на різних пристроях.
Аналізую плавність роботи інтерфейсу, перевіряючи, чи немає затримок чи лагів під час переходу між екранами.
Проводжу стрес-тести: наприклад, багаторазове введення даних або перемикання між функціями.
Тестую роботу програми при високому рівні навантаження на пристрій, запускаючи його разом з іншими програмами.
Перевіряю використання батареї, пам’яті та мережі в реальних умовах.
Інтерв’юер: Допустимо, програма вилітає за певної дії. Як ви досліджуватимете проблему?
Кандидат:
Відтворю проблему, записуючи кроки та оточення: пристрій, версія ОС, версія програми.
Перевірю логи пристрою через ADB (adb logcat) для Android або Xcode для iOS, щоб знайти помилку.
Перевірю, чи не пов’язана проблема з API, проаналізувавши запити через Charles Proxy.
Якщо проблема відтворюється лише на певних пристроях, випробую схожі моделі, щоб уточнити оточення.
Напишу докладний баг-репорт із логами, скріншотами та кроками відтворення.
Інтерв’юер: Як ви тестуєте роботу програми в умовах поганого інтернету?
Кандидат:
Використовую інструменти для симуляції поганого з’єднання: режим airplane, увімкнення/вимкнення Wi-Fi, зниження швидкості через Charles Proxy або Developer Tools.
Перевіряю, як додаток реагує на обрив з’єднання: відображає повідомлення чи зависає.
Тестую повторне підключення після відновлення мережі.
Аналізую поведінку програми під час завантаження даних або надсилання запитів під час нестабільного інтернету.




























