Google известен своими инновационными и ориентированными на пользователя продуктами. Обеспечение качества этих продуктов является главным приоритетом для компании. Джеймс Уиттакер в своей книге Как Google тестирует ПО раскрывает секреты успеха Google в области контроля качества. В этой статье мы углубимся в идеи Уиттакера и рассмотрим, как Google удалось повысить качество своего продукта с помощью контроля качества.

Оглавление

  • Google Способ тестирования
  • Три столпа QA Google:
  1. Роль инженеров-испытателей
  2. Роль инженеров-программистов в тестировании
  3. Роль продакт-менеджеров
  • Цитаты из книги
  • Примеры Google QA в действии
  • Заключение

Google Способ тестирования

Уиттакер описывает подход Google к тестированию программного обеспечения, основанный на трех ключевых принципах:

  1. Скорость: Google уделяет особое внимание быстрой разработке и развертыванию продуктов, стремясь к более коротким циклам выпуска без ущерба для качества. Уиттакер отмечает, что внимание Google к скорости проистекает из понимания того, что «разработка программного обеспечения — это гонка, и часто побеждает тот, кто первым выйдет на рынок».
  2. Автоматизация: Google в значительной степени полагается на автоматизацию для обеспечения эффективности и точности процесса тестирования. Уиттакер объясняет, что в Google «ручное тестирование — это крайняя мера» и что компания вкладывает значительные средства в инфраструктуру автоматизации.
  3. Культура тестирования: Google поддерживает культуру, поощряющую разработчиков брать на себя ответственность за качество своего кода и активно участвовать в процессе тестирования. Уиттакер описывает культуру Google как культуру, в которой «каждый несет ответственность за качество».

Три столпа QA Google

Стратегия обеспечения качества Google основана на трех основных ролях:

  1. Инженеры-испытатели (TE)
  2. Инженеры-программисты в тестировании (SET)
  3. Менеджеры по продукту (PM)

Каждая роль важна для общего процесса обеспечения качества и вносит уникальный вклад.

Роль инженеров-испытателей

Инженеры по тестированию в Google отвечают за разработку, внедрение и выполнение планов тестирования. В их основные обязанности входит:

  • Выявление и приоритизация тестовых случаев
  • Создание автоматизированных тестовых сценариев
  • Выполнение ручных тестов при необходимости
  • Анализ результатов тестирования и сообщение о дефектах

Уиттакер подчеркивает важность инженеров-испытателей, заявляя, что они «являются глазами клиента» и что их цель — «находить дефекты до того, как это сделают пользователи».

Роль инженеров-программистов в тестировании

Инженеры-программисты в тестировании тесно сотрудничают с разработчиками, чтобы убедиться, что код написан так, чтобы его можно было тестировать и поддерживать. К их ключевым задачам относятся:

  • Разработка тестовых фреймворков и инструментов
  • Улучшение инфраструктуры автоматизации тестирования
  • Взаимодействие с разработчиками для написания тестируемого кода
  • Наставничество инженеров-испытателей по передовым методам автоматизации

Уиттакер описывает роль SET как «преодоление разрыва между разработкой и тестированием», гарантируя, что программное обеспечение с самого начала разрабатывается с учетом качества.

Роль продакт-менеджеров

Менеджеры по продукту в Google играют решающую роль в определении направления продукта и обеспечении его качества. Их основные обязанности:

  • Определение требований к продукту
  • Приоритизация функций и улучшений
  • Координация между командами для обеспечения своевременной поставки качественного продукта
  • Принятие решений на основе данных для оптимизации качества продукции

Уиттакер подчеркивает важность продакт-менеджеров в процессе обеспечения качества, заявляя, что они «должны быть непосредственно вовлечены в процесс обеспечения качества» и что их внимание должно быть сосредоточено на «удостоверении в том, что создается правильный продукт».

Цитаты из книги

Чтобы лучше понять подход Google к контролю качества, вот несколько полезных цитат из книги Уиттакера Как Google тестирует ПО:

  1. Об автоматизации: «Автоматизируйте все, что можно автоматизировать, и неустанно стремитесь автоматизировать все остальное».
  2. О роли разработчиков в тестировании: «Лучший способ убедиться, что в продукте меньше ошибок, — это иметь меньше ошибок в продукте».
  3. О важности тестируемости: «Встраивание тестируемости в продукт — это признак зрелости в разработке программного обеспечения».
  4. О воспитании культуры качества: «Качество — это не исключительная ответственность отдельного человека или команды, а общая ответственность всех, кто участвует в создании и обслуживании продукта».

Примеры Google QA в действии

Несколько примеров из продуктов и услуг Google демонстрируют, как стратегия обеспечения качества компании способствовала ее успеху:

  1. Gmail: первоначальный выпуск Gmail в 2004 году сопровождался обширным набором автоматических тестов, охватывающих различные функции и функции. Использование Google автоматизации позволило быстро улучшать и обновлять сервис, что в конечном итоге привело к его широкому внедрению.
  2. Карты Google: Карты Google претерпели бесчисленное количество итераций и обновлений с момента своего создания в 2005 году. Благодаря интеграции спутниковых изображений, просмотра улиц и информации о дорожном движении в реальном времени сложность продукта возросла. Надежный процесс контроля качества Google гарантирует, что эти функции тщательно протестированы и легко интегрированы, предоставляя пользователям точную и надежную работу с картами.
  3. Google Chrome. Быстрый цикл выпуска Google Chrome свидетельствует об эффективности стратегии компании по контролю качества. Частые обновления браузера стали возможными благодаря обширному автоматизированному тестированию, которое позволяет быстро выявлять и устранять проблемы. Успех Chrome как самого популярного веб-браузера в мире можно частично объяснить его приверженностью качеству.

Заключение

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