Pregunta

Estoy trabajando en el tema de las pruebas de mi GUI y no estoy del todo seguro de que el mejor enfoque aquí.Mi GUI es construido a partir de una tradicional marco de MVC por lo que yo soy capaz de poner a prueba la lógica de las partes de la interfaz gráfica de usuario, sin llevar hasta la interfaz gráfica de usuario en sí.Sin embargo, cuando se trata de probar la funcionalidad de la interfaz gráfica de usuario, no estoy muy seguro de si debía preocuparse de forma individual pruebas de componentes de la GUI o si debo principalmente sólo se centran en las pruebas de funcionamiento del sistema.Se trata de un bonito complejo sistema en el que las pruebas de la interfaz gráfica de usuario con frecuencia implica el envío de un mensaje al servidor y, a continuación, observando la respuesta de la interfaz gráfica de usuario.Mis primeros pensamientos son que las pruebas funcionales es el camino a seguir aquí, ya que necesito de un completo sistema de ejecución para probar realmente la interfaz de usuario.Comentarios sobre este tema se agradece.

Gracias, Jeff

¿Fue útil?

Solución

Usted tiene (al menos) 2 temas - la complejidad del entorno (el servidor) y la complejidad de la interfaz gráfica de usuario.

Hay muchas herramientas para la automatización de pruebas de GUI.Todos ellos son más o menos frágiles y requieren prácticamente mantenimiento constante en el rostro de cambiar la presentación.Hay beneficios a ser obtenidos del uso de los mismos, pero es un beneficio a largo plazo.

El medio ambiente, por otro lado, es un área que puede ser domesticado.Si su aplicación está diseñada mediante la Inyección de Dependencia/Inversión técnica (donde 'inyectar' el componente de servidor en la aplicación), entonces usted puede utilizar un 'simulacro' de las correspondientes interfaces del servidor para permitir la secuencia de comandos de casos de prueba.

La combinación de estas dos técnicas nos permitirá automatizar pruebas de GUI.

Un pensamiento final - ¡buena suerte!

Otros consejos

Otra interfaz gráfica de usuario-herramientas de pruebas de lo que puedo ofrecer son:Thoughtworks Blanco, PyWinAuto, AutoIt, AutoHotKey.

Una cosa a tener en cuenta cuando se trata de automatizar GUIs es que la única manera de hacer esto es construir la interfaz gráfica de usuario con la automatización en la mente.Aplastar a los desarrolladores que piensan que sus interfaces gráficas de usuario no debe apoyar la capacidad de prueba de la primera parte del proyecto y felizmente exponer todos los ganchos que pueden ayudar en la automatización de la demanda como de sus necesidades de pruebas que requieren.

Dependiendo de donde en el espectro de MVC (que es un término usado en exceso) de sentarse, las pruebas de la vista podría ser un proceso mecánico de garantizar que el modelo correcto de los métodos son llamados en respuesta a la correcta entradas a la vista de algunas pruebas de validación del lado del cliente para quien sabe.

Muchos de los patrones que han evolucionado a partir de MVC (estoy pensando en la opinión de pasivo, controlador supervisor) se esfuerzan por hacer que la vista se requieren muy pocas pruebas porque es realmente sólo el cableado de las entradas del usuario para el presentador o modelo (dependiendo del tipo exacto de la variante del patrón que se está utilizando).

"las pruebas de la interfaz gráfica de usuario con frecuencia implica el envío de un mensaje al servidor y, a continuación, observando la respuesta de la interfaz gráfica de usuario" Esta declaración me preocupa.

Estoy de inmediato pensando que la interfaz de usuario deben ser verificados a través de un simulacro o stub del servidor para probar que la correcta interacciones se están produciendo y la interfaz gráfica de usuario responde de manera adecuada.

Si usted necesita automatizadas pruebas funcionales del servidor, no veo la necesidad de tener la interfaz gráfica de usuario involucrados en estos.

Mercurio QuickTest Pro, Borland SilkTest, y Ranorex Grabadora son algunas de las GUI de herramientas de pruebas.

