Visual Studio 2012

Что нового в Microsoft Test Manager 2012

Михел Лернд
Судир Адимулам
Тим Стар

В этой статье обсуждается предварительная версия Microsoft Test Manager 2012. Любая изложенная здесь информация может быть изменена.

Продукты и технологии:
Microsoft Test Manager 2012
В статье рассматриваются:

  • исследовательское тестирование (exploratory testing);
  • оптимизация производительности;
  • запись видео и аудио;
  • работа с Visual Studio Team Foundation Server;
  • тестирование приложений Windows Store.

В этой статье мы расскажем о некоторых новых средствах Microsoft Test Manager 2012 (MTM), которые используются Visual Studio ALM Rangers.

Напомним: ALM Rangers — это группа экспертов, которая способствует кооперации группы продуктов Visual Studio, Microsoft Services и сообщества Microsoft Most Valuable Professional (MVP), занимаясь восполнением недостающей функциональности, снимая различные препятствия, мешающие внедрению тех или иных продуктов, и публикуя рекомендации и руководства, основанные на практическом опыте.

Ниже обсуждаются различные средства MTM 2012.

Исследовательское тестирование (exploratory testing) Его иногда называют тестированием по месту (ad hoc testing) и определяют как тестирование ПО без определенного скрипта. Идея в том, чтобы довериться творческой жилке тестера и выявить ошибки с его помощью, не создавая пошаговые скриптовые тесты для каждого цикла тестирования и каждого сценария использования. В первой версии MTM, выпущенной в 2010 г., исследовательское тестирование поддерживалось через регистрацию ошибки, выявленной исследовательским тестированием («exploratory bug»), средствами Microsoft Test Runner. Этот инструмент позволял выполнять набор действий в рабочем процессе без скриптов, и, как только обнаруживалась ошибка, тестер мог сократить все записанные действия до последовательности необходимой для воспроизведения ошибки; эта последовательность включалась в отчет об ошибке.

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

Использование исследовательского тестирования значительно улучшено в выпуске за 2012 г. В предыдущем выпуске регистрация ошибки, выявленной исследовательским тестированием, требовала предварительного прогона тестового сценария (test case) из Microsoft Test Runner. Пользователи могли создать «фиктивный» тестовый сценарий и назвать его, например, «Exploring» или задействовать какой-нибудь из существующих тестовых сценариев. Оба варианта были неудобны и затрудняли использование средств исследовательского тестирования. В MTM 2012 тестовый сценарий для исследовательского тестирования больше не нужен, и введено несколько других способов начинать сеансы такого тестирования. Чтобы приступить к работе, просто щелкните правой кнопкой мыши набор тестов (test suite) в плане тестирования (test plan) и выберите Explore. Пользователи также могут сопоставить исследовательское тестирование с каким-либо требованием, которое обеспечивает связывание ошибок и тестовых сценариев, созданных для рабочих элементов этого требования. С этой целью запустите сеанс исследовательского тестирования из элемента в списке незавершенных задач (backlog item) в MTM 2012, как показано на рис. 1..

Действия, необходимые для запуска исследовательского тестирования с помощью MTM
Рис. 1. Действия, необходимые для запуска исследовательского тестирования с помощью MTM

В процессе этого сеанса тестеры могут создавать дополнительные данные для ошибок в форме экранных снимков, комментариев и вложенных файлов. Окно исследовательского тестирования, представленное на рис. 2, обеспечивает удобную работу для тестеров. Крупные значки облегчают создание отчетов об ошибках (create bugs) и тестовых сценариев; кроме того, можно набирать и форматировать заметки в поле свободного формата (free-form field). Набираемые заметки и любые данные, созданные тестерами, например экранные снимки, добавляются в отчет об ошибке или тестовый сценарий по мере их создания. Пользователи могут добавлять или удалять какие-то действия, отклоняясь от записанного набора действий.

Сеанс исследовательского тестирования в MTM
Рис. 2. Сеанс исследовательского тестирования в MTM

Создание новых отчетов об ошибках и тестовых сценариев на основе сеанса исследовательского тестирования — один из примеров общего рабочего процесса, но пользователи могут также открывать и обновлять существующие отчеты об ошибках и сценарии ручных тестов (manual test cases).

