Найти тему

Как я пропустила баг в продакшен. Работа над ошибками.

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

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

Все было как обычно, пришла новая задача. Я почитала тз, почитала документацию на функционал, в котором планировалась доработка. Обсудила с коллегами важные кейсы, которые необходимо будет проверить. Приступила к созданию чек-листа. 

После того, как разработчик закончил работу с задачей, приступила к тестированию. Два раза возвращала задачу на фикс, каждый раз заново проводила тестирование по чек-листу. В общем, все шло как обычно. В конце концов баги больше не воспроизводились, и я завершила тестирование, новый функционал ушел в продакшен, соответственно, все имеющиеся у нас автотесты прошли успешно перед релизом. 

Через несколько дней поступила жалоба от пользователей: при определенных действиях возникает ошибка. Смотрим логи - ошибка в новом функционале по моей задаче. Сказать, что я испытала ужас, - ничего не сказать😱. 

Завели баг-репорт, новый функционал временно отключили, чтобы он не блокировал основную бизнес-логику. 

Что же делать в такой ситуации? После фикса проблемы, нужно разобраться, почему так произошло и что нужно сделать, чтобы это не повторилось. 

Пользовательский сценарий, в котором была ошибка, оказался достаточно часто используемым. Почему же он не был протестирован? Ответ прост: нигде в документации или тз я не видела описание этого пользовательского сценария, в обсуждении с коллегами про него также напрямую не говорилось, ранее с ним не сталкивалась. В итоге я просто не знала про этот кейс. 🤷‍♀️

Что я могла сделать? 

1.Покопаться в документации соседних модулей: возможно, упоминание об этом кейсе все-таки где-то было. 

2. Обсудить с программистом, какие модули, какие методы были затронуты напрямую или косвено и протестировать их. 

3. Провести дополнительное исследовательское тестировоние модуля, где была дороботка, и соседних с ним. 

4. После инцедента поставить вопрос о включении этого кейса в автотесты. 

Такие выводы я сделала для себя. Возможно, у вас есть еще предложения?