2010-10-04 10 views
9

Soy nuevo en C# 4.0 y WPF y estoy a punto de comenzar una nueva aplicación.C# - WPF: estrategias de prueba

Viniendo de un mundo C++/MFC, estoy interesado en probar estrategias usadas con las tecnologías actualizadas.

Por ejemplo:

  • Unidad de Pruebas
  • pruebas funcionales
  • Pruebas de la interfaz de usuario
  • otra?

Cualquier consejo sería apreciado.

Gracias.

Respuesta

4

Como Larry dijo que el marco de prueba de interfaz de usuario blanca se puede usar para la prueba de IU WPF.Este post explica esto con más detalle -

aplicaciones de pruebas de WPF con el marco blanca de prueba de interfaz de usuario: http://blogs.msdn.com/b/john_daddamio/archive/2008/04/04/testing-wpf-applications-with-the-white-ui-test-framework.aspx

también tienen vistazo a este artículo para saber cómo automatizar las pruebas de interfaz de usuario:

Automatización de pruebas de interfaz de usuario en WPF Aplicaciones: http://msdn.microsoft.com/en-us/magazine/dd483216.aspx

equipo Xaml ha llegado con un Compliance Suite XAML para verificar XAML (no he probado a mí mismo, aunque) -

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

Varias herramientas de terceros también están disponibles para el ensayo de aplicación de WPF, como éste de AutomatedQA -

TestComplete de AutomatedQA es un testi automatizado integral herramienta ng que ayuda a los equipos de control de calidad a automatizar su funcional, la unidad, la regresión y otros tipos de pruebas para una amplia variedad de tipos de aplicaciones, incluyendo Windows Presentation Foundation (WPF) aplicaciones.

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

También sugeriría que vaya a través de la Guía de Calidad de aplicaciones WPF desde MS

Este documento proporciona una visión general de de prueba de Windows Presentation Foundation (WPF) aplicaciones y controles .

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

3

Eche un vistazo a White. De su sitio:

blanca Automatizar las ventanas aplicaciones https://white-project.googlecode.com/svn/

blanco es un marco para la automatización de aplicaciones de cliente basado en Win32, Windows Forms, WPF, Silverlight y plataformas SWT (Java). Está basado en .NET y no requiere el uso de ningún lenguaje de script propietario. Los programas de pruebas/automatización que utilizan White se pueden escribir con cualquier idioma .NET, IDE y herramientas que ya esté utilizando. White proporciona una API consistente orientada a objetos, que oculta la complejidad de la biblioteca UIAutomation de Microsoft (en la que se basa White) y los mensajes de Windows. Solo se lanzan versiones estables de White, por lo que todas las versiones están listas para producción.

+0

esto es más pruebas de sistema que unidades de prueba –

+0

correctas, opté por probar y responder lo que consideré ser el área más difícil de probar/menos probada en la mayoría de los proyectos. Su respuesta sobre la Prueba Unitaria es perfecta. MVVM es una buena adición. –

3

En estos días la mayoría de las personas que se preocupan por la unidad de pruebas de WPF tienden a hacer uso del patrón de diseño Modelo-Vista-ViewModel (MVVM). Este es un tag en stackoverflow al respecto.

Esto le permite probar la mayoría de su código (incluida la lógica de la IU) sin que WPF se interponga.

Para prueba de sistema vea las otras respuestas a esta pregunta.

1

Como ya se mencionó, el patrón MVVM (o incluso el patrón Model-View-ViewModel-Presenter) es un buen comienzo. Le permiten analizar por separado y aislado las diferentes preocupaciones de la aplicación.

Una buena herramienta para la parte de prueba de unidad es Moq. Lo uso mucho.

También realizo pruebas de aceptación desde ViewModel hasta Model y Presenter.Entonces puedo asegurarme de que todas las capas funcionen juntas. Este es un compromiso entre las pruebas de UI y las pruebas unitarias. Tiene la ventaja de que las pruebas se ejecutan más rápido y, por lo tanto, se ejecutan con más frecuencia.

Si también desea probar automáticamente el enlace de datos correcto entre View y ViewModel, debe consultar Guia. Le permite crear instancias y probar directamente un solo UserControl.

0

Me importa mucho que la vista se vea bien. Eso significa pruebas unitarias. Para mí, la mejor técnica es SÓLO probar la vista en una sola prueba de la unidad, es decir

modelo + ver = resultado.

La utilidad de verificación de fuente abierta ApprovalTests (www.approvaltests.com o nuget) probará fácilmente las vistas de Wpf.

Se puede ver en acción aquí: http://www.youtube.com/watch?v=Xc_ty03lZ9U

te recomiendo ver el vídeo winforms primero embargo, ya que entra en más de la teoría de cómo probar vistas en general: http://www.youtube.com/watch?v=hKeKBjoSfJ8

El el código en sí se verá como

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

y tomará una captura de pantalla y la comparará con un patrón dorado.