Вопрос

Я не могу поверить, что я первый человек, чтобы пройти этот процесс мысли, поэтому мне интересно, может ли кто-нибудь помочь мне с ним.

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

Для меня это чувствует себя неправильно, это по сути означает, что требуется два человека для развертывания приложения; В нашем случае те два человека находятся на противоположных сторонах планеты и часовые появления, вызывая хаос. Но факт остается фактом, что разработчики знают, что такое минимальный набор тестов, и это может измениться со временем (особенно для веб-сервисной части нашего приложения). Операции, со всеми уважением к ним (и они сказали бы это), находятся кнопки, которые нуждается в наборе инструкций для последующей деятельности.

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

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

Теперь разработчики лучше в документировании инструкций для компьютеров, чем они для людей, поэтому очевидное решение, по-видимому, использует комбинацию NUNIT (я знаю, что они не являются модульными тестами, но это встроенный тест Runnerner) и API на WATIN или SELENIUM для пробега через очевидные шаги браузера и вызовут веб-службу и объясните операциям, ребята, как запустить эти устройства. Я могу сделать это; Я в основном сделал это уже.

Но не было бы неплохо, если бы я мог сделать этот процесс проще всего?

На данный момент, ребята, и компьютер собираются знать, какой набор тестов относится к какой версии приложения и расскажет на NUNIT Runner, какой базовый URL-адрес он должен указывать на (скажем, www.example.com = v3. 2 или test.example.com = v3.3).

Разве не было бы лучше, если сам тестовый бегун был способ дать ему базовый URL-адрес и позволить ему загрузить, скажем, ZIP-файл, распакуйте его и отредактируйте файл конфигурации, прежде чем запускать какие-либо тестовые приспособления, которые он нашел там?

Есть ли приложение с открытым исходным кодом, которое это сделало бы? Есть ли необходимость в одном? Есть ли решение с использованием чего-то другого, чем NUNIT, может быть, Fitnesse?

Для записи я сначала смотрю на инструменты на основе .NET, потому что большинство разработчиков в первую очередь .NET разработчики, но мы не женаты на этом. Если такой инструмент существует, используя другие языки, чтобы написать тесты, мы с радостью адаптируемся, пока есть тестовый бегун, который работает на Windows.

Это было полезно?

Решение 7

После того, как много времени потрачено впустую, пытаясь составить более легкое решение, мы в конечном итоге воспользовались командой OPS, как использовать Runner GUI NUNIT. Это было легче, чем ожидалось и работает нормально.

Другие советы

Я работал в писателю дымового теста для приложения ASP.NET. Мы использовали Quicktest Pro., автоматизация тестовых прогонов была сделана с Центр качества (Это называлось тестовым директором.). Это включало в себя написание сотен тестовых скриптов, которые автоматизируют веб-браузер, взаимодействующий с веб-приложением. Эти тесты, в которых использовался построить сборку перед заказом на наших производственных серверах. Центр качества позволяет определить «пул» тестовых машин, чтобы позволить вам запустить большой список тестовых сценариев в многопоточной манере.

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

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

Я также положил некоторые мысли в эту последовательность и предложил принять декларативный подход к развертыванию и проверке, см. Здесь для моих мыслей,

http://jimblogdog.blogspot.co.uk/2010/10/introducingdeclarative-deplobement.html.

Я также создал несколько плагинов в свой Project Project Project Project для автоматизации всего процесса. По сути, вы упаковываете свои «D развертывания дымовых тестов» в качестве пакета Nuget и публикуете его на вашу собственную подачу Nuget. WolfPack автоматически обнаружит новую версию пакета и загрузите ее вместе с пакетом Nunit.runner Nuget и распаковать все файлы. Затем он будет молча запустить ваши тесты, используя кнопку NUNIT Console Runner и разбирать результаты в предупреждении, что вы можете получить по электронной почте, Growl, Hipchat и т. Д.

http://wolfpack.codeplex.com/

http://wolfpackcontrib.codeplex.com/wikipage?title=nunitdeploymentpuberhallish

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

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

Вы можете написать скрипт PowerShell или приложение, которое загрузило бы файл конфигурации из веб-сервиса или веб-приложения, передавая тестовый URL в качестве параметра. Серверы или приложение будут работать на машине с доступом к VCS, поэтому он может вернуть содержимое файла. После извлечения скрипт или приложение могут инициировать тесты.

Как правило, ваши Nunit Tests достаточно, что если бы они все пропустили, кодовая база должна работать нормально. Если вы развертываете код, с прохождением Nunit Tests и сталкивайтесь с отказом на сайте, вам нужно добавить дополнительную NUNIT, которое также не удалось, по той же причине. Затем, когда вы исправите свой код, так что NUNIT проходит, вы знаете, что вы исправили проблему, который имеет развернутый код. По этой причине большинство систем автоматической сборки могут быть настроены для автоматического первого запуска всех тестов Nunit, а затем «выйти из строя», если какой-либо из тестов не удается.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top