2009-08-04 2 views
1

Я некоторое время работал с модульным тестированием .net. Теперь мне нужно создать тесты для ascx и ascx.cs страниц (но также могут помочь ссылки aspx и aspx.cs). Я не очень хорошо знаком с веб-сайтами. Может ли кто-нибудь давать подсказки или ссылки, которые могут помочь (учебники, сообщения в блогах о лучших практиках и т. Д.)?Ссылки по созданию веб-сайтов для ASP.NET

Это могут быть ссылки на тесты с использованием инструментов VS2008 или кодирование тестов с использованием текстового редактора.

+0

ИМХО, пользовательские элементы управления не живут сами по себе, вы должны поместить их в страницу, чтобы увидеть их и проверить свои возможности, принять посмотрите статью MSDN, которую я опубликовал, или вы можете просто создать несколько тестовых страниц, где вы используете пользовательские элементы управления несколькими способами - все сценарии использования и тестовые примеры. – Sebastian

+0

Вы можете ознакомиться с этой статьей в [MSDN] (http://msdn.microsoft.com/en-us/library/ms182526 (VS.80) .aspx) – Sebastian

ответ

0

Возьмите копию Fiddler2. При запуске он будет «записывать» вашу сессию с сервером ASP.NET (запросы и ответы - также выполняемые Visual Studio, когда «записывают» новый веб-тест). Затем вы можете выбрать запросы и сохранить их в качестве тестового веб-теста.

Остальное - это понимание того, как ASP.NET создает и использует запросы и ответы для управления приложением.

Превратите свои веб-тесты в кодированные веб-сайты и найдите microsoft для получения информации о каждом объекте, который использует веб-сайт для дополнительного кредита.

1

Я рекомендую не тестировать «ascx и ascx.cs», но проверять пользовательский интерфейс, который отображается пользователю, и проверять службы/репозитории/модули (если вы используете хорошую модульную архитектуру и не пишете весь код в codebehind). Для тестирования пользовательского интерфейса вы можете использовать Selenium RC. Есть много примеров и синонимов для этого:
http://www.lostechies.com/blogs/agilecruz/archive/2009/02/10/how-to-configure-selenium-rc-for-use-in-c-nunit-tests.aspx
http://thetestingblog.com/2009/09/10/selenium-rc-in-c-using-nunit-an-end-to-end-example/
http://www.stevetrefethen.com/blog/AutomatedtestingofASPNETwebapplicationsusingSelenium.aspx
http://codebetter.com/blogs/jeremy.miller/archive/2006/05/14/144666.aspx
А также есть special .net toolkit для него.

2

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

По моему опыту, для проверки уровня пользовательского интерфейса веб-интерфейса требуется больше усилий, чем при тестировании ваших четко разделенных слоев бизнеса и данных. Если вы создаете приложение по твердому шаблону MVC, вы можете легко автоматизировать тестирование уровней контроллера и модели, которые включают в себя все права доступа к данным и бизнес-правила. Это должно быть сделано с использованием MSTest, NUnit или XUnit и т. Д.

Ваш уровень веб-презентации (то есть веб-страницы .ASPX и пользовательские элементы управления .ASCX) должен быть подключен к одной и той же бизнес-логике через контроллеры ... которые уже были протестированы.

Если вы верите в правило 80/20, в этом случае 80% вашего приложения будет проверено с 20% ваших усилий. Переход на лишнюю милю для автоматизации тестирования отдельных страниц и элементов управления является излишним для большинства проектов; вместо этого я рекомендую просто создать тест нагрузки в Visual Studio, записывая основные варианты использования, такие как вход в систему, загрузка нескольких страниц и взаимодействие с несколькими элементами управления страницами.

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

Чтобы просмотреть документацию по ASP.NET Framework MVC2 click here

Чтобы увидеть общее описание шаблона MVC click here