ebook img

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

320 Pages·2013·7.516 MB·Russian
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

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

ББК 32.973.2-018-07 УДК 004.415 У13 Дж. Уиттакер, Дж. Арбон, Дж. Каролло У13 Как тестируют в Google. — СПб.: Питер, 2014. — 320 с.: ил. ISBN 978-5-496-00893-8 В книге описано тестирование программных продуктов в Google: как устроены про- цессы, как организованы команды, какие техники используются, кто ответственен за ка- чество. Принципы, на которых построено тестирование в Google, применимы в проек- тах и компаниях любого размера. Авторы книги сами работали над продуктами Google, создавая инструменты тестирования, настраивая процессы и занимаясь непосредствен- но тестированием. Книга рассчитана на профессионалов из индустрии разработки про- граммного обеспечения: специалистов по тестированию, программистов, менеджеров. 12+ (Для детей старше 12 лет. В соответствии с Федеральным законом от 29 декабря 2010 г. № 436-ФЗ.) ББК 32.973.2-018-07 УДК 004.415 Authorized translation from the English language edition, entitled How Google Tests Software; ISBN 9780321803023; by James A. Whittaker, Jason Arbon, Jeff Carollo; published by Pearson Education, Inc Copyright © 2012 Pearson Education, Inc All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc. Права на издание получены по соглашению с Pearson Education, Inc. Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав. Информация, содержащаяся в данной книге, получена из источников, рассматриваемых издательством как надежные. Тем не менее, имея в виду возможные человеческие или технические ошибки, издательство не может гарантировать абсолютную точность и полноту приводимых сведений и не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-0321803023 англ. © Pearson Education, Inc., 2012 ISBN 978-5-496-00893-8 © Перевод и издание на русском языке ООО Издательство «Питер», 2014 © Рецензирование ООО «Иннова Системс», 2014 © Оформление ООО Издательство «Питер», ООО «Иннова Системс», 2014 Содержание Предисловие к русскому изданию ..........................................................................10 Вступление от Альберто Савоя ................................................................................12 Вступление от Патрика Коупленда .........................................................................16 Предисловие .............................................................................................................22 Пара слов о книге .................................................................................................24 Благодарности ......................................................................................................25 Об авторах ................................................................................................................27 Глава 1. Первое знакомство с организацией тестирования в Google..................28 Качество ≠ Тестирование .....................................................................................33 Роли ......................................................................................................................34 Организационная структура ...............................................................................37 Ползти, идти, бежать ............................................................................................38 Виды тестов ..........................................................................................................40 Глава 2. Разработчик в тестировании .....................................................................44 Жизнь разработчика в тестировании..................................................................46 Как организованы процессы разработки и тестирования .................................47 Кто такие разработчики в тестировании на самом деле? ..................................51 Ранняя стадия проекта ........................................................................................52 Структура команды ..............................................................................................54 Проектная документация ....................................................................................55 5 Интерфейсы и протоколы ....................................................................................57 Планирование автоматизации ............................................................................58 Тестируемость ......................................................................................................59 Пример работы разработчика в тестировании ...................................................63 Выполнение тестов ..............................................................................................74 Определения размеров тестов .............................................................................75 Как мы используем размеры тестов в общей инфраструктуре ..........................77 Преимущества разных размеров тестов .............................................................79 Требования к выполнению тестов.......................................................................81 Тест-сертификация ..............................................................................................87 Интервью с основателями программы тест-сертификации .........................89 Как мы собеседуем на позицию разработчиков в тестировании .......................96 Интервью с разработчиком инструментов Тедом Мао ...............................103 Интервью с создателем WebDriver Саймоном Стюартом ...........................105 Глава 3. Кто такой инженер по тестированию .....................................................109 Тестирование, обращенное к пользователю .....................................................109 Инженер по тестированию ................................................................................110 Планирование тестирования .............................................................................114 A — значит Attribute ......................................................................................117 C — значит Component ..................................................................................121 C — значит Capability ....................................................................................122 Риск.....................................................................................................................132 Анализ рисков ...............................................................................................133 Снижение рисков ...............................................................................................138 Напоследок о рисках ..........................................................................................141 Пишем тест-кейсы .............................................................................................145 Интересные факты из жизни багов ...................................................................150 Немного подробнее о Buganizer ........................................................................151 Как мы нанимаем инженеров по тестированию ..............................................164 Собеседование с инженерами по тестированию ..............................................168 Управление тестированием в Google ................................................................173 Тестирование в режиме сопровождения ...........................................................178 Эксперимент с Quality Bots ................................................................................182 Эксперимент BITE ..............................................................................................195 Регистрируем баги с BITE .............................................................................197 Просмотр багов в BITE ..................................................................................199 Запись и воспроизведение сценариев в BITE ..............................................201 Ручные и исследовательские тесты в BITE ..................................................205 Уровни BITE ..................................................................................................205 Google Test Analytics ...........................................................................................206 6 Бесплатное тестирование ..................................................................................212 Внешние тестировщики .....................................................................................216 Интервью с инженером по тестированию Google Docs Линдси Уэбстер .........218 Интервью с инженером по тестированию YouTube Эппл Чоу ..........................224 Глава 4. Тест-менеджер ..........................................................................................231 Кто такой тест-менеджер ...................................................................................231 Жонглирование людьми и дирижирование проектами ...................................233 Влияние ..............................................................................................................235 Интервью с Анкитом Мехтой, тест-менеджером Gmail ...................................237 Интервью с Хуном Даном, тест-менеджером Android ......................................244 Интервью с Джоэлом Хиноски, тест-менеджером Chrome ..............................249 Директор по тестированию ...............................................................................254 Интервью с Шелтоном Маром, директором по тестированию проектов Search и Geo .....................................................................................................255 Интервью с директором разработки инженерных инструментов Ашишем Кумаром ...........................................................................................259 Интервью с Суджаем Сани, директором по тестированию в индийском Google ........................................................................................263 Интервью с тест-менеджером Брэдом Грином .................................................268 Интервью с Джеймсом Уиттакером ..................................................................272 Глава 5. Как мы улучшали тестирование в Google ..............................................279 Роковые ошибки в процессе тестирования Google ...........................................279 Будущее разработчика в тестировании ............................................................282 Куда движется роль инженера по тестированию ..............................................283 Что станет с тест-директором и тест-менеджером ...........................................285 Будущее инфраструктуры тестирования ..........................................................285 В завершение .....................................................................................................286 Приложение А. Тест-план для Chrome OS ............................................................287 Обзор тем ...........................................................................................................287 Анализ рисков ....................................................................................................288 Непрерывное тестирование каждой сборки .....................................................289 Ежедневное тестирование лучших сборок ........................................................289 Тестирование перед выпуском ..........................................................................290 Ручное и автоматизированное тестирование...................................................290 Разработка и качество тестов ............................................................................291 Каналы выпуска .................................................................................................291 Обратная связь ...................................................................................................291 Репозитории тест-кейсов ...................................................................................292 Панели мониторинга тестов ..............................................................................292 Виртуализация ...................................................................................................292 7 Производительность ..........................................................................................293 Нагрузочное тестирование, продолжительное тестирование и тестирование стабильности ........................................................................293 Фреймворк выполнения тестов Autotest ..........................................................293 Производители железа.......................................................................................293 Лаборатория проверки оборудования ..............................................................294 Фермы для сквозных автотестов ......................................................................294 Тестирование AppManager в браузере...............................................................294 Тестируемость браузера .....................................................................................295 Оборудование .....................................................................................................296 График ................................................................................................................296 Ключевые моменты тестирования ....................................................................298 Необходимые документы и ресурсы .................................................................299 Приложение Б. Тестовые туры для Chrome .........................................................300 Тур покупателя ...................................................................................................300 Тур студента .......................................................................................................301 Рекомендуемые области для тестирования .................................................302 Тур международных звонков ............................................................................302 Рекомендуемые области для тестирования .................................................302 Тур ориентиров ..................................................................................................303 Рекомендуемые ориентиры для Chrome .....................................................303 Тур «не спим всю ночь» .....................................................................................303 Рекомендуемые области для тестирования .................................................304 Тур предпринимателя........................................................................................304 Инструменты в Chrome ................................................................................305 Тур неблагополучных районов ..........................................................................305 Неблагополучные районы в Chrome OS .......................................................305 Тур персонализации ..........................................................................................306 Способы настройки Chrome .........................................................................306 Приложение В. Посты из блога об инструментах и коде ...................................307 Охотимся на баги и потерянное время вместе с BITE ......................................307 QualityBots идет в атаку .....................................................................................310 RPF: Record Playback Framework ........................................................................312 Google Test Analytics — теперь с открытым кодом ...........................................315 Полнота .........................................................................................................315 Скорость ........................................................................................................315 Действенность...............................................................................................316 Польза ............................................................................................................316 8 Всем тестировщикам из Google, Microsoft и всех остальных компаний, которые заставили меня мыслить нестандартно. – Джеймс А. Уиттакер Моей жене Хизер и моим детям Луке, Матео, Данте и Одессе, которые думали, что я все это время работал в Starbucks. – Джейсон Арбон Маме, папе, Лорен и Алексу. – Джефф Каролло Предисловие к русскому изданию Я пришла в тестирование в 2006 году маленьким тестировщиком на большой аутсорсный проект. Сначала я научилась тестировать, заводить баги и общаться с разработчиками и менеджерами. Со временем я стала писать тесты, научилась планировать и управлять тестированием. У меня появилась своя команда.  И чем дальше, тем больше мне становилось понятно, что тестировщики только находят проблемы, но не могут их исправить. Они не могут сделать так, чтобы проблема больше не повторилась. И я чувствовала, что тестирование может при- носить больше пользы. Я начала ездить на конференции, читала книги и статьи по тестированию, обща- лась с коллегами по индустрии. Везде учили, как лучше тестировать, как находить больше ошибок, как быстрее находить ошибки. Тестировщики не хотели выходить за рамки своей профессии. Им как будто нравилось чувствовать собственную важ- ность от того, что они нашли много багов. Ответы на свои вопросы я нашла в статьях и докладах Джеймса Уиттакера. Его основная идея в том, что тестирование должно перестать просто предоставлять информацию и начать влиять на качество. Главная задача тестирования, говорил Уиттакер, — это уменьшение количества ошибок в процессах разработки. Тогда улучшится качество выпускаемого продукта.  Создать процесс, в котором сложно допустить ошибку, — вот настоящая цель тестирования. Мы не можем полностью избавиться от ошибок, но можем построить работу так, что сделать сразу правильно будет легче, чем ошибиться. В Google пошли именно в эту сторону, отказавшись от тестирования, которое просто сообщало об ошибках. «Служба тестирования» трансформировалась в «На- правление продуктивности разработки», которое помогает разработчикам и ме- неджерам делать меньше ошибок и получать обратную связь как можно раньше. Тестировщики в Google влияют на качество, потому что встраивают его на всех этапах разработки программных продуктов. 10

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.