Опиши пример бага, который ты заводил (создавал) в баг-трекере.

«Опиши пример бага, который ты заводил (создавал) в баг-трекере.» — вопрос из категории Практические задания, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Заголовок бага: [Мобильное приложение] Некорректное сохранение номера квартиры при выборе адреса через автозаполнение Google Places API.

Шаги воспроизведения:

  1. Открыть экран оформления заказа в приложении доставки еды.
  2. В поле "Адрес" начать вводить "ул. Ленина, 10".
  3. Выбрать подсказку из выпадающего списка (Google Places API).
  4. Нажать "Подтвердить адрес".
  5. Перейти к подтверждению заказа.

Фактический результат: В итоговом заказе адрес отображается как "ул. Ленина, 1, кв 0".

Ожидаемый результат: Адрес должен сохраняться точно как выбранный пользователем, например, "ул. Ленина, 10".

Причина: Ошибка в функции парсинга структурированного ответа от Google Places API. Код неправильно извлекал номер дома и номер квартиры из массива address_components.

Код с ошибкой:

// Функция парсинга адреса (упрощенно)
function parseGoogleAddress(components) {
    let streetNumber = '';
    let apartment = '';

    for (let comp of components) {
        if (comp.types.includes('street_number')) {
            streetNumber = comp.longText; // Ошибка: 'longText' не существует
        }
        if (comp.types.includes('subpremise')) {
            apartment = `кв ${comp.shortText}`;
        }
    }
    // Опасная конкатенация: если streetNumber = "10", apartment = "", результат "10"
    // Но если streetNumber = "", apartment = "", результат "1" из-за дефолтного значения
    return `ул. Ленина, ${streetNumber || '1'}, ${apartment || 'кв 0'}`;
}

Доказательства:

  1. Скриншот экрана с ошибкой.
  2. Лог ответа от API в формате JSON, приложенный к багу.

Серьезность (Severity): Major (приводит к доставке не по тому адресу).

Приоритет (Priority): High.

Предложенное исправление:

  1. Использовать корректные свойства объекта (comp.long_name).
  2. Убрать подстановку дефолтных значений "1" и "кв 0".
  3. Добавить валидацию: если номер дома не распознан, запросить у пользователя ввод вручную.

Среда: iOS/Android, версия приложения 2.5.1.