Сценарии для исследовательского тестирования в MTM 2012 Исследовательское тестирование в MTM 2012 осуществляется быстро и адаптируется под ваши требования. Тестеры могут приостанавливать и возобновлять тестирование, что обеспечивает высокую гибкость пользовательской среды. Один из сценариев поддержки приложений во многих организациях — ответы на телефонные звонки клиентов, в ходе которых специалисты техподдержки вместе с конечным пользователем проходят по приложению в попытке воспроизвести ошибку. Зачастую специалисты техподдержки делают заметки и экранные снимки, а потом отсылают отчет об ошибке разработчикам. Средства исследовательского тестирования в MTM 2012 теоретически позволяют специалистам проходить по приложению в сеансе исследовательского тестирования, находясь на связи с конечным пользователем по телефону, а затем предоставлять группе разработчиков богатую информацию с последовательностью действий для воспроизведения ошибок. Закончив телефонный разговор, специалист по техподдержке может завершить текущий сеанс тестирования и начать следующий при очередном звонке.

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

Более высокая производительность Это было главной целью нового выпуска, и группа данного продукта проделала большую работу в этой области. Улучшены подключение к плану тестирования, отображение тестов в наборе, запуск Microsoft Test Runner, сохранение рабочих элементов и создание лабораторной среды. Помимо этих улучшений, введена поддержка Visual Studio Team Foundation Server (TFS) Proxy для вложений (attachments), чтобы группы, использующие MTM 2012 и TFS Proxy, получили выигрыш в производительности, аналогичный тому, который достигнут в операциях системы контроля версий. Вложения кешируются на прокси-сервере, избавляя каждого потребителя вложения от ожидания его загрузки с TFS. Ряд других менее значимых усовершенствований включает добавление списка «недавно использовавшихся элементов», из которого можно выбрать нужное, не пролистывая полный список. Кроме того, назначение конфигураций упрощено за счет поддержки единого списка конфигураций.

Усовершенствования редактора тестовых сценариев Хотя это не бросается в глаза, сетка этапов тестов (рис. 3) была полностью переписана. Функции, ранее доступные через пакеты «горячих исправлений» (hotfix packs) и дополнительных компонентов (feature packs), теперь доступны по умолчанию. Данная сетка поддерживает форматированный текст и многострочные этапы тестов. Кроме того, поддерживается копирование и вставка из Microsoft Excel или Microsoft Word. Также улучшено размещение элементов на экране за счет удаления рамок вокруг полей тестовых сценариев в верхней части экрана и добавления разделителя между сеткой этапов тестов и областью параметров в нижней части.

Усовершенствования редактора тестовых сценариев
Рис. 3. Усовершенствования редактора тестовых сценариев

Компонент записи видео больше не требует отдельной установки, и пользователи могут дополнительно включать запись звука.

Клонирование наборов тестов в другие планы для новых итераций Частый вопрос от пользователей MTM: «Как скопировать план тестирования без потери возможности отслеживания?». MTM 2010 позволяла копировать планы, при этом создавался новый план, а новые тестовые сценарии не создавались. Вместо этого новый план тестирования ссылался на существующие тестовые сценарии. То есть изменение какого-либо тестового сценария в одном из планов влекло изменение этого сценария и в другом плане. Для групп, которым требовалась поддержка абсолютного отслеживания, такое поведение было нежелательно. Этим группам приходилось использовать сторонние утилиты или прибегать к низкоуровневому программированию через TFS API для достижения нужных результатов.

Клонирование плана тестирования теперь является функцией TCM.exe, утилиты командной строки Test Case Management. Клонирование плана тестирования приводит к клонированию тестовых сценариев, общих этапов, наборов тестов, назначенных тестеров, конфигураций, записей действий, ссылок, вложений и конфигураций тестов. Параметры тестов, результаты тестов и прогоны не клонируются. Кроме того, не копируются и наборы на основе требования (requirement-based suites). Клонирование исходных требований и их сопоставление с новыми тестовыми сценариями или сопоставление новых тестовых сценариев со старыми требованиями осуществляется вручную.

Операция клонирования выполняется TCM.exe в командной строке Visual Studio. Вы должны указать набор (collection), набор-источник (source suite), набор-получатель (destination suite) и значение для нового плана тестирования. Дополнительно можно использовать параметры overridefieldname и overridefieldvalue, чтобы задать новые пути области (area path) и итерации (iteration path) либо использовать собственные поля тестового сценария, добавленные в шаблон рабочего элемента тестового сценария.

Формат команды suites утилиты Tcm.exe выглядит так:

Tcm.exe suites /clone /collection:CollectionURL
  /teamproject:project /¬suiteid: id /destinationsuiteid: id
  /overridefieldname: fieldname /¬overridefieldvalue: fieldvalue

Следующая команда скопирует набор с идентификатором 100 в набор с идентификатором 115:

