Тестирование — это не обособленный процесс
Автор: Нана Альгарад
Источник: Searchengines.ru
Тестирование — это не обособленный процесс. Это неотъемлемая составляющая разработки ПО, которая отвечает за продуктивность и, в конечном итоге, качество разработки, утверждают авторы книги и рассказывают, каким образом этот подход реализован в Google. Книга адресована специалистам по тестированию, менеджерам софтверных компаний и непосредственно разработчикам-программистам.
На момент написания книги Джеймс Уиттакер (James Whittaker) был техническим директором Google и отвечал за тестирование Chrome, Maps и веб-приложений Google. Джейсон Арбон (Jason Arbon) работал инженером по тестированию в Google, отвечал за Google Desktop, Chrome и Chrome OS. Джефф Каролло (Jeff Carollo) — разработчик в тестировании — занимался Google Voice, Toolbar, Chrome и Chrome OS. В 2010 году в качестве разработчика руководил разработкой Google+ API. Так что эти ребята знают, о чем говорят.
Развиваясь, Google менял подходы к тестированию. В результате вместо «службы тестирования» с минимальным штатом, появилось «направление продуктивности разработки», и в данном случае речь идет не о смене вывески, а об изменении подходов.
Основная мысль: тестирование — это не обособленный процесс. С плана тестирования, тест-кейсов, начинается разработка, тестированием сопровождается, и не заканчивается до тех пор, пока продукт есть на рынке. Сам стиль программирования в Google предполагает тестируемость. Такой подход породил и изменения в штатной структуре, и подход к найму людей в зависимости от специфики работы.
В структуре Google тестированием занимаются разработчики в тестировании, тестировщики, тест-менеджеры и инженеры по тестированию. У каждого — своя специфика, свое поле деятельности, которые отчасти пересекаются. В книге приведены варианты оценки людей на собеседовании: на примере решения конкретной задачи авторы показывают, каким образом в Google отбирают специалистов по тестированию, и чем именно психологически специалисты по тестированию отличаются от разработчиков.
Что приятно: рассказывая о своих методах работы, гуглеры не выдают их за истину в последней инстанции: отдельная глава книги «Как тестируют в Google» посвящена различным ошибками — как сугубо техническим, так и организационным.
Специалистов наверняка заинтересует подход Google к отлову багов. Google разрабатывает и использует три вида тестов — малые (или юнит-тесты), средние и большие (или гигантские). Есть репозиторий, в который вносятся обнаруженные ошибки, и в книге подробно описана его организация и система атрибуции. Но Google не стремиться сразу выдать идеальный код. Работает система оценки рисков: именно по ней принимаются решения, какие багги критичны, и их нужно устранять срочно, какие — могут подождать, а какие редки настолько, что заниматься их устранением просто невыгодно. Авторы сравнивают инструменты для автоматического тестирования, сравнивают области применимости его и ручного режимов, рассказывают о способах привлечения внешних тестировщиков.
Конкурентная среда диктует свои законы, и, если сосредоточиться на тестировании и устранении багов в новом продукте, потратить время, он может устареть еще до выхода на рынок. Поэтому компания все-таки выводит в свободное пользование не доведенные до совершенства продукты, прошедшие тестирование и устранение критических багов внутри Google. Тут в дело вступают ранние пользователи: именно они служат источником наиболее важной информации для Google, выявляя ошибки и сообщая о недостатках. Разумней сразу сделать доступным пользователям работоспособный продукт, и устранять ошибки по мере их обнаружения, считают в Google, совершенствовать его постоянными обновлениями, чем годами чистить код. Пример этого подхода — Gmail, которой находился в статусе бета-тестирования 4 года, уже насчитывая миллионы пользователей.
В приложениях книги приведены тест-план Chrome OS, тестовые туры для Chrome, посты из гугловского блога об инструментах и коде.
«Как тестируют в Google» была написана в 2011 году. Уже тогда авторы видели ряд проблем в сложившейся в компании системе тестирования и предрекали ее изменение. Однако идеи и подходы, описанные в книге, после адаптации могут быть использованы и сейчас.
|