Роковые ошибки в процессе тестирования Google
Роковые ошибки в процессе тестирования Google
Понятие «тестирование» часто подменяет понятие «качество». Если спросить разработчика, что он делает для качества продукта, нередко можно услышать: «Я его тестирую». Но смысл тестирования не в улучшении качества. Качество должно быть встроено в продукт по умолчанию, а не привинчено к нему позже, поэтому качество должен обеспечивать разработчик, и точка. Итак, встречайте роковую ошибку номер один: тестировщики превратились в «костыли» для разработчиков. Чем меньше мы заставляем разработчиков думать о тестировании, чем сильнее его упрощаем для них, тем меньше они им занимаются.
Когда мы сидим на удобном диване и смотрим телевизор, пока кто-то стрижет наш газон, работает та же схема. Мы ведь и сами в состоянии его подстричь. Что еще хуже, пока его кто-то стрижет, мы валяемся на диване нога на ногу и ничего не делаем. Компании по стрижке газонов настолько упростили для нас всю работу, что мы с легким сердцем поручаем ее кому-то другому. Если тестирование выделяется в удобный сервис, о котором разработчики могут не думать, они и не будут думать. Мы сделали процесс тестирования слишком простым, и наши разработчики стали слишком ленивыми.
Проблема усугубляется тем, что тестирование в Google выделено в отдельное направление. Качество — это не только проблема кого-то другого, это проблема другого отдела. Как и в случае с газоном, легко найти ответственного и повесить на него все, что пошло не так.
Роковая ошибка номер два тоже связана с разделением разработчиков и тестировщиков: тестировщики отождествляются со своей ролью, а не с продуктом.
Если фокус не на продукте — продукт всегда страдает. В конце концов, цель всей разработки — создание продукта, а не программирование, тестирование или документирование. Каждый инженер работает на продукт. Его должность при этом вторична. Признак здоровой компании — когда люди говорят «Я работаю в Chrome», а не «Я работаю тестировщиком».
Пару лет назад я видел на конференции по тестированию футболку с надписью «Я тестирую, следовательно, я существую» на греческом и английском языках. Не сомневаюсь, что ее автор дьявольски умен, но этот агрессивный слоган раздувает роль тестировщика, хотя она этого не стоит. Ни одна роль этого не стоит. Все участники команды работают над продуктом, а не над отдельными его частями. Сначала появился продукт, а потом вылупился процесс. Зачем же нам процесс, если не для создания хорошего продукта? Пользователи любят продукты, а не процессы.
Разделение разработки и тестирования в Google подчеркивает эту разницу в ролях и мешает тестировщикам осознавать свое место в продукте.
Роковая ошибка номер три: тестировщики часто ставят артефакты тестирования выше самого продукта. Ценность тестирования — в действии, а не в артефактах.
Каждый артефакт, который создает тестировщик, уже вторичен по отношению к исходному коду. Тест-кейсы и план тестирования менее важны. Даже баг-репорты менее важны. Действия, которые стоят за этими артефактами, — вот что приносит пользу. К сожалению, восхваляя стопку баг-репортов, представленную тестировщиками во время ежегодного отчета, мы забываем о продукте. Ценность артефактов определяется тем, как они влияют на исходный код, а значит, на продукт.
Выделенная команда тестировщиков часто фокусируется на создании и сопровождении артефактов тестирования. А для продукта лучше всего, если вся деятельность по тестированию направлена только на исходный код. Тестировщики должны ставить продукт во главу угла.
Напоследок, пожалуй, самая показательная роковая ошибка. Вопрос: как часто после выпуска продукта пользователи находили баги, укрывшиеся от самого дотошного процесса тестирования? Ответ: почти всегда. Во всех продуктах, которые мы выпускали, при эксплуатации находились ошибки, которые не нашла команда тестирования. И так не только в Google. Во время написания книги мы все втроем работали в проекте Google+. Можем сказать, что довольно много коварных багов обнаружили внутренние пользователи, то есть другие сотрудники Google, которые просто использовали продукт. Мы прикидывались пользователями, а они были пользователями.
Не важно, кто именно тестирует продукт, главное, что тестирование проводится. Внутренние пользователи, доверенные внешние тестировщики, краудсорсеры, ранние пользователи — все они в более выгодном положении, чем сами тестировщики продукта. По факту, чем меньше инженер по тестированию тестирует сам и чем больше он помогает выполнять эту работу другим, тем лучше для продукта.
О’кей, и что же со всем этим делать? Как взять только хорошее из организации тестирования в Google и переориентировать все процессы на продукты и команды? Мы только вступаем на эту неисследованную территорию, поэтому можем только предполагать. Но нам кажется, что тренды, которые мы описываем в книге, задают тон будущего тестирования в Google и за его пределами. Более того, выделившиеся роли разработчика в тестировании и инженера по тестированию — это изменение в сторону как раз этого будущего.
В Google эти две роли все сильнее расходятся. Разработчик в тестировании все больше напоминает разработчика, а инженер по тестированию идет в противоположную сторону и почти сливается с пользователем. Это происходит естественно, в результате взросления процессов разработки. С одной стороны, этот тренд объясняется такими техническими новшествами, как сжатые циклы разработки и непрерывная доступность последней сборки для разработчиков, тестировщиков и пользователей. У нас стало больше возможностей подключать неинженерных участников к разработке. С другой стороны, взросление процессов разработки привело к тому, что качество стало общей заботой, а не только обязанностью инженеров, в должности которых есть слово «тестирование».
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Совет 19: Роковые красавицы
Совет 19: Роковые красавицы Интернет-знакомства сродни уравнению со многими неизвестными. Или лучше сравнить их с «русской рулеткой»? В Сети партнер покажет вам лишь то, что хочет показать, и даже многодневная переписка не даст вам полной уверенности в личности того, кто
10.3. Информация о процессе
10.3. Информация о процессе Ядро предоставляет значительное количество информации о каждом процессе и часть ее передается новым программам во время их загрузки. Вся эта информация образует среду выполнения для
Чем отличается код стабильной версии от кода, находящегося в процессе тестирования
Чем отличается код стабильной версии от кода, находящегося в процессе тестирования Кодовая база Asterisk находится в процессе постоянного изменения. Для управления ею разработчики используют инструмент контроля версий Subversion (SVN)[47]. Subversion обеспечивает сообществу
2.3. Представление о производственном процессе
2.3. Представление о производственном процессе Инженеры-разработчики воспринимают состояние проекта детально, так как они обладают непосредственной информацией о его статусе и производительности. Однако в больших проектах уровень их понимания снижается, ограничиваясь
Печать форм в процессе проектирования
Печать форм в процессе проектирования При разработке форм для VBA-проекта иногда полезно напечатать копии форм, которые всегда будут под рукой даже там, где нет компьютера. Распечатки набросков форм годятся и для их критического редактирования, и для предъявления их
Продажи в процессе
Продажи в процессе Предлагайте возможности апгрейда в самом приложенииКаждый знает, как предлагать на маркетинговом сайте. Но продажи не останавливаются на этом. Если у вас зонный ценовой план (или бесплатная версия вашей программы), не забудьте сообщать о возможности
Google I/O: новый Android, Google TV и машинное обучение Андрей Письменный
Google I/O: новый Android, Google TV и машинное обучение Андрей Письменный Опубликовано 21 мая 2010 года Несмотря на то, что первый день конференции I/O, проводимой компанией Google для разработчиков, принёс много интересных анонсов, во второй, заключительный её день,
Google устанавливает торговые автоматы для продажи приложений из Google Play Николай Маслухин
Google устанавливает торговые автоматы для продажи приложений из Google Play Николай Маслухин Опубликовано 04 октября 2013 Популярность торговых автоматов в Японии широко известна, и купить в них можно многое — от жевательной резинки до бытовой
В магазине Google Play появились смартфоны Samsung Galaxy S4 и HTC One в версии Google Edition Николай Маслухин
В магазине Google Play появились смартфоны Samsung Galaxy S4 и HTC One в версии Google Edition Николай Маслухин Опубликовано 27 июня 2013 Сегодня ночью в американском Google Play стали доступны два наиболее интересных и мощных Android-cмартфона: HTC One и Samsung Galaxy S4. Оба телефона лишись
Почему Google не показала новый Android и другие разочарования Google I/O 2013 Николай Маслухин
Почему Google не показала новый Android и другие разочарования Google I/O 2013 Николай Маслухин Опубликовано 21 мая 2013 В прошлом году на конференции Google I/O 2012 было жарко. Среди новинок, о которых говорили со сцены, были Nexus7, Project Glass, Android 4.1, Google Now и
Без Google Reader: чем заменить незаменимый сервис Google, что теперь делать и кто в этом виноват Олег Парамонов
Без Google Reader: чем заменить незаменимый сервис Google, что теперь делать и кто в этом виноват Олег Парамонов Опубликовано 15 марта 2013 Компания Google объявила, что планирует закрыть RSS-агрегатор Google Reader. Это катастрофа, и не только для тех, кто пользовался
Проект Google Houses: городские скворечники в виде меток Google Maps Николай Маслухин
Проект Google Houses: городские скворечники в виде меток Google Maps Николай Маслухин Опубликовано 07 февраля 2013 Одна из самых узнаваемых интернет-иконок – красная капля-указатель сервиса Google Maps – возможно, станет символизировать единую сеть городских