пятница, 7 апреля 2017 г.

История одного бага

Краткое введение.

Не так давно запустили новый интернет магазин покупки продуктов. Проект писался с нуля. Не практически с нуля, а именно с нуля. Набрали отдел аналитиков, тестировщиков и программистов. Вроде что тут такого интернет магазин? Их очень много. Нет их просто до до сраки много в интернете. Но данный проект отличался некоторыми сложностями. Например, помимо витрины магазина (несмотря на то, что я давно работаю в тестировании слово витрина для меня было новое, и поэтому для таких как я - витрина это то, что видит конечный пользователь) необходимо было сделать бек офис, систему склада, приложение для терминала курьера и еще кучу софта для персонала. Всего порядка 5 систем. Было много разнообразных дефектов. Но самый интересный я опишу ниже.

Непонятный дефект

Для начала мы решили запустится на очень узкую аудиторию, а конкретнее только внутри компании. Компания большая. В нашей столице более 2000 человек. Отестировали, выкатили. С учетом того, что у нас было всего 3 тестировщика (напоминаю, всего 5 систем)  до идеала было далеко. Сама история...

День 1

В 22:37 получаю письмо от технического директора, что кнопка "положить в корзину" не работает. Звучит довольно странно... Данный функционал покрыт тестами. Вручную проверялся неоднократно. Проверяю вручную еще раз. Все работает!!! С учетом того, что проект был на старте, фиксов довольно много просим почистить кэш и на этом успокаиваемся.
На утро  он проверяет с компьютера - все хорошо. Сходимся на том, что это был кэш. 

День 2

Техдир продолжает утверждать, что у него до сих пор с ноутбука не работает кнопка положить в корзину. Все предварительные процедуры по чистке выполнены. Посмеялись... Проверили еще раз.  Но звучало довольно странно. Пытаемся повторить данный дефект уже умами всего отдела + нескольких разработчиков. Все в порядке. Смотрим в отчеты Allure. Тоже все прекрасно. 

День 3

Шеф начинает покалывать, что все равно ничего не работает. Предложил принести ноутбук. Мы соглашаемся (ну как бы глупо было отказываться).

День 4 - Развязка

Ура. Ноутбук у нас. Начинаем смотреть... Нажимаем на кнопку добавить в корзину - реакция 0 ампер. Смотрим в разных браузерах. 
  • Firefox - ок.
  • Chrome - fail.
  • IE - ок.

Какие могут быть варианты? 
  • Старая версия - не подтвердилась
  • Левые плагины - не подтвердилась
  • Выключили антивирус (это была последняя надежда) - и.. ну не работает кнопка.
Подключили всех. Кто-то заметил, что экран сенсорный. Шутки ради решили нажать пальцем на кнопку положить в корзину. Вауля! Товар в корзине. Мышкой не получается, тыкая по экрану получается. Посмеялись (реально смешно было). Оказалось, что javascript определял тип устройства и отрабатывал по разному для тач устройств и для обычных. А здесь попался трансформер. Баг исправлен, но было очень познавательно.