Представьте, что самое важное программное обеспечение вашей компании внезапно сломалось — что произойдет? Заказы могут потеряться, сроки могут быть сорваны, но клиенты, безусловно, будут жаловаться.
Этого кошмарного сценария можно избежать: внедрив непрерывный и строгий процесс тестирования, который выявляет проблемы до того, как они приведут к хаосу. Но внедрить такой процесс в вашей организации проще сказать, чем сделать.
В этой статье вы найдете все, что нужно учитывать при начале тестирования в вашей компании, и узнаете, какую пользу тестирование может принести в долгосрочной перспективе.
Передовые методы тестирования для продуктовых команд
Первая часть этой статьи посвящена процессу внедрения тестирования в ваш рабочий процесс.
Внедрите культуру тестирования в вашей команде.
Для успешного внедрения тестирования в вашей команде необходимо, чтобы все разделяли общее мировоззрение и рассматривали качество не как бремя, а как инвестицию. Этот процесс, как и любые другие культурные изменения, требует времени и последовательности.
Одним из факторов, способствующих формированию такой культуры, являются регулярные собрания для обсуждения дефектов, их последствий, причин возникновения и мер по их устранению. Это помогает повысить осведомленность о том, почему важно предотвращать подобные дефекты.
Наличие в команде человека, который руководит и направляет работу, может значительно повысить шансы на успех. Это человек, который определяет командные — или даже общеорганизационные — руководящие принципы, собирает лучшие практики, делится ими и продвигает эту работу на всех уровнях.
Еще одним полезным инструментом может стать ротация ролей поддержки вашего продукта. Получение непосредственных, нефильтрованных данных от ваших клиентов и изучение повседневных проблем, с которыми они сталкиваются при использовании вашего продукта, может стать ценным опытом для менеджеров по продуктам, дизайнеров и разработчиков.
Цель состоит в том, чтобы каждый член вашей команды понимал, что качество — это важная составляющая, столь же важная, как и любая другая функциональность, которую вы разрабатываете для своего продукта. Как только все примут этот подход, естественным образом придет понимание того, что тесты также являются важной составляющей. Потому что именно тесты гарантируют качество выпускаемого продукта.
Пошаговый процесс тестирования
После достижения согласия между различными командами, участвующими в разработке продукта, можно дополнительно формализовать существование и использование тестов.
Включите тесты в понятие "Понятие "Завершено"".
Добавляя тесты в качестве обязательного требования к функции, вы указываете, что функция не готова к выпуску, пока она не будет должным образом и автоматически протестирована.
Регулярно запускайте тесты.
После внедрения автоматизированные тесты могут стать вашей защитой на каждом этапе процесса разработки. Они не требуют вмешательства человека и могут запускаться на каждом критически важном этапе вашего конвейера разработки. Например:
- При каждом коммите.
- При каждом запросе на слияние.
- После каждого полного релиза или изменения среды.
Если в вашей производственной среде используются сторонние сервисы, то может быть даже целесообразно запускать тесты именно в производственной среде, чтобы убедиться, что API сторонних сервисов работают должным образом.
Определять и собирать метрики
Определение набора метрик важно для измерения эффективности ваших тестов и влияния рабочих процессов тестирования на ваш бизнес. Вот несколько примеров метрик, которые вы можете использовать:
- Количество релизов в месяц : Большее количество релизов в месяц может указывать на более гибкий процесс разработки. Автоматизированное тестирование играет здесь ключевую роль, обеспечивая уверенность в выпуске релизов.
- Сообщения об ошибках : Снижение количества сообщений об ошибках может быть положительным признаком эффективности ваших процессов тестирования (и разработки).
- Покрытие тестов : Хотя это никогда не будет точным показателем, покрытие может служить хорошим индикатором того, насколько глубоко вы тестируете критически важные сценарии использования.
Обратите внимание, что на эти показатели также влияют другие факторы, которые могут их исказить. Например, количество релизов может уменьшиться в праздничный сезон, в то время как количество сообщений об ошибках увеличится. Поэтому не полагайтесь только на несколько показателей и обязательно сопоставляйте их с другими данными, доступными вашей команде.
Если вы успешно реализуете эти шаги вместе со своей командой, это, безусловно, положительно скажется на качестве вашего продукта в долгосрочной перспективе. Но вы можете сделать еще больше!
Рекомендации по тестированию для системных администраторов
Продуктовые команды не могут работать в одиночку. Они полагаются на оборудование, инструменты и инфраструктуру, поддерживаемые системными администраторами. Хотя системные администраторы обычно не принимают непосредственного участия в разработке продукта, они всё же могут положительно влиять на рабочий процесс разработки. Например, активно управляя версией браузера, используемой определёнными группами пользователей в компании.
Во второй части статьи объясняется, как это работает, с использованием каналов Chrome и корпоративных политик.
Каналы выпуска Chrome
По умолчанию Chrome автоматически обновляется, чтобы гарантировать, что каждый пользователь использует самую последнюю, стабильную и безопасную версию Chrome, включая все новейшие функции — версию Chrome, выпущенную в стабильном канале.
Если вы разрабатываете веб-продукт, вам может потребоваться использовать браузер до выхода стабильной версии, чтобы дать командам разработчиков время адаптировать продукт к изменениям на веб-платформе.
Для этого варианта использования Chrome предлагает в общей сложности четыре канала выпуска, предназначенных для разных групп пользователей.
В случае с Chrome существуют различные каналы выпуска, которые можно использовать, чтобы предвидеть будущие изменения в браузере и протестировать новейшие функции до того, как они станут широко доступны:
- Стабильный канал : Именно здесь находится большинство пользователей. Стабильный канал автоматически обновляется при выходе новых версий Chrome , что происходит ежемесячно.
- Beta channel : This version will become stable in four to six weeks, giving you a chance to preview and test an upcoming stable release and prepare for it.
- Канал для разработчиков : На этом канале раз в неделю выходит новая версия Chrome, включающая все последние исправления, которые в конечном итоге войдут в бета-версию. Как следует из названия канала, он находится в разработке и, следовательно, может неожиданно сломаться, но он также включает в себя новейшие функции, иногда задолго до того, как они попадут в стабильную версию. Это делает канал для разработчиков отличным инструментом для прототипирования и передовой разработки.
- Канал Canary : Самый экспериментальный канал, содержащий все новейшие функции, но без тщательного тестирования. Выпуски выходят как минимум ежедневно.
Если вы хотите узнать больше о каналах Chrome, посмотрите соответствующий эпизод Chrome Concepts .

