Пишем тест-кейсы

Пишем тест-кейсы

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

Чаще всего тест-кейсы хранились в электронных таблицах и документах. Коман­ды, работающие по быстрым методологиям с короткими циклами выпуска, не очень заботятся о сохранении тест-кейсов. Как только выходит новая фича, скрипты начинают падать, и тесты приходится переписывать заново. Поэтому документа, который можно использовать, а потом с чистым сердцем удалить, — вполне достаточно. Формат такого документа не подойдет для конкретных тест-кейсов с действиями, но сгодится для описания контекста тестовой сессии. Такие тесты обычно менее регламентированы и, по сути, просто указывают, какие фичи нужно исследовать.

Конечно, есть команды, которые хранят тестовые процедуры и данные в довольно сложных таблицах. Некоторые даже копируют данные ACC-анализа в электронные таблицы, потому что они, видите ли, более гибкие, чем Google Test Analytics. Но такой подход требует дисциплины и целостности в команде, ведь работа одного тестировщика может ограничить работу другого. Большим командам с их текучкой нужен другой подход. Нужна структура, которая переживет любого участника команды.

Электронные таблицы все же удобнее документов, потому что в них имеются подходящие столбцы для процедур, данных и отметок о результатх. Их легко настроить под себя. Google Sites и другие разновидности онлайновых вики-систем часто используют, чтобы транслировать тестовую информацию другим заинтересованным людям. Их легко использовать совместно и редактировать.

С ростом Google у многих команд росли объемы тест-кейсов, ими нужно было лучше управлять. Некоторые документы с тест-кейсами выросли до таких размеров, что даже поиск в них стал невозможен. Нужен был новый подход. Наши тестировщики построили систему на основе нескольких коммерческих продуктов и доморощенных систем управления тест-кейсами, знакомых им по предыдущим местам работы. Систему назвали Test Scribe.

Test Scribe хранит тест-кейсы в жесткой структуре. Можно включить или исключить тест-кейс из конкретной тестовой сессии. Реализация была примитивной, и энтузиазм по поводу ее использования быстро угас. И хотя многие команды оставили что-то от нее и возились с этим несколько кварталов, мы ее все-таки похоронили. В 2010 году Джорданна Корд, старший разработчик в тестировании, написала новую программу. Это была система Google Test Case Manager (GTCM).

Рис. 3.10. Домашняя страница GTCM сосредоточена на поиске

GTCM создали, чтобы сделать процесс написания тестов проще, создать гибкий формат тегов, который можно адаптировать под любой проект, упростить поиск и повторное использование тестов. И ­— самое важное — интеграция GTCM с остальной инфраструктурой Google. Посмотрите на снимки экранов GTCM (рис. 3.10–3.14). На рис. 3.11 показана страница создания тест-кейса. Можно создавать произвольные разделы или метки, поэтому GTCM поддерживает любые схемы, от классических тестов до исследовательских туров, «огурцов»[40] и описаний пользовательских историй. Некоторые тестовые команды даже хранят фрагменты кода и данные прямо в тест-кейсах GTCM. GTCM помогает в работе любым тестовым командам и учитывает их различающиеся представления тест-кейсов.

Рис. 3.11. Создание проекта в GTCM

Рис. 3.12. Создание теста в GTCM

Рис. 3.13. Просмотр тест-кейсов при поиске Chrome в GTCM

Рис. 3.14. Простой тест-кейс для диалогового окна About в Chrome

Метрики, полученные от GTCM, дают представление о том, что происходит с тест-кейсами в общем. Можно понаблюдать за графиками общего количества тестов и результатов тестов на рис. 3.15 и 3.16. Общее количество тестов приближается к асимптоте. Это потому, что Google закрывает старые проекты, ориентированные на ручное регрессионное тестирование, вместе с их тестами. Кроме того, GTCM в основном содержит ручные тесты, а многие команды заменяют ручные методы тестирования автоматизацией, краудсорсингом или исследовательским тестированием. Поэтому общее число тест-кейсов во внутренней базе TCM уменьшается, хотя покрытие при этом увеличивается. Количество проведенных тестов тоже увеличивается, так как в этой области доминируют несколько больших команд, для которых ручное тестирование обязательно (например, команда Android).

Рис. 3.15. Изменение количества тестов со временем в GTCM

Общее количество проведенных ручных тестов, как и следовало ожидать, увеличивается (рис. 3.16).

Рис. 3.16. Изменение количества результатов тестов со временем в GTCM

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

Рис. 3.17. Изменение общего количества багов, заведенных в ходе выполнения тестов GTCM, со временем

Основным требованием к GTCM с самого начала было наличие четкого и простого API. На самом деле и у системы TestScribe был API, но он базировался на SOAP, а схема аутентификации была настолько недружелюбной, что ею мало кто пользовался. Кроме того, с повышением внутреннего уровня безопасности тот режим аутентификации стал непригодным. Эти проблемы решились, когда у GTCM появился RESTful JSON API.

