При использовании автоматических тестов для контроля качества многочисленных сборок наших программных решений, мы, вне всякого сомнения, получали изначальный выигрыш по сравнению с ручным тестированием. При этом, однако, условность, или неполнота автоматизации, связанная с большим объёмом ручных операций по запуску, настройке и обработке результатов, значительно снижала эффективность процесса, образуя в целом некий полуавтоматический гибрид в тестировании.
Что же за проблемы отнимали наше время и силы, равно как и в любой другой компании, работающей на том же уровне «полуавтоматики»?

Три вида скриптов


Для автоматического тестирования использовались, как минимум, три вида скриптов. Разумеется, это обуславливалось спецификой тестов, но нам от этого было не легче. Каждый скрипт требовал своей особой процедуры запуска, выполняемой вручную между запусками очередного автоматического теста.

Установка очерёдности


Установка очерёдности выполнения тестов, также выполняемая вручную, занимала значительное время и требовала немалых усилий.

Настройка окружения


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

Получение отчётов


Каждый вид скриптов давал отчёт по своей форме; две из них были абсолютно нечитаемы для менеджера, позволяя получить нужную информацию лишь ценой огромных усилий и напряжения, не говоря уже об усилиях переключения с одной формы на другую.

Столкнувшись с вышеперечисленными проблемами, я начал искать пути решения оных. Сошлись с боссом на том, что можно написать комплекс по управлению автоматическими тестами (у разработчиков было на тот момент свободное время). И вот, что мы получили через 3 месяца разработки (1 разработчик+1 тестер, итого, 6 человеко-месяцев).

Автономный процесс тестирования


Система управления автоматическими тестами, охватывающая весь цикл разработки программного обеспечения — от сборки очередной версии продукта до завершающей генерации отчёта о проведённых тестах, основана на базе Visual Studio 2008 & Hyper-V. Созданная система предоставляет возможность перехода от схемы «Разработчик – Тестировщик – Разработчик» к реально действующей схеме «Разработчик – Автоматизированная Система – Разработчик» при резком повышении качества и уровня тестирования. Благодаря своей универсальности, функциональной мощи и гибкости позволяет выполнять любые подготовленные тесты на любых программных продуктах.

Любые тесты на любых продуктах


Система, как единый инструмент для выполнения огромного количества самых разнообразных тестов (Visual Studio MS тесты, HP QTP и др.), при охвате всего цикла разработки ПО позволяет в автоматическом режиме фиксировать обнаруженные дефекты на TFS, управляя каждым этапом цикла; расширять и параметризовать саму систему автоматического тестирования, исходя из объёма имеющихся ресурсов, количества, типа и назначения тестов и тестируемых продуктов.
Дружественный пользовательский интерфейс позволяет легко выполнять множество операций по управлению и контролю действительного статуса ожидаемых/исполняемых/выполненных тестов, планированию тестов на разных версиях продукта с установкой приоритетов, параметризации системы в зависимости от окружения и условий функционирования и многое другое.
Система логирования, гибко использующая различные технологии для разных этапов тестирования, позволяет получать точную и подробную информацию о выполнении последовательности тестов и возникших проблемах.
Автоматическая регистрация дефектов на TFS без участия тестировщика, включающая в себя как открытие так и закрытие записей с возможностью параметризации этой функции высвобождает значительный резерв временных ресурсов компании.
Расширяемая архитектура данных система позволяет использовать современные технологии для хранения тестовой информации на разных ресурсах – файловом сервере, на Source Control Visual Studio 2008, на iSCSI.
Это лишь главные особенности системы управления автоматическими тестами; находясь в процессе постоянного развития и совершенствования этот уникальный программный продукт неуклонно приобретает всё новые функциональные возможности и особую надёжность, делающие его незаменимым инструментом для любой компании выпускающей или тестирующей программное обеспечение.

В данный момент мы работаем над созданием видеороликов, которые покажут, как работает система в реальных условиях. Как только сделаем — разместим на Yuotub'е.
Если кого-то заинтересовала наша система — пишите, всегда буду рад ответить на Ваши вопросы.

UPD: по просьбам трудящихся объединил в один топик. Скоро добавлю сухие технические данные. Пока так:
Осьминог работает с TFS 2008 как билд машина+BTS, HyperV как система виртуализации.