Использование каналов в образцовой организации
Структура продуктовых команд различается в разных организациях, поскольку не существует универсального подхода к разработке программного обеспечения. В качестве примера предположим, что в команде есть следующие специалисты: управление продуктом, UX и UI, разработка, операционная деятельность и поддержка.
Для такой организации можно рассмотреть следующее разделение каналов:
- Управление продуктом : Менеджеры по продукту обычно могут использовать стабильный канал, чтобы работать с той же версией, что и большинство пользователей. Иногда они могут использовать бета-канал или канал для разработчиков , если работают над функцией, требующей API, который еще не запущен.
- Инженеры и UX-специалисты : Часть этих команд может находиться в канале для разработчиков , чтобы иметь доступ к новейшим функциям, таким как переходы между окнами , еще до того, как они будут включены в стабильную версию.
- Операционная деятельность : Возможно, находится в стадии бета-тестирования , чтобы предвидеть возможные сбои, которые могут повлиять на пользователей в будущем.
- Поддержка : Можно оставаться на стабильном канале, чтобы убедиться, что они взаимодействуют с продуктом в том же браузере, что и большинство ваших клиентов.

Используйте корпоративные политики для управления каналами.
Вместо того чтобы давать рекомендации и оставлять за пользователем право выбора канала, Chrome также предлагает корпоративные и административные инструменты для активного управления тем, какой канал в итоге будет использовать каждый пользователь. Это полезно, поскольку сразу же расширяет область тестирования с нескольких отдельных пользователей до детерминированного набора пользователей, что помогает выявлять сбои как можно раньше и отслеживаемым образом.
Если вам нужен такой уровень контроля, мы рекомендуем следующую конфигурацию:
- Сотрудники (пользователи приложения) : Чтобы свести к минимуму риск сбоев, большинству сотрудников следует использовать стабильную версию приложения, которая прошла полное тестирование командой тестировщиков Chrome. Кроме того, небольшой процент пользователей (от 5 до 10%) может использовать бета- версию. Эта версия получает 4-6-недельный предварительный просмотр стабильной версии и может помочь администраторам выявить возможные проблемы с релизом, предоставляя больше времени для их устранения до того, как релиз будет выпущен для всех остальных.
- IT department : Members of the IT department, including system admins themselves can be on the beta or dev channel to get a 4–6 or 9–12 week preview of what's coming to the stable version of Chrome.