tcm.exe suites /clone /collection:http://myTFS:8080/tfs/
  sampleTPC /teamproject:sampleTeamProject /suiteid:100
  /destinationsuiteid:115 /overridefieldname:"Iteration Path"
  /overridefieldvalue:"areapath\sprint 2"

Набор группового проекта называется sampleTPC, а групповой проект — sampleTeamProject. Новый путь итерации будет «areapath\sprint 2».

Заметьте: вы можете найти идентификатор набора тестов, выделив этот набор в содержимом плана и посмотрев на идентификатор, показываемый рядом с именем набора в заголовке справа над списком тестовых сценариев.

Ссылка на версию тестового сценария только для чтения Она предоставляется теперь в Microsoft Test Runner. Кроме того, поле описания теста в Microsoft Test Runner поддерживает полноценное форматирование текста, как показано на рис. 4.

Усовершенствования в Microsoft Test Runner
Рис. 4. Усовершенствования в Microsoft Test Runner

Улучшения в записи видео Компонент записи видео больше не требует отдельной установки, и пользователи могут дополнительно включать запись звука. Запись звука можно включать и выключать в Diagnostic Data Adapter для компонента видеозаписи, как показано на рис. 5.

Включение записи звука
Рис. 5. Включение записи звука

Навигация в MTM Навигация улучшена в нескольких отношениях. Вы заметите, что в разных местах этого продукта размещается кнопка Copy Link (рис. 6).

Кнопка Copy Link
Рис. 6. Кнопка Copy Link

Щелчок этой ссылки приведет к копированию URL в буфер обмена, и вы сможете отправить коллеге по электронной почте гиперссылку на просматриваемый вами элемент.

Щелчок гиперссылки, содержащей этот адрес, запустит MTM 2012 и приведет пользователя прямо к результату теста, определенному по идентификаторам, которые включаются в гиперссылку.

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

В правом верхнем углу окна MTM всегда была гиперссылка для перехода к списку планов. Эта функция существует по-прежнему, но теперь появилась гиперссылка и на групповой проект.

Подключение к TFS 2010 Большая часть функционала MTM (например, планирование и выполнение тестов, сбор данных и использование лабораторных сред) прекрасно работает в несовпадающих версиях MTM и TFS. Для работы с MTM 2012 вам нужно установить TFS 2010 SP1 и последние обновления. Однако новые функции вроде исследовательского тестирования не будут работать, пока вы не обновите TFS 2010 до TFS 2012.

Отчеты MTM предоставляет различные виды отчетов для отслеживания и определения эффективности тестирования. Отчеты помогают выяснить, какие тестовые сценарии были пройдены, провалены или блокированы. MTM 2012 позволяет просматривать эти результаты нажатием ссылки Results на вкладке Plan (рис. 7). При этом открываются результаты для самого последнего прогона тестов. Вы можете просматривать результаты на основе конфигурации тестов или на основе набора тестов. Помимо этого, можно увидеть результаты по индивидуальному тестеру.

Результаты прогона тестов
Рис. 7. Результаты прогона тестов

Сокращение тестовых данных для уменьшения нагрузки на хранилище TFS По умолчанию в MTM 2010, когда результаты автоматизированных прогонов тестов публикуются в TFS 2010, загружаются элементы развертывания и двоичные файлы всех тестовых прогонов. Их можно использовать впоследствии для повторного прогона тестов и анализа неудач. Этот подход влечет за собой большие издержки в отношении хранилища TFS и проблемы с производительностью на клиентской стороне при открытии результатов тестов. В MTM 2012 по умолчанию в базу данных TFS загружаются только файлы, содержащие результаты тестов, и другие вложения с собранными данными. Двоичные файлы загружаются в TFS 2012, только когда включен анализ охвата кода тестами (code coverage analysis) или анализ влияния тестов (test impact analysis).

Пометка результатов тестового сценария в MTM без запуска Microsoft Test Runner В MTM 2010 нет возможности отметить несколько тестовых сценариев как пройденные или неудачные. Тестер может лишь указать состояние отдельного тестового сценария, и это приходится делать из окна Microsoft Test Runner, что весьма утомительно. В MTM 2012 тестеры могут отмечать один или несколько тестовых сценариев как пройденные, неудачные или блокированные прямо на экране Run Tests вкладки Test. Кроме того, можно выбрать команду Reset the test to active (рис. 8).

Пометка результатов тестового сценария в MTM
Рис. 8. Пометка результатов тестового сценария в MTM