Команда разработки собирается скоро открыть GTCM для внешнего использования. Мы надеемся перевести эту базу данных тест-кейсов на модель открытого кода, чтобы поддерживать ее всем миром. Система GTCM проектировалась с расчетом на продолжение использования извне. Она построена на базе Google App Engine для обеспечения масштабируемости и для того, чтобы другие компании могли развернуть у себя свою копию системы. Внутренняя структура GTCM сделана так, чтобы отделить большую часть логики и пользовательских интерфейсов от Google App Engine, чтобы люди могли портировать систему. Следите за Google Testing Blog, если хотите узнать больше об этом процессе.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

5.1. Все гениальное – просто. Пишем вирус одной строкой!

Из книги Защити свой компьютер на 100% от вирусов и хакеров автора Бойцев Олег Михайлович

5.1. Все гениальное – просто. Пишем вирус одной строкой! Можно ли создать вирус, который не будет светиться в базах антивирусов? Можно. И чтобы этот вирус форматировал диски и «убивал» Windows? Можно. Парой строчек? Можно! Только никому (листинг 5.1)…Листинг 5.1. Всего две строки@echo


Часть 3. Пишем рыбу.

Из книги Пишем драйвер Windows на ассемблере автора Компьютеры Автор неизвестен -

Часть 3. Пишем рыбу. 3.1. Итак, приступим. Вы можете проследить за последовательностью и содержанием действий, открыв файл main.asm для просмотра.Начнём, пожалуй, так:.586p ; Процессор Intel Pentium, разрешены инструкции защищённого режима.model flat, stdcall ; Здесь всё ясно. Плоская модель


2.3.1. Пишем

Из книги Яндекс для всех автора Абрамзон М. Г.

2.3.1. Пишем Над списком писем расположено несколько ссылок. Первая из них переведет вас в режим редактирования нового письма. Обязательное поле только одно — Кому. Не заполните — некуда будет отправлять письмо. Поле Тема желательно, но, в крайнем случае, можно обойтись и


Глава 18. Пишем и считаем

Из книги Наглядный самоучитель работы на нетбуке автора Сенкевич Г. Е.

Глава 18. Пишем и считаем Из этой главы вы узнаете:® Как пользоваться простейшим текстовым редактором Блокнот.® Каковы возможности встроенного редактора WordPad.® Как копировать и вставлять текст.® Как искать и заменять текст.® Как выполнять расчеты с помощью встроенного


7.4. Пишем письмо. Адресная книга

Из книги С компьютером на ты. Самое необходимое автора Егоров А. А.

7.4. Пишем письмо. Адресная книга Чтобы написать новое письмо, в Outlook Express и Почте Windows нажмите на панели инструментов кнопку Создать либо откройте меню Файл и выберите в подменю Создать опцию Почтовое сообщение. В Почте Windows Live щелкните на кнопке Создать и в открывшемся


Пишем интересный план

Из книги Инфобизнес на полную мощность [Удвоение продаж] автора Парабеллум Андрей Алексеевич


Пишем письма

Из книги Интернет для женщин автора Пастернак Евгения


2.4.4. Пишем контент

Из книги Графика DirectX в Delphi автора Краснов Михаил

2.4.4. Пишем контент Вам необходимо стать писателем, оптимизируя сайт под социальные медиа. Графомания – это удел SMO.Социальные сети как ничто другое – мощный инструмент самовыражения. Каждый может в любой момент опубликовать свои мысли и ознакомить с ними всех желающих в


Урок 14 Пишем письма

Из книги Учись программировать (на Ruby) автора Пайн Крис

Урок 14 Пишем письма Итак, приветствую вас на нашем 14-м уроке.Включайте компьютер, соединяйтесь с Интернетом, запускайте браузер и топайте сразу на mail.ru. Пока мы научились только получать письма, сейчас потихоньку освоим все остальное.Начнем урок с адресной книги.Если вы


Что станет с тест-директором и тест-менеджером

Из книги Офисный компьютер для женщин автора Пастернак Евгения

Что станет с тест-директором и тест-менеджером Как все эти ролевые изменения отразятся на менеджерах, директорах и вице-президентах по тестированию? Их станет меньше. Те из них, у кого есть технические знания, перейдут на другие роли, более подходящие их инженерной


Пишем, пишем, пишем…

Из книги Социальные сети. ВКонтакте, Facebook и другие… автора Леонтьев Виталий Петрович

Пишем, пишем, пишем… Вы решили написать письмо, стихи, рецепт, просто какой-нибудь текст.Вам нужен чистый лист.1. Кликаем правой кнопкой на ПУСТОМ месте рабочего стола.2. Выпадает список, в котором находим строчку СОЗДАТЬ.3. Кликаем по ней левой кнопкой.4. Выпадает ещё один


Пишем письмо

Из книги автора

Пишем письмо После того как вы нажмете кнопку Создать, вы увидите бланк письма (рис. 4.12).Посмотрите на меню этого окна. Правда же, оно вам знакомо?Вкладка Сообщение. Эта вкладка открыта на рис. 4.12. Про группы Буфер обмена и Основной текст даже не буду рассказывать, про них в


Пишем сообщения

Из книги автора

Пишем сообщения Ну а теперь, когда мы настроили внешний вид нашего дневника, пора приступить к его наполнению – не вечно же вашим гостям ломать глаза о голый дизайн! Вновь обращаемся к нашей всемогущей «шапке» и ищем там строчку Новая запись. Можно отправиться не в