К основному контенту

Тест-сертификации команд разработчиков в Google

Краткое описание уровней Тест-сертификации команд разработчиков (из книги "Как тестируют в Google")

Уровень 1
  • Создать пакеты тестового покрытия.
  • Установить систему непрерывной сборки.
  • Ранжировать тесты на малые, средние и большие.
  • Определить недетерминированные тесты.
  • Создать набор смоук-тестов.

Уровень 2
  • Не выпускать, пока не пройдут все тесты.
  • Обязательно выполнять смоук-тесты до отправки кода.
  • Инкрементальное покрытие всеми тестами не меньше 50%.
  • Инкрементальное покрытие малыми тестами не меньше 10%.
  • Хотя бы одна фича покрыта интеграционным тестом.

Уровень 3
  • Создавать тесты для всех нетривиальных изменений
  • Общее покрытие малыми тестами не меньше 50%.
  • Важные новые фичи покрыты интеграционными тестами.

Уровень 4
  • Смоук-тесты запускаются автоматически перед отправкой нового кода.
  • Смоук-тесты проходят за время меньше 30 минут.
  • Нет недетерминированных тестов.
  • Общее тестовое покрытие не меньше 40%.
  • Тестовое покрытие только малыми тестами не меньше 25%.
  • Все важные фичи покрыты интеграционными тестами.

Уровень 5
  • Добавить тест к исправлению всех нетривиальных багов.
  • Активно использовать доступные средства анализа.
  • Общее тестовое покрытие не меньше 60%.
  • Тестовое покрытие только малыми тестами не меньше 40%.
Странно, что покрытие малыми тестами на уровне 4 уменьшается, а потом опять растет. У нас получается нечто среднее между 3, 4 и 5. На самом деле малых тестов у нас мало. А с остальным похоже все получше, что радует :)

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

Комментарии

Популярные сообщения из этого блога

Mock vs Stub

Когда мы начали изучать модульное тестирование, то одними из первых терминов, с которыми пришлось познакомиться, стали Mock и Stub. Ниже попробуем порассуждать в чем их сходство и различие, как и для чего они применяются. Проверять работоспособность тестируемого объекта (system under test - SUT) можно двумя способами: оценивая состояние объекта или его поведение. В первом случае проверка правильности работы метода SUT заключается в оценке состояния самого SUT, а также взаимодействующих объектов, после вызова этого метода. Во-втором, мы проверяем набор и порядок действий (вызовов методов взаимодействующих объектов, других методов SUT), которое должен совершить метод SUT. Собственно, если коротко, то в одном случае используется Stub, а в другом Mock. Это объекты, которые создаются и используются взамен реальных объектов, с которым взаимодействует SUT в процессе своей работы. Теперь подробнее. Gerard Meszaros использует термин Test Double (дублер), как обозначение для объе

Полезные ресурсы для молодых (и не только) тестировщиков

сперто(с) Уже 3 месяца провожу собеседования тестировщиков (март 2016). Поначалу они просто  веселили - после 15-летнего опыта собеседования С++-разработчиков, общение с тестировщиками (чаще были "-цы") было чем-то экзотическим и забавным. Потом становилось все грустнее и грустнее, мимими закончилось. Началась печаль.

(Яндекс/Гугл, перестаньте выдавать ее в выдаче) План "Б" или как прикольно провести субботний день

Отступление: название заметки так зашло в ожидания SEO, что люди уже 11 лет сюда по результатам поиска заходят 😂. Простите, но тут не про то как тусануть и было уже давно. Всем привет. Вчера состоялась конференция " План Б ". Организаторами выступили ребята из Яндекса, за что им большое спасибо. Судя по приблизительным подсчетам в мероприятии участвовало около 200 человек. Основной темой конференции было планирование, планирование всего: проектов, разработки, тестирования, дизайнеров и даже организации музыкального фестиваля. Сначала думал написать отчет в обычном своем стиле: кто и что говорил, но почитав твиттер по #pbconf понял, что просто потеряю время :) Поэтому кому оооочень интересно узнать подробности следуйте за птичкой и вы все узнаете (тэг #pbconf попал в top-30 твиттера) Здесь приведу лишь те вещи, которые мне запали в мозг Роман Чернин о продуктовой разработке: "нет заказчика, нет требований, нет сроков -> как принимать решения? отве