Ручное тестирование приложений Windows Store MTM 2012 помогает повысить эффективность ручного тестирования приложений Windows Store. С помощью MTM 2012 вы можете тестировать приложения Windows Store, выполняемые на удаленном устройстве с Windows 8, таком как планшет или Windows 8 PC. Этапы теста можно выполнять на удаленном устройстве с Windows 8 и в то же время отмечать этапы как пройденные или проваленные в MTM 2012 на локальном компьютере. MTM 2012 позволяет генерировать журналы регистрации операций (action logs) с видеозаписью и описанием ваших действий в виде текста и изображений, создавая пошаговые представления действий, которые вы выполняли на удаленном устройстве.

Ручное тестирование приложений Windows Store состоит из трех этапов. На первом этапе устанавливается Remote Debugger, включающий сервис Microsoft Test Tools Adapter. На втором — устанавливается соединение с удаленным устройством через MTM 2012. Третий этап — выполнение тестовых сценариев из MTM 2012.

Перед тестированием приложений Windows Store убедитесь, что сервис Microsoft Test Tools Adapter включен и работает. После этого в MTM 2012 подключитесь к тому плану тестирования, где находится ваш набор тестов. В Testing Center щелкните ссылку Modify рядом с полем Perform manual tests using, чтобы указать удаленное устройство, на котором будут выполняться ручные тесты (рис. 9). Выберите параметр «Remote device…» и введите имя или IP-адрес нужного вам устройства. Щелкните Test для проверки соединения и сохраните свои изменения.

Ручное тестирование приложений Windows Store
Рис. 9. Ручное тестирование приложений Windows Store

После установления связи можно запустить ручной тестовый сценарий. Microsoft Test Runner открывает диалоговое окно Perform manual tests using, где можно выбрать либо Start Test, либо Install Application. В последнем случае будет выполнена удаленная установка приложения Windows Store на устройство с Windows 8; этот процесс состоит из трех этапов и включает копирование файлов, установку сертификатов и установку приложения. При щелчке кнопки Start Test вы увидите этапы тестов в окне MTM, где вы сможете помечать их как пройденные или неудачные. Выполняя этапы тестов на удаленном устройстве, можно делать экранные снимки в случае ошибок и создавать отчеты об ошибках.

MTM 2012 помогает повысить эффективность ручного тестирования приложений Windows Store.

Улучшенный журнал регистрации операций для приложений Windows Store MTM 2012 позволяет генерировать журналы регистрации операций с описанием в виде текста и изображений ваших действий, которые вы выполняли в приложениях Windows Store или Internet Explorer 10. Файлы журнала регистрации операций содержат экранные снимки для каждого этапа операции, выполненного при прогоне тестов, и сохраняются как файлы .html, благодаря чему их можно просматривать в браузере. Задержав курсор мыши над любым эскизом изображения в журнале, вы увидите полноэкранное изображение выполненной операции (рис. 10). Улучшенный журнал регистрации операций упрощает воспроизведение ошибок. Пользователь может четко видеть, какие действия предпринимал тестер, и эти журналы отображаются, когда ошибка передается через Microsoft Test Runner или окно исследовательского тестирования.

Улучшенный журнал регистрации операций для приложений Windows Store <em>(источник: Visual Studio ALM и блог группы TFS bit.ly/NV0Eru)</em>
Рис. 10. Улучшенный журнал регистрации операций для приложений Windows Store (источник: Visual Studio ALM и блог группы TFS bit.ly/NV0Eru)

Обязательно изучите эти и многие другие функции MTM 2012, особенно если вы отвечаете за повышение качества решений и их тестирование.


Судир Адимулам (Sudheer Adimulam) — консультант по тестам в Microsoft Services — Global Delivery; работает в качестве Visual Studio ALM Ranger. Имеет диплом магистра в области компьютерных приложений и сертификаты ISTQB, CSQA, MCSD и MCTS.

Михел Лернд (Micheal Learned) — старший разработчик и инженер-отладчик в Microsoft; работает в качестве Visual Studio ALM Ranger. Основное внимание уделяет помощи клиентам Microsoft в разработке с использованием .NET Framework и управлении жизненным циклом приложений. С ним можно связаться через его блог tfsmentor.com или twitter.com/mlhoop.

Тим Стар (Tim Star) — главный консультант Intertech Inc., занимается обучением и консалтингом; является Visual Studio ALM Ranger. Имеет степень бакалавра в электротехнике и сертификаты MCPD, MCTS, MCT, Visual Studio ALM External Ranger. Трижды становился обладателем звания MVP.

Выражаем благодарность за рецензирование статьи экспертам Мэтью Энияну (Mathew Aniyan), Ниведите Бава (Nivedita Bawa), Уилли-Питеру Шаубу (Willy-Peter Schaub) и Чарльзу Стерлингу (Charles Sterling).