Каналы долгосрочного выпуска
Разработка продукта может идти не так быстро, как планировалось, и ежемесячный цикл выпуска обновлений Chrome может оказаться слишком высоким. Для таких случаев Chrome предоставляет расширенный стабильный канал, который позволяет получать обновления функций реже, но при этом получать исправления безопасности. Этот канал обновляется каждые восемь недель.
На следующей диаграмме показано, как различные этапы разработки Chrome проходят через разные каналы выпуска :

- Как стабильная, так и расширенная стабильная версии поставляются с одинаковыми версиями в течение первых четырех недель, после чего они начинают различаться.
- Расширенного бета-тестирования нет; вместо этого используется стандартный четырехнедельный бета-цикл для стабилизации как стабильной, так и расширенной стабильной версии. Предприятия, которые выбирают восьминедельный расширенный стабильный цикл, должны продолжать использовать бета-версию в обычном режиме, чтобы заблаговременно выявлять проблемы, которые могут повлиять на их среду.
Сохраняющаяся важность каналов разработки и бета-тестирования для длительного использования стабильными пользователями.
Хотя стабильный канал ускоряется до двухнедельного цикла выпуска, а ваша организация переходит на восьминедельный расширенный стабильный цикл, чтобы получить больше времени на тестирование, использование каналов разработки и бета-тестирования по-прежнему крайне важно. Отдельных каналов «расширенной разработки» или «бета-версии» не существует; стандартные каналы разработки и бета-тестирования используются для стабилизации как стабильных, так и расширенных стабильных релизов.
Продолжая работу каналов разработки и бета-тестирования, предприятия сохраняют возможность заблаговременного выявления проблем, которые могут повлиять на их среду. Каналы разработки и бета-тестирования предоставляют четырехнедельный предварительный просмотр предстоящего стабильного релиза. Для пользователей, уже давно использующих стабильную версию, этот период предварительного просмотра крайне важен для обнаружения и устранения потенциальных неполадок задолго до восьминедельного обновления функционала.
Каналы для разработчиков и бета-тестирования, по сути, выступают в качестве основной системы раннего предупреждения о любых изменениях в вашей восьминедельной расширенной стабильной среде, обеспечивая совместимость ваших корпоративных приложений. Системные администраторы могут продолжать назначать небольшую, детерминированную группу пользователей (например, 5-10% пользователей приложения) в каналы для разработчиков и бета-тестирования, чтобы максимально использовать это преимущество.
Заключение
Тестирование является важнейшей частью работы компаний-разработчиков программного обеспечения, обеспечивающей качество их продукции, а также важным шагом для системных администраторов, позволяющим предоставить сотрудникам организации доступ к высококачественному программному обеспечению и избежать сбоев в бизнес-процессах.
Для успешного внедрения процесса тестирования в вашей организации важно, чтобы все разделяли общее понимание того, что качество, а следовательно, и тестирование, является неотъемлемой частью процесса.
В этой статье мы рассмотрели различные способы внедрения лучших практик тестирования в вашей организации. Для более подробного обзора существующих инструментов тестирования ознакомьтесь с нашей статьей «Инструменты Chrome для беспроблемного автоматизированного тестирования» .
Для получения практических рекомендаций по тестированию от начала до конца, также ознакомьтесь с нашим недавним курсом «Изучение тестирования» и лучшими практиками автоматизации тестирования на web.dev.