Поделиться через


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

 

Опубликовано: Июль 2016

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

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

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

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

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

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

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

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

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

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

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

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

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

Использование модели автоматизации пользовательского интерфейса для тестирования кода

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

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

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

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

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

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