C# - WPF: стратегии тестирования

Я новичок в C# 4.0 и WPF, и я собираюсь запустить новое приложение.

исходя из мира C++/MFC, меня интересуют стратегии тестирования, используемые с современными технологиями.

например:

  • Тестирование
  • функциональное тестирование
  • тестирование пользовательского интерфейса
  • другое?

любой совет был бы признателен.

спасибо.

5 ответов


Как сказал Ларри Белый UI test framework может использоваться для тестирования пользовательского интерфейса WPF. Этот пост объясняет это более подробно -

тестирование приложений WPF с помощью Белый UI test framework: http://blogs.msdn.com/b/john_daddamio/archive/2008/04/04/testing-wpf-applications-with-the-white-ui-test-framework.aspx

Также посмотрите эту статью, чтобы узнать, как автоматизировать тестирование пользовательского интерфейса:

автоматизация UI-тестов в В WPF Приложения: http://msdn.microsoft.com/en-us/magazine/dd483216.aspx

команда Xaml придумала набор соответствия XAML для проверки XAML (я сам не пробовал) -

http://blogs.msdn.com/b/llobo/archive/2010/07/07/xaml-compliance-suite-v1.aspx

различные сторонние инструменты также доступны для тестирования приложения WPF, как этот из AutomatedQA -

TestComplete AutomatedQA является комплексный автоматизированный испытательный инструмент это помогает командам QA автоматизировать их функциональное, модульное, регрессионное и другие типы испытания для большого разнообразия типы приложений, включая Windows Основа презентации (в WPF) приложения.

http://www.automatedqa.com/products/testcomplete/testing-wpf-apps/

Я бы также предложил вам пройти через руководство по качеству приложений WPF от MS

этот документ предоставляет обзор тестирование презентации Windows Приложения фонда (WPF) и контроли.

http://windowsclient.net/wpf/white-papers/wpf-app-quality-guide.aspx#intro


посмотри Белый. С их сайта:

Белый автоматизация приложений windowshttps://white-project.googlecode.com/svn/

White-это платформа для автоматизации богатых клиентских приложений на основе платформ Win32, WinForms, WPF, Silverlight и SWT (Java). Он основан на .NET и не требует использования каких-либо собственных языков сценариев. Тесты / программы автоматизации с использованием белого могут быть написаны на любом языке .NET, IDE и инструменты, которые вы уже используете. White предоставляет согласованный объектно-ориентированный API, скрывающий сложность библиотеки UIAutomation Microsoft (на которой основан White) и сообщений windows. Выпускаются только стабильные версии White, поэтому все выпуски готовы к производству.


в эти дни большинство людей, которые заботятся о тестирование WPF, как правило, используют MODEL-VIEW-VIEWMODEL (MVVM) шаблон дизайна. Это tag на StackOverflow об этом.

Это позволяет вам модульно протестировать большую часть вашего кода (включая много логики пользовательского интерфейса) без WPF.

на тестирование системы, посмотреть другие ответы на эти вопросы.


Как уже упоминалось, шаблон MVVM (или даже шаблон Model-View-ViewModel-Presenter) является хорошим началом. Они позволяют отдельно и изолированно тестировать различные проблемы приложения.

хорошим инструментом для части модульного тестирования является Moq . Я часто им пользуюсь.

Я также часто делаю приемочные тесты от ViewModel до модели и докладчика. Поэтому я могу заверить, что все слои работают вместе. Это компромисс между тестированием UI и модульное тестирование. Он имеет то преимущество, что тесты выполняются быстрее и поэтому выполняются чаще.

Если вы также хотите автоматически проверить правильную привязку данных между представлением и ViewModel, вы должны проверить Guia. Это позволяет непосредственно создавать экземпляры и тестировать один UserControl.


Я беспокоюсь о вид права. Это означает модульное тестирование. Для меня лучший метод-проверить представление только в одном модульном тесте, что означает

модель + представление = результат.

программа проверки с открытым исходным кодом ApprovalTests (www.approvaltests.com или nuget) легко протестирует представления Wpf.

вы можете увидеть его в действии здесь: http://www.youtube.com/watch?v=Xc_ty03lZ9U

Я бы рекомендовал смотреть winforms видео 1st, хотя, как это входит в более теорию о том, как проверить взгляды в целом:http://www.youtube.com/watch?v=hKeKBjoSfJ8

сам код будет выглядеть как

var model = CreateModel();
var yourWpfView = new YourWpfView(model);
WpfApprovals.Verify(yourWpfView);

и он сделает скриншот и сравните его с золотым мастером.