Автоматизация системных тестов

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

Чтобы снизить объемы работы по регрессионному тестированию, можно автоматизировать выполненные вручную системные тесты. Обычно для каждого требования создается тестовый случай, который выполняется вручную в течение одного или двух спринтов, после чего некоторые из них автоматизируются для будущих спринтов.

Есть несколько способов автоматизации тестов:

  • Связывание тестового метода с тестовым случаем.

    Можно связать любой модульный тест с тестовым случаем, хотя обычно связывается интеграционный тест, имитирующий ручную версию тестового случая. Тестовый случай может включать ручные и автоматизированные версии. Автоматизированные тестовые случаи можно выполнять из Microsoft Test Manager. Их результаты отображаются вместе с результатами ручных тестовых случаев.

  • Связывание закодированного теста пользовательского интерфейса с тестовым случаем.

    Закодированный тест пользовательского интерфейса (CUIT) моделирует жесты пользователя. Он может нажимать кнопки, вводить текст и проверять значения, отображаемые в текстовых полях. Этот тип теста позволяет наиболее точно автоматизировать ручной тест. CUIT можно создать, записав действия при выполнении теста вручную. CUIT — это метод теста, который будет выполняться на платформе модульного тестирования, и который можно связать с тестовым случаем. Его можно выполнять вместе с другими автоматизированными и ручными тестами.

  • Автоматизированный процесс "сборка-развертывание-тестирование".

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

Подразделы в этом разделе

Автоматизация тестового случая в Microsoft Test Manager

Связывание тестового случая с тестовым методом, создание лабораторной среды и определение расположения собранного метода теста.

Выполнение автоматизированных тестовых случаев из Microsoft Test Manager аналогично ручным тестовым случаям.

Тестирование пользовательского интерфейса с помощью автоматических закодированных тестов пользовательского интерфейса

Создание метода теста, моделирующего действия пользователя за счет записи ручного теста.

Автоматизированные рабочие процессы сборки, развертывания и тестирования

Автоматическое развертывание кода в лабораторную среду, выполнение тестов и сбор диагностических данных в рамках сборки сервера.

Создание и использование изолированной от сети среды

Определение невидимых друг для друга виртуальных лабораторных сред с одинаковыми внутренними адресами для параллельного выполнения нескольких системных тестов.

Запуск автоматических тестов одновременно на нескольких компьютерах