Загрузка...
Как тестируют в Google — обложка книги
Краткое содержание, анализ и герои

Как тестируют в Google

Автор Джефф Каролло
12+2014208 читателей
Год издания2014
Дата написания2011-12-31
ИздательствоООО Издательство "Питер"
ISBN978-5-496-00893-8
Язык книгиru
Язык оригиналаen
Возрастное ограничение12+
Темы
сетевые технологиипоисковые системывеб-программированиепродукты Googleтестирование программного обеспечения

Описание

Книга раскрывает, как в Google тестирование интегрировано в процесс разработки, описывая организационную структуру, процессы, инструменты, культуру и будущее роли инженеров по тестированию.

Главный конфликт / проблема

Как обеспечить высокое качество ПО при быстрой поставке в крупной технологической компании

Ключевые идеи

  • Тестирование в Google – часть централизованного направления продуктивности разработки.
  • Качество достигается через интеграцию тестирования в процесс разработки, а не как отдельную функцию.
  • Роли разработчика, разработчика в тестировании и инженера по тестированию имеют чётко определённые обязанности.
  • Тестировщики назначаются по горизонтальному направлению, а не по продукту, что обеспечивает гибкость и обмен опытом.
  • Минимально жизнеспособный продукт и итеративный выпуск
  • Пошаговый канал выпуска: канареечный → разработка → тест → бета
  • Тесты делятся по охвату: малые, средние, большие
  • Роли разработчиков, разработчиков в тестировании и тестировщиков
  • Код‑ревью, непрерывная сборка и очередь отправки как гарант качества
  • Protocol Buffers как средство описания интерфейсов
  • Автоматизация тестирования – полноценная разработка ПО, требующая инфраструктуры.
  • Тесты классифицируются по размеру (малый, средний, большой, громадный) с разными ограничениями и преимуществами.

Вывод

Тестирование в Google – это интегрированный процесс, где каждый инженер участвует в проверке кода, а инфраструктура и культура позволяют быстро реагировать на обратную связь и поддерживать высокое качество продуктов

Кому полезна

  • Инженеры-программисты
  • Тестировщики
  • Менеджеры по тестированию
  • Руководители проектов
  • Специалисты по DevOps

Главные темы

  • Организация и процессы тестирования
  • Инфраструктура и инструменты автоматизации
  • Культура и управление тестированием

Персонажи

  • Джеймс Уиттакер — Технический директор Google, который описывает философию и структуру тестирования в компании. Рассказывает о процессе создания баг‑репортов и их влиянии на продукт. Покорил Google благодаря высокой квалификации тестировщиков, дефициту ресурсов и автоматизации.
  • Патрик Коупленд — Он формирует структуру тестирования, назначает тестировщиков и обеспечивает их ресурсами. Ответственный за стратегию тестирования и стандартизацию процессов в Google.
  • Тед Мао — Создал Buganizer и Matrix, улучшая процессы баг‑трекинга и веб‑тестирования. Сотрудник, участвовавший в создании Buganizer.
  • Саймон Стюарт — Создал WebDriver и участвовал в его развитии в Google.
  • Джорданна Корд — Разработала GTCM, внедрила RESTful API и улучшила интеграцию с инфраструктурой Google.
  • Тестировщик — Обладает навыками программирования, фокусируется на пользовательском опыте и участвует в различных задачах от код‑ревью до исследовательского тестирования. В будущем они будут проектировать тесты, управлять рисками и специализироваться (безопасность, производительность).
  • Разработчик — Ответственный за написание и поддержку функциональности продукта, часто взаимодействует с тестировщиками для исправления дефектов. Их работа рассматривается как часть реализации фич продукта; автор призывает интегрировать их в общую команду разработчиков.
  • Джейсон Арбон — Объясняет различия между инженером по тестированию и разработчиком в тестировании, а также подходы к управлению командами.
  • Tejas Shah — Развил и масштабировал систему Bots, сделав её частью инфраструктуры Google.
  • Lindsey Webster — Опытный тестировщик, который систематически анализирует продукт с точки зрения пользователя и внедряет процессы тестирования.
  • Эппл Чоу — Опытный специалист, ценящий технические навыки и автоматизацию, участвовал в запуске новых функций YouTube.
  • Анкит Мехта — Переходил из инженера в тестировании в менеджера, фокусируется на производительности и предотвращении багов.

Цитаты

  • Качество ≠ Тестирование
  • Тестирование должно стать неотделимым от разработки.
  • Мы строим минимально жизнеспособный продукт и выпускаем его в тот момент, когда он может стать полезным как можно большему количеству людей.
  • Тест — это еще одна фича приложения.
  • Мы построили общую инфраструктуру, которая отвечает за компиляцию, прогон, анализ, хранение и отчетность о тестах.
  • Тесты не должны иметь долгосрочных последствий. После их завершения среда должна возвращаться в то же состояние, в котором она находилась при запуске.
  • "Тестировщик в Google, с одной стороны, обладает техническими навыками, которые так уважают разработчики, а с другой — умеет фокусироваться на потребностях пользователей, что постоянно держит программистов в тонусе."
  • "Тест‑план рождается первым, и первым же он должен умереть."
  • Мы ищем человека, который поймет, как система должна работать, и сможет это объяснить простыми словами.
  • Мы хотим нанимать людей, которые любят свою работу, любознательны, способны не просто выполнять, что им скажут, а исследовать все варианты.