Разбор ситуационных вопросов
Дудник Н.В.
Ссылки на ресурсы:

by Nadin

План вебинара
1
О себе
Краткое представление ведущего вебинара
2
Разбор вопросов
Подробное описание и получение ответа
3
Дополнительная литература
Обзор рекомендуемых источников для дальнейшего изучения
4
Ваши вопросы
Время для ответов на вопросы участников
О себе
1
Образование
Высшее образование - ОмГУ Ф.М. Достоевского, Физический факультет
2
Преподавательский опыт
6 лет была преподавателем по физике - с 2009-2015гг.
3
Опыт в тестировании
9 лет в тестировании - старт июнь, 2015г.
4
Текущая позиция
Сейчас Главный инженер по тестированию в Сбере (платформа ЕФС)
Проекты: Luxoft (Boeing, DHL, Drawback); Wiley (Wiley Online Library)
Веду блог по тестированию Protestinginfo, нравится собирать информацию по тестированию и делиться знаниями с людьми
Задания и вопросы на собесах
Самый главный файл с вопросами, который разбираю в соцсетях.
Документ с вопросами
Подробный список вопросов для подготовки к собеседованиям
Разбор в соцсетях
Обсуждение вопросов и ответов в социальных сетях
Подготовка к собеседованию
Использование материалов для успешного прохождения интервью
Разбор стандартного вопроса
Представьте, что вы вводите правильный логин и неправильный пароль в форму и отправляете запрос на сервер. В ответ на запрос вы получаете сообщение об ошибке. Что это может означать и какие действия предпринимает сервер в таком случае для обработки ошибки?
Ответ на вопрос
Примерный ответ на вопрос (просто рассуждения):
В данной ситуации сервер обрабатывает запрос и возвращает ошибку, поскольку комбинация логина и пароля не соответствует зарегистрированным данным. Ошибка может быть связана с тем, что предоставленный пароль некорректен для указанного логина. Сервер отвечает ошибкой, что может быть представлено в виде статуса 401 Unauthorized или 400 Bad Request или 412 Precondition Failed, в зависимости от реализации и спецификаций API.
1
Валидация данных
Сервер проверяет, соответствуют ли предоставленные логин и пароль учетным записям в базе данных.
2
Обработка ошибки
Поскольку пароль неправильный, сервер возвращает сообщение об ошибке, чтобы уведомить клиента о том, что аутентификация не удалась.
3
Ответ с ошибкой
Сервер отправляет ответ с соответствующим кодом ошибки.
Разбор 1-го вопроса
Вы тестируете методом черного ящика. Разработчик реализовал два разных метода сортировки (пузырьком и перемешиванием). Сортировка по возрастанию.
Чем будут отличаться тест-кейсы для проверки?
Сравнение методов сортировки
Пузырьковая сортировка
Обход массива от начала до конца, обмен соседних неотсортированных элементов. Максимальный элемент "всплывает" на последнее место за один проход.
Шейкерная сортировка
Начинается как пузырьковая, но после первого прохода разворачивается и идет в обратную сторону, перемещая минимум в начало. Процесс повторяется, пока не достигнет середины списка.
Ответ на 1-й вопрос
Примерный ответ на вопрос (просто рассуждения):
Метод черного ящика — это когда мы не знаем, как именно работает алгоритм внутри, и тестируем программу только снаружи, на входных и выходных данных. Нас интересует только результат.
Основная цель тестирования — проверить, правильно ли сортируется массив по возрастанию, независимо от того, какой алгоритм используется (пузырьковая сортировка или перемешивание).
Одинаковые тест-кейсы
Тест-кейсы будут одинаковыми для обоих методов, потому что мы проверяем не то, как сортировка работает внутри, а только конечный результат.
Разница в эффективности
Разница будет только в эффективности работы алгоритмов (например, скорость выполнения), но это не проверяется напрямую при тестировании методом черного ящика.
Примеры тест-кейсов
Пустой массив, массив из одного элемента, уже отсортированный массив, массив, отсортированный в обратном порядке, массив с одинаковыми элементами, случайный массив чисел.
Разбор 2-го вопроса
Предположим, что вы заполнили форму заказа на маркетплейсе. В форме нужно указать имя, выбрать товар, дату и время доставки. После отправки формы заказ успешно создается, но при проверке в личном кабинете оказывается, что доставка назначена на день раньше, чем вы выбрали. Опишите ваши дальнейшие действия для поиска и устранения этой проблемы
Ответ на 2-й вопрос
Примерный ответ на вопрос (просто рассуждения):
1
Проверка формы
Проверить, что выбранная вами дата доставки действительно отображается правильно до отправки формы.
2
Анализ передачи данных
Убедиться, что дата и время, выбранные в форме, корректно передаются на сервер. Использовать инструменты разработчика в браузере, например вкладку "Network".
3
Проверка форматов дат
Проверить обработку временных зон и форматов дат на фронтенде и бэкенде.
Ошибки могут быть связаны с форматами дат (например, ISO-форматы или различие между локальным временем и UTC). Проверить, как фронтенд и бэкенд обрабатывают временные зоны: возможно, фронтенд отправляет локальное время клиента, а сервер или база данных интерпретируют его как UTC, что приводит к смещению на один день.
4
Изучение логов
Изучить логи сервера для выявления возможных ошибок при обработке данных. В логах можно будет увидеть, какие данные сервер получил от клиента, как они были преобразованы и записаны. Если время или дата изменились на сервере, это станет заметно в логах.
5
Проверка базы данных
Проверить корректность сохранения данных в базе данных (например, из-за округления времени, неправильной обработки часовых поясов или стандартных значений по умолчанию).
Разбор 3-го вопроса
Представьте, что вы тестируете сервис, который на вход принимает JSON с данными для бонусной системы. В JSON есть обязательные поля (например, CardId и Id должны быть числовыми и больше 0, поля с именами могут содержать только кириллицу без спецсимволов), а также необязательные поля (например, BonusCard, которое не должно содержать спецсимволы). Опишите тестовые сценарии для проверки различных вариантов заполнения полей, возможных ошибок и успешных кейсов.
Представьте, что у вас есть сервис, который принимает на вход JSON следующего вида:
Ожидания от сервиса:
  • Обязательные поля:
  • CardId: тип byte, значение должно быть больше 0.
  • Id: тип int, значение должно быть больше 0.
  • LastName, FirstName, MiddleName: тип String, допустима только кириллица, запрещены спецсимволы и пробелы. Максимальная длина каждого поля — 50 символов.
  • Необязательные поля:
  • Description: тип String, запрещены спецсимволы и пробелы, максимальная длина — 255 символов.
  • BonusCard: тип int, значение должно быть больше 0.
Ответ на 3-й вопрос
Примерный ответ на вопрос (просто рассуждения): + Чек-лист API
Разбор 4-го вопроса
Когда загружаешь аватар, он сразу отображается, но после перезагрузки страницы исчезает. В чем может быть причина?
Ответ на 4-й вопрос
Примерный ответ на вопрос (просто рассуждения):
Проблемы с сохранением
  • Аватар мог не сохраниться на сервере корректно
  • Ссылка на файл могла не обновиться в базе данныхи, и при перезагрузке система не может найти нужный файл для отображения.
  • Возможны ошибки при записи файла на сервер
Проблемы с кэшированием
  • Браузер мог кэшировать старую версию страницы без обновленного аватара, и после перезагрузки показывает закэшированные данные вместо новых.
  • Возможно, сервер выдает закэшированную страницу без новой версии аватара.
Технические проблемы
  • Возможно, аватар загружен правильно, но путь к файлу неверный, и при повторной загрузке страницы аватар не отображается.
  • Если сервер не имеет нужных прав для доступа к сохраненным файлам, это также может вызвать проблему с загрузкой изображения.
Через JavaScript
  • Загружается локально в браузере, но не отправляется на сервер. После перезагрузки страница уже не знает о локально загруженном файле и не показывает его.
Дополнительная литература

Google Docs

Топ вопросов на собеседованиях.pdf

Google Docs

Полезности для учебы

Google Docs

К собесу

copy-of--7w8lyr6.gamma.site

Copy of Как создать успешное резюме и подготовиться к собесу

Ключевые аспекты эффективного резюме для старта карьеры в IT от Nadin_QA 📚 ProTestingInfo 🔷 Канал по тестированию 📚

Спасибо за внимание
Ваши вопросы
Оставьте свой отзыв, отметив меня в нельзяграм, линкедин
Свои вопросы пишите на @nadin_qa
Made with