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