воскресенье, 16 июня 2019 г.

Ошибка создания из-за concurrency

Concurrency (англ) — параллелизм. В случае тестирования — параллельная работа с одним и тем же приложением:

  • Веб — открыть в разных вкладках и попробовать выполнить одно и то же действие / противоречащие друг другу действия (в одной вкладке редактируем, во второй удаляем);
  • Десктоп, мобильные — запустить одно приложение несколько раз.

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

Я работала в полуудаленном режиме — помогала им искать тестировщика и сама тестировала первые сборки. Благо что тестировать там «раз-два и обчелся». В офис заезжала редко.

И вот как-то раз приехала в гости. Стоим с разработчиком, что-то обсуждаем. И тут аналитик, которая заводит площадки в систему, начинает жаловаться, что система ей выдает ошибку при сохранении. Как так?! Я же тестировала...




Разработчик тоже удивляется:

— Оля, как так? Ты разве это не проверяла?
— Ээээ, проверяла, все работает!

Мы стоим около его компа, проверяем вместе: все работает, все сохраняется... А у пользователя все плохо! Что думать? Благо что этот самый пользователь — вот он, рядышком сидит. Можно встать у него за спиной и понаблюдать, как он это делает.

Подошли к аналитику:
— Ну, показывай!

Она показывает:
— Вот, заполнила название, описание, жму сохранить...

И правда, вылетает ошибка! о_О

Отходим к компьютеру разработчика — да нет, работает... Возвращаемся к аналитику и начинаем следить за ней. Вроде никаких лишних действий не делает... Разработчик просит:

— А покажи с нуля, как ты это делаешь?
— Ну вот, я открываю несколько вкладок (тыкает раз 10 в Ctrl + клик, открыв кучу новых вкладок), потом начинаю заполнять (открывает первую из вкладок)
— А зачем столько вкладок то??
— Ну мне так удобнее, мне же надо десяток площадок добавить.




Так и оказалось, что проблема было не в создании карточки как таковой. Проблемам проявлялась только тогда, когда открывалось 10 разных окон и потом пытались создать карточки.

Этот случай напоминает о том, что пользователи непредсказуемы, им удобно так, как мы и подумать не могли. И конечно же, concurrency всегда надо проверять!

PS — это выдержка из моей книги для начинающих тестировщиков, написана в помощь студентам моей школы для тестировщиков

Комментариев нет:

Отправить комментарий