Google известен своими инновационными и ориентированными на пользователя продуктами. Обеспечение качества этих продуктов является главным приоритетом для компании. Джеймс Уиттакер в своей книге Как Google тестирует ПО раскрывает секреты успеха Google в области контроля качества. В этой статье мы углубимся в идеи Уиттакера и рассмотрим, как Google удалось повысить качество своего продукта с помощью контроля качества.
Оглавление
- Google Способ тестирования
- Три столпа QA Google:
- Роль инженеров-испытателей
- Роль инженеров-программистов в тестировании
- Роль продакт-менеджеров
- Цитаты из книги
- Примеры Google QA в действии
- Заключение
Google Способ тестирования
Уиттакер описывает подход Google к тестированию программного обеспечения, основанный на трех ключевых принципах:
- Скорость: Google уделяет особое внимание быстрой разработке и развертыванию продуктов, стремясь к более коротким циклам выпуска без ущерба для качества. Уиттакер отмечает, что внимание Google к скорости проистекает из понимания того, что «разработка программного обеспечения — это гонка, и часто побеждает тот, кто первым выйдет на рынок».
- Автоматизация: Google в значительной степени полагается на автоматизацию для обеспечения эффективности и точности процесса тестирования. Уиттакер объясняет, что в Google «ручное тестирование — это крайняя мера» и что компания вкладывает значительные средства в инфраструктуру автоматизации.
- Культура тестирования: Google поддерживает культуру, поощряющую разработчиков брать на себя ответственность за качество своего кода и активно участвовать в процессе тестирования. Уиттакер описывает культуру Google как культуру, в которой «каждый несет ответственность за качество».
Три столпа QA Google
Стратегия обеспечения качества Google основана на трех основных ролях:
- Инженеры-испытатели (TE)
- Инженеры-программисты в тестировании (SET)
- Менеджеры по продукту (PM)
Каждая роль важна для общего процесса обеспечения качества и вносит уникальный вклад.
Роль инженеров-испытателей
Инженеры по тестированию в Google отвечают за разработку, внедрение и выполнение планов тестирования. В их основные обязанности входит:
- Выявление и приоритизация тестовых случаев
- Создание автоматизированных тестовых сценариев
- Выполнение ручных тестов при необходимости
- Анализ результатов тестирования и сообщение о дефектах
Уиттакер подчеркивает важность инженеров-испытателей, заявляя, что они «являются глазами клиента» и что их цель — «находить дефекты до того, как это сделают пользователи».
Роль инженеров-программистов в тестировании
Инженеры-программисты в тестировании тесно сотрудничают с разработчиками, чтобы убедиться, что код написан так, чтобы его можно было тестировать и поддерживать. К их ключевым задачам относятся:
- Разработка тестовых фреймворков и инструментов
- Улучшение инфраструктуры автоматизации тестирования
- Взаимодействие с разработчиками для написания тестируемого кода
- Наставничество инженеров-испытателей по передовым методам автоматизации
Уиттакер описывает роль SET как «преодоление разрыва между разработкой и тестированием», гарантируя, что программное обеспечение с самого начала разрабатывается с учетом качества.
Роль продакт-менеджеров
Менеджеры по продукту в Google играют решающую роль в определении направления продукта и обеспечении его качества. Их основные обязанности:
- Определение требований к продукту
- Приоритизация функций и улучшений
- Координация между командами для обеспечения своевременной поставки качественного продукта
- Принятие решений на основе данных для оптимизации качества продукции
Уиттакер подчеркивает важность продакт-менеджеров в процессе обеспечения качества, заявляя, что они «должны быть непосредственно вовлечены в процесс обеспечения качества» и что их внимание должно быть сосредоточено на «удостоверении в том, что создается правильный продукт».
Цитаты из книги
Чтобы лучше понять подход Google к контролю качества, вот несколько полезных цитат из книги Уиттакера Как Google тестирует ПО:
- Об автоматизации: «Автоматизируйте все, что можно автоматизировать, и неустанно стремитесь автоматизировать все остальное».
- О роли разработчиков в тестировании: «Лучший способ убедиться, что в продукте меньше ошибок, — это иметь меньше ошибок в продукте».
- О важности тестируемости: «Встраивание тестируемости в продукт — это признак зрелости в разработке программного обеспечения».
- О воспитании культуры качества: «Качество — это не исключительная ответственность отдельного человека или команды, а общая ответственность всех, кто участвует в создании и обслуживании продукта».
Примеры Google QA в действии
Несколько примеров из продуктов и услуг Google демонстрируют, как стратегия обеспечения качества компании способствовала ее успеху:
- Gmail: первоначальный выпуск Gmail в 2004 году сопровождался обширным набором автоматических тестов, охватывающих различные функции и функции. Использование Google автоматизации позволило быстро улучшать и обновлять сервис, что в конечном итоге привело к его широкому внедрению.
- Карты Google: Карты Google претерпели бесчисленное количество итераций и обновлений с момента своего создания в 2005 году. Благодаря интеграции спутниковых изображений, просмотра улиц и информации о дорожном движении в реальном времени сложность продукта возросла. Надежный процесс контроля качества Google гарантирует, что эти функции тщательно протестированы и легко интегрированы, предоставляя пользователям точную и надежную работу с картами.
- Google Chrome. Быстрый цикл выпуска Google Chrome свидетельствует об эффективности стратегии компании по контролю качества. Частые обновления браузера стали возможными благодаря обширному автоматизированному тестированию, которое позволяет быстро выявлять и устранять проблемы. Успех Chrome как самого популярного веб-браузера в мире можно частично объяснить его приверженностью качеству.
Заключение
В статье Как Google тестирует программное обеспечение Джеймс Уиттакер подробно рассматривает процесс контроля качества Google и роли, которые в нем участвуют. Понимая эти стратегии, внедряя культуру обеспечения качества и инвестируя в автоматизацию тестирования, другие организации могут извлечь уроки из успеха Google и внедрить собственные процессы обеспечения качества для повышения качества продукции. Выводы из книги Уиттакера подчеркивают важность того, чтобы качество стало общей ответственностью, и необходимость постоянных инноваций в процессе тестирования. Эти уроки могут служить планом для любой организации, стремящейся повысить качество своих продуктов и услуг.