Джеймс Уиттакер - Как тестируют в Google
- Название:Как тестируют в Google
- Автор:
- Жанр:
- Издательство:Издательский дом Питер
- Год:2014
- Город:СПб
- ISBN:978-5-496-00893-8
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Джеймс Уиттакер - Как тестируют в Google краткое содержание
В книге описано тестирование программных продуктов в Google: как устроены процессы, как организованы команды, какие техники используются, кто ответственен за качество. Принципы, на которых построено тестирование в Google, применимы в проектах и компаниях любого размера. Авторы книги сами работали над продуктами Google, создавая инструменты тестирования, настраивая процессы и занимаясь непосредственно тестированием. Книга рассчитана на профессионалов из индустрии разработки программного обеспечения: специалистов по тестированию, программистов, менеджеров.
Как тестируют в Google - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Мы успешно опробовали этот метод на краудсорс-тестировщиках. Они выполняли тесты с установленным BITE, причем они и тесты получали через это приложение. Больше не нужно было пристально следить за работой тестировщиков и оперативно распределять между ними тесты — за нас все делал BITE. Те, кто быстро выполнял тесты, автоматически получали новые. Если тестировщик делал перерыв или прекращал работу, его задания просто передавались другому участнику команды. С исследовательским тестированием BITE тоже здорово помог: описание каждого высокоуровневого тура мы оформили как тест, после чего их распределили между тестировщиками, которые уже заводили баги с помощью BITE.
Уровни BITE
Как и любое приложение, внутренние проекты всегда нужно делать расширяемыми. В BITE есть возможность размещения произвольных сценариев и их внедрения в тестируемую страницу. То есть в архитектуре есть несколько логических уровней: один из них, к примеру, позволяет разработчику удалять элементы со страницы в поисках причины бага. Уровни могут включаться и отключаться со специальной консоли. Мы исследуем, какие еще полезные уровни можно добавить. Сейчас, например, мы работаем над включением сценариев от команды безопасности.
BITE был создан как универсальное средство помощи всем тестировщикам. Сначала его фичи были реализованы отдельными расширениями, но команда решила, что целое — это не просто совокупность частей, и мы потратили немало усилий на то, чтобы эффективно свести все воедино в BITE.
Как и в случае с другими экспериментами, команда надеется вскоре открыть доступ к проекту широкому сообществу тестирования.
Проект BITE был переведен на модель открытого кода (подробнее в приложении В). Первым техническим руководителем был Алексис О. Торрес; сейчас проектом руководит Джейсон Стредвик. С ним работают Джо Мухарски, По Ху, Дэниел Дрю, Джулия Ральф и Ричард Бастаманте, когда им удается выкроить минутку в своих текущих проектах. На момент написания книги некоторые внешние компании внедряли BITE в свою инфраструктуру. Сейчас мы работаем над добавлением поддержки Firefox и Internet Explorer.
Google Test Analytics
Несмотря на то что анализ рисков нужен разработке как воздух, этот процесс часто происходит как попало. Если данным вообще удается покинуть головы участников команды, то часто они просто фиксируются в таблицах. Что в этом плохого?
— У данных нет единой схемы, потому что каждая таблица создается под конкретную ситуацию. Данные нельзя связать между собой, а это очень неудобно, если вы следите за несколькими проектами.
— Простые, но важные вещи, например четырехбалльная шкала оценки и общая схема названий из ACC-анализа, порой теряются при попытках сократить количество полей в таблицах.
— Данные не хранятся централизованно, поэтому недоступны всегда и всем. Командам приходится запрашивать друг у друга информацию устно при каждой необходимости.
— Разработка скриптов, которые связали бы анализ рисков с метриками продукта, обычно обходится дорого, поэтому редко сочетается с таблицами.
Google Test Analytics (GTA) — наша попытка решить эти проблемы. В интерфейс GTA встроены методы ACC-анализа, это простое приложение упрощает ввод данных и работу с рисками. Все данные представлены по одной схеме — менеджеры и директора могут легко получить сводку рисков по всем своим проектам, чтобы перераспределить ресурсы в более опасные области.
Итак, GTA поддерживает модель анализа рисков ACC. Атрибуты и компоненты вводятся в простые формы и формируют таблицы (рис. 3.42 и 3.43), а интерфейс позволяет добавлять возможности в ячейки при планировании тестирования (рис. 3.44). Чтобы добавить риск, нужно просто выбрать частоту и степень воздействия из выпадающих списков для каждой возможности. Все эти значения сводятся в общую витрину рисков. Итоговый риск для каждой области (рис. 3.45) считается простым усреднением рисков по ней. [59] Да, получается, что одна способность выского риска может потеряться в темном лесу других, менее рискованных. Это редкая ситуация, но мы умышленно создавали очень простой инструмент, помогающий думать, а не полностью работающий за вас.

Рис. 3.42. Test Analytics: ввод атрибутов для Google+

Рис. 3.43. Test Analytics: ввод компонентов для Google+

Рис. 3.44. Test Analytics: ввод возможностей в ячейке. Обратите внимание: вводится количество возможностей на пересечении, а не величина риска

Рис. 3.45. Test Analytics: карта рисков для Google+
Возможность связать расчет рисков с текущими данными проекта — это опциональная экспериментальная возможность GTA. Вы добавляете новые тесты, пишете новый код, находите новые дефекты, и оценка риска меняется. Как инженеры по тестированию, мы и так всегда держали все эти изменения в голове, эта фича просто позволяет опираться на фактические данные и делать это более системно. Тест-планы, даже основанные на рисках ACC, часто хороши в начале планирования тестирования. Но скоро они могут устареть и покрыться пылью. Хотя в GTA всегда можно внести любые изменения при получении любых новых данных, мы хотим автоматизировать и эту сторону планирования тестирования.
Пока GTA умеет связывать свои данные только с нашими внутренними базами, но мы работаем над избавлением от этой зависимости в будущем. Работая с возможностями в GTA, тестировщики могут ссылаться на секции или запросы в багтрекинговой системе, ветку кода или номер тест-кейса. В Google все используют одни и те же базы, поэтому это работает. Как только метрики багов, кода или тестов меняются, запускаются простые подсчеты и риски пересчитываются. Сейчас несколько команд разработки испытывают этот метод на себе.
Правила расчета, которые мы используем, постоянно меняются, поэтому мы их не будем здесь приводить. По сути, они показывают, как изменилось число багов, строк кода, прошедших и упавших тестов к завершению оценки рисков. Мы учитываем то, что у разных команд разные подходы, ведь некоторые заносят даже мельчайшие баги или по-другому измеряют свой код. Каждый компонент риска масштабируется в рамках условий проекта. Посмотрите примеры связей данных с рисками для Google Sites на рис. 3.46–3.48.

Рис. 3.46. Test Analytics: связь источников данных с риском
Читать дальшеИнтервал:
Закладка: