Тестирование приложений веб-форм ASP.NET

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

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

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

Я продолжал работу над своим поисковым роботом, и это разрабатывается в простой клиент REST, который пробует другую входную комбинацию, ища вероятную ошибку или катастрофический отказ. Это более интеллектуально, что просто исчерпывающий поиск (потому что это знает о прикладном уровне ASP.NET WebForms) и моя цель здесь должен в основном исследовать состояние веб-приложения, надеясь поразить все угловые случаи перед нашими пользователями.

У кого-либо есть опыт при выполнении чего-то подобного?

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

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

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

7
задан John Leidegren 20 February 2010 в 09:14
поделиться

3 ответа

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

  1. Выберите IOC-контейнер - лично мне нравится Ninject
  2. Найдите удобное место для внедрения "сервисных" классов в вашу страницу (констурктор базового класса Page или переопределение модуля, загружающего страницы - все, что вам подходит)
  3. Выберите фреймворк для модульного тестирования и, если у вас нет автоматизированной сборки, создайте ее; включите запуск полного набора модульных тестов в эту сборку
  4. Каждый раз, когда вы подходите к части логики в aspx. cs, посмотрите, не можете ли вы изолировать его в сервисе и обернуть вокруг него модульные тесты
  5. Посмотрите, подойдет ли вам MVP Pattern - мы обнаружили, что он снижает производительность в той же степени, что и повышает тестируемость (в значительной степени и то, и другое), но для некоторых людей это работает
  6. Попробуйте медленно перевести ваше приложение на MVC, по странице за раз, если необходимо

И помните, вы не собираетесь решить эту проблему за одну ночь, у вас нет времени. Просто продолжайте улучшать тестовое покрытие, и со временем вы увидите преимущества.

5
ответ дан 7 December 2019 в 10:00
поделиться

Какая часть вашего приложения не работает? Пользовательский интерфейс или бизнес-логика?

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

1
ответ дан 7 December 2019 в 10:00
поделиться

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

Я могу порекомендовать Selenium IDE adon для firefox .

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

Для внутреннего тестирования кода напишите несколько модульных тестов с использованием NUnit

0
ответ дан 7 December 2019 в 10:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: