skip to content

COOL бути інженером з тестування в Google

/ 3 хв читання

Інженери з тестування Google
Зміст

Цікавий запис з’явився в блозі Google Testing Blog, який захотілося перекласти, щоб краще зрозуміти, що хотів донести до нас автор. Вийшло місцями не дуже читабельно, але сподіваюся, що основний посил вам буде зрозумілий. Переклад є частково вільним, тож не судіть суворо.

Хто такі інженери з тестування в Google?

Інженери з тестування ПЗ входять до складу інженерної групи продуктивності Google (EngProd). Ми захищаємо інтереси наших користувачів, надаємо комплексні рішення для тестування та відіграємо ключову роль у створенні успішних і надійних продуктів і платформ.

Важливо розуміти: У Google QA спеціалісти не є мануальними тестувальниками - ми технічні інженери, чиї зусилля спрямовані на підвищення якості продукції та інженерної продуктивності.

Що означає COOL?

Коротше кажучи, це COOL - акронім, який описує ключові якості інженера з тестування:

  • Constant learner - постійний учень
  • Out-of-the-box thinker - нестандартний мислитель
  • Orchestrator - організатор
  • Leading-edge user - провідний користувач

Щоб бути інженером з тестування в Google, необхідно володіти всіма цими якостями.

Постійне навчання (Constant Learner)

Постійне навчання - це те, що підтримує мотивацію інженерів з тестування Google.

Що ми вивчаємо:

  • Цілісне розуміння програмного стеку та взаємозв’язків між компонентами
  • Обсяг тестування зв’язків між різними стеками
  • Глибокі знання продукту, що робить нас експертами тестування

Як ми застосовуємо знання:

  • Тісна співпраця з розробниками з самого початку процесу розробки
  • Обговорення придатності до тестування до реалізації функцій
  • Розробка стратегій, методик та планів тестування
  • Створення сценаріїв, проєктування систем та інструментів
  • Розробка тестової інфраструктури

Практичні завдання:

  • Перегляд проєктної документації
  • Глибоке занурення в масивну базу коду Google
  • Оцінка стектрейсів та визначення першопричин виробничих відмов
  • Управління ризиками через виявлення слабких місць у коді
  • Творчі способи зламу програмного забезпечення
  • Виявлення потенційних проблем

Додаткові можливості:

Наша службова драбина дає нам гнучкість і незалежність для:

  • Дослідження нових технологій (ML, хмарні обчислення)
  • Створення нових рішень для тестування
  • Покращення існуючих рішень

Нестандартне мислення (Out-of-the-box Thinker)

Нестандартне мислення - результат постійного навчання, це ще одна особливість, яка підтримує в нас мотивацію.

Наші цілі:

  • Захист досконалості інженерних рішень
  • Пропонування оптимізованих рішень для усунення неефективності
  • Заповнення прогалин у тестуванні та технологічних процесах

Творчі підходи до тестування:

  • Diff-тестування - порівняння різних версій
  • Побудова динамічних тестових кейсів з логів
  • Розробка евристичних алгоритмів для виявлення винних у збоях
  • Створення рішень для скорочення часу виконання тестів
  • Впровадження заглушок та імітацій об’єктів і серверів

Масштаб завдань:

Сотні й тисячі рядків коду реєструються в Google кожну хвилину. Для підтримки швидкості, якості та працездатності коду ми розробляємо творчі способи тестування та налагодження.

Приклади продуктів, які ми тестуємо:

  • Google Пошук
  • Google Ads
  • Google Maps
  • YouTube
  • Google Cloud
  • Автономні автомобілі
  • Google Apps

Без нашого підходу тестування цих продуктів не було б масштабованим з традиційною практикою тестування.

Організація (Orchestrator)

Організація зусиль з тестування є однією з ключових обов’язків Google Test Engineers.

Наші партнери:

  • Менеджери з продуктів
  • Менеджери з технічних програм
  • Інженери з програмного забезпечення

Що ми організовуємо:

  • Визначення критичних подорожей користувачів
  • Стратегії тестування
  • Переконання, що правильні тести виконуються на правильних конфігураціях/оболонках

Наші навички:

  • Сильні навички комунікації та співпраці
  • Робота з міжфункціональними командами
  • Роль євангелістів у поширенні інформації про:
    • Нові інструменти
    • Технології
    • Найкращі практики тестування

Додаткові можливості:

  • Проведення хакатонів
  • Організація стажувань
  • Рекрутингові заходи в коледжах
  • Взаємодія зі спільнотою розробників ПЗ з відкритим вихідним кодом
  • Прислуховуємось до відгуків та перетворюємо їх на вдосконалення продукту

Провідний користувач (Leading-edge User)

Провідний користувач - весела частина роботи інженера з тестування.

Що ми можемо робити:

  • Брати участь у розробці продукції
  • Участь в огляді дизайну, документації та прототипів
  • Грати з можливостями та продуктами на ранніх стадіях
  • Надавати обґрунтовані відгуки

Найкращі переваги:

Як ранні користувачі, ми можемо:

  • Їздити на автономних автомобілях
  • Бути в нашому власному світі з AR/VR
  • Взаємодіяти з Google Assistant для виконання роботи
  • Мати кілька ноутбуків, телефонів для тестування

Джерело: Google Testing Blog - COOL to be a TE at Google

Обговорення
Вхід через GitHub
Завантаження коментарів...