Автоматизированное интеграционное тестирование ASP.NET приложения

В этой статье я хочу поделиться опытом создания инфраструктуры для интеграционного тестирования веб приложения. Приложение построено на платформе .Net и состоит из ASP.NET MVC приложения и базы данных на MSSQL Задача интеграционного тестирования формулировалась следующим образом: автоматизировать развёртывание приложения и выполнение тестов пользовательского интерфейса, чтобы можно было быстро убедиться в том, что устанавливаемая версия приложения успешно отрабатывает все необходимые тестовые сценарии. Другими словами надо быстро проверить, что будет, когда мы установим новую версию заказчику и начнём с ней работать. Поскольку, результат выполнения этих тестов является показателем качества создаваемого приложения, мы всегда будем знать качество нашего приложения, а значит и ситуацию в которой мы находимся. Поскольку интеграционное тестирование позволят имитировать действия пользователя можно сказать, что оно позволят проверять факт того, что такой-то пункт ТЗ успешно выполнен. Если создать тесты для каждого пункта ТЗ (то получим программу и методику испытаний — ПМИ :) и автоматизировать их, то количество успешно выполненных тестов будет означать реальную информацию о том, на сколько процентов исполнено ТЗ. Иначе оценка состояния системы будет выглядеть следующим образом:  — Ну как у нас сегодня система, если одним словом?  — Если одним словом, то… работает.  — А если в двух словах?  — А если в двух словах, то не работает. Что должно проверяться при таком тестировании:  — Компиляция и сборка приложения  — Процедура установки или обновления приложения:  — Установка новой или обновление существующей базы данных  — Установка нового ASP.NET приложения  — Выполнение тестовых сценариев в каждом из которых:  — Система подготавливается для выполнения сценария. Поскольку каждый сценарий имеет предусловия надо подогнать систему под эти условия. Например если для сценария надо чтобы в системе бы пользователь создавший три заказа, надо как-то получить в базе денных пользователя и три его заказа.  — Выполняется тестовый сценарий через эмуляцию действий пользователя в браузере.  — Система возвращается в состояние, которое было перед выполнением сценария, фактически в состояние сразу после установки приложения  — Составление отчёта о качестве приложения  — Сборка инсталяционного пакета, содержащего приложения с известным качеством.Читать дальше →

© Habrahabr.ru