Прежде чем попасть в прод, все наши фичи проходят определенные этапы тестирования, в том числе непосредственно на проде. В переводе с языка разработки: прежде чем попасть на «боевой сервер», т.е. туда, где продукт работает для конечных пользователей, функционал проходит определенные этапы проверки, в том числе на самом “боевом сервере”. Некоторые считают это нелогичным, потому как тестирование на проде не исключает попадание проблем к клиентам, а лишь констатирует их наличие. Так почему бы не пофиксить все баги на тестовом окружении? - спросили мы у нашего специалиста по тестированию Андрея Назарова.
Есть несколько причин, по которым тестирование на проде может стать полезной практикой и существенно помочь проекту:
- Решается вопрос с тем, что фича выкатилась в продовое окружение корректно и целиком. Часто задачи, которые мы делаем, состоят из нескольких этапов, которые выполняют разные люди, а иногда даже отделы.
- Решается проблема различия продового и тестового окружений - в идеальном мире разницы между этими окружениями нет, но в любом процессе, и особенно в большом продукте, увы, нельзя избежать ошибок. Проводя тестирование на проде на изолированных от пользователей сайтах, мы убеждаемся в корректной работе реализуемого функционала.
- Проверяется работа нового функционала при настоящем уровне нагрузки. Своего рода, дополнительный этап тестирования, который помогает, даже если баг будет найден, выкатить фикс быстрее, чем это заметит клиент.
Важно: тестирование на проде НЕ заменяет тестирование на пре-продакшне! Предотвращать появление багов и проводить профилактику обязательно нужно. Тестирование на проде стоит воспринимать как хорошее дополнение в работе над повышением качества проекта.