Si su aplicación está basado en la web puede escribir pruebas utilizando herramientas como WatiN o El selenio.

Si su aplicación es Windows .NET basado, usted podría tratar de Blanco.

Mi consejo:olvidar el tradicional GUI pruebas.Es demasiado caro.La codificación de las pruebas tiene un montón de tiempo, las herramientas no son muy estables por lo que se obtiene poco fiables los resultados de la prueba.El acoplamiento entre el código y la prueba es muy fuerte y te vas a gastar un montón de tiempo con el mantenimiento.

La nueva tendencia es ignorar la interfaz de usuario pruebas.Ver el ModelViewPresenter patrón de Fowler como una guía enlace de texto

La forma más clara que puedo decir es esto:

No pierdas tu tiempo escribiendo automatizado de pruebas de GUI.

Sobre todo cuando su trabajo con una aplicación MVC - en su caso, cuando se envía un mensaje al servidor, usted puede asegurarse de que el mensaje número viene de vuelta y listo.Usted puede agregar algunos casos adicionales o de otra prueba completamente para asegurarse de que la interfaz gráfica de usuario es el de convertir el identificador del mensaje en el derecho cadenas de caracteres, pero sólo necesita ejecutar la prueba una vez.

Softonic incorporar GUI pruebas en nuestro proyecto, y que tiene sus efectos secundarios.Los desarrolladores sin embargo, tienen un principio de diseño crítico: Mantener la interfaz gráfica de usuario capa tan delgada como sea posible!

Que significa no hay lógica en la GUI de clases.Aparte de esto en la presentación de los modelos responsable de la validación de entradas, etc.

Para las pruebas en una máquina Unix utilizamos el Xvfb servidor como la PANTALLA cuando se ejecutan las pruebas.

Pruebe el pasillo de las pruebas de usabilidad.Es barato y útil:ir a la más cercana pasillo, coge la primera persona que pasa, hacer que ellos se sientan en su computadora y utilizar el software.Mirar por encima de su hombro, verás lo que tratamos de hacer, lo que frustra a ellos, y así sucesivamente.Hacer esto un par de veces y observe los patrones.

Lo que estás buscando es "la prueba de aceptación." Cómo hacerlo depende de los marcos de referencia que se está utilizando, qué tipo de aplicación que se está creando y en qué idioma.Si google su particular tecnología y la anterior frase, usted debe encontrar algunas herramientas que puede utilizar.

He encontrado WinTask para ser una muy buena manera de hacer la GUI de la prueba.Siempre y cuando usted no cambiar constantemente la forma en que el sistema operativo se refiere a cada elemento de la interfaz de usuario, WinTask direcciones de los elementos de interfaz de usuario por su nombre, por lo que incluso si los cambios en el diseño, los elementos de interfaz de usuario todavía puede ser presionado / ajustado / seleccionado.

No te pierdas la 'U' en 'GUI'
Me refiero a:si lo que estás tratando de probar, es que todas las obras de derecho y trabaja como fue planeado para el trabajo, entonces usted puede seguir Seb Rose respuesta.

Pero por favor, no se olvide de un La interfaz de USUARIO tiene que ser hecho pensando en los USUARIOS, y no CUALQUIER usuario, pero el USUARIO de DESTINO, la aplicación fue hecha.Así que, después de asegurarse de que todo funciona como tiene que trabajar, poner cada vista/pantalla/formulario en una prueba con un equipo de los usuarios que representan a cada grupo de usuarios diferentes que puede utilizar la aplicación:los usuarios avanzados, administradores, MS Office a los usuarios, de bajo perfil del ordenador de los usuarios, de alto perfil de equipo a los usuarios...y luego, obtener las críticas de cada usuario, de hacer un mix, volver a tocar tu interfaz gráfica de usuario si es necesario y volver de nuevo a la gráfica de usuario (GUI en la prueba.

SIMPLE interfaz gráfica de usuario basada en la Web de pruebas de probar iMacros ( un simple plug-in de Firefox , tiene una característica interesante para enviar la totalidad de la prueba a otra persona ) Tenga en cuenta que SIMPLE se escribe con Iniciales ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top