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


Создание автоматических тестов

С помощью Visual Studio Ultimate или Visual Studio Premium можно создать несколько типов автоматических тестов, которые позволяют более эффективно тестировать приложения. Автоматические тесты выполняют шаги теста и определяют пройден тест или завершен с ошибкой. Эти тесты можно выполнять с более высокой скоростью и периодичностью. Автоматические тесты позволяют быстро проверить правильность работы приложения после внесения изменений в его код. Автоматические тесты создаются с помощью Visual Studio.

Примечание

Нагрузочные тесты можно создавать только посредством Visual Studio Ultimate.

Позднее можно преобразовать ручные тестовые случаи в автоматические тесты путем связывания автоматизации с тестовым случаем. Затем можно выполнить эти тесты с помощью Microsoft Test Manager и проверить их результаты в процессе измерения хода выполнения плана тестирования.

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

Тип тестов

Описание

Запуск тестов из Visual Studio

Запуск из плана тестирования путем связывания метода теста с тестовым случаем

Закодированные тесты пользовательского интерфейса

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

Да

Да

Модульные тесты

Тестирование кода на уровне методов.

Да

Да

Модульные тесты базы данных.

Тестирование хранимых процедур, функций или триггеров в базе данных.

Да

Да

Нагрузочные тесты

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

Да

Не рекомендуется из-за невозможности следить за ходом выполнения теста.

Веб-тесты производительности

Использование в составе нагрузочных тестов для тестирования ответов сервера для веб-приложений путем отправки и получения HTTP-запросов.

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

Да

Не рекомендуется, поскольку веб-тесты производительности предназначены преимущественно для использования с нагрузочными тестами.

Обычные тесты

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

Да

Да

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

Задачи

Задачи

Связанные разделы

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

Ускорение тестирования пользовательского интерфейса. Можно создать автоматические тесты пользовательского интерфейса для приложения. Эти тесты можно использовать для проверки того, что в результате изменений кода не возникло регрессии или изменения пользовательского интерфейса.

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

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

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

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

Преобразование ручных тестовых случаев в автоматические тесты для их выполнения в составе плана тестирования.Добавляя в тестовый случай сведения для автоматического теста с помощью Visual Studio, можно преобразовать ручные тестовые случаи в автоматические тесты. Кроме того, можно создать тестовый случай и добавить автоматический тест, если необходимо выполнить эти тесты в составе плана тестирования с помощью Microsoft Test Manager.

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

Связанные задачи

Выполнение автоматических тестовМожно выполнить созданные тесты на локальном или удаленном компьютере с помощью тестовых сред и записать их результаты.

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

См. также

Основные понятия

Тестирование приложения