2008-12-09 16 views
5

Creo que entiendo las pruebas unitarias. Pero me preguntaba: ¿hay alguna manera de automatizar algo visual, como asegurarse de que el anti-aliasing funcione o que las esquinas redondeadas de un sitio web tengan el aspecto que se supone que deben tener? Tengo la sensación de que simplemente no es práctico, pero tengo poca experiencia en el mundo de la garantía de calidad.¿Cómo se prueban los componentes visuales?

Respuesta

2

"anti-aliasing funciona o que las esquinas redondeadas en un sitio web se ven como se supone que deben?"

En teoría, podría escribir herramientas automáticas para tomar instantáneas de las representaciones y de alguna manera analizarlas y compararlas con la maqueta.

Necesitará algún tipo de mecanismo de "anclaje" para alinear la respuesta del modelo con la salida representada y luego hacer una diferencia en color, donde la salida resultante es una imagen negra completa == cumplimiento perfecto.

Sin embargo, hacer esto es, sin duda, de manera exhaustiva complicada, y la costumbre compensar perceptuales fallos, tales como la forma en que se ve a una persona colourblind en una pantalla con un mapa de colores mal calibrado.

Lo que necesita hacer en su lugar es crear un árbol completo de todas las rutas de navegación posibles en la aplicación (un poco más fácil de ejecutar programáticamente/suite de pruebas), y luego entregar una especificación a un conjunto de humanos para que ejecutar en una variedad de plataformas.

que se encargará de esta semana, pero se repetir las pruebas manuales Evey tiempo se realiza un cambio de código? O cada vez que hace un lanzamiento? Las pruebas manuales simplemente no escalarán. Son baratos en el corto, pero irremediablemente costoso en a largo plazo. - Tim Ottinger

FWIW, incluso Firefox todavía tiene un conjunto de pruebas dirigidas por humanos. Los humanos simplemente son mejores para reconocer comportamientos que, si bien cumplen con el estándar definido, no cumplen con algún otro estándar que aún no se haya definido de manera arbitraria, y por lo tanto, aún no se ha escrito un caso de prueba para él.

1

También podría considerar la automatización a nivel de interfaz gráfica de usuario, el uso de una herramienta como TestComplete. Existen muchas herramientas de este tipo a un rango de precios con una gran variedad de funcionalidades. Consulte SQAF automation forum para tener buenas discusiones sobre este tema.

1

Este es un problema difícil con las pruebas unitarias, y no hay una buena respuesta. Inspeccionar técnicamente el resultado que se muestra en la pantalla ya no es una prueba unitaria (es una prueba más funcional).

El mejor enfoque que he encontrado es estructurar su código para hacer que la capa de vista como delgada sea posible en última instancia. Patrones como MVC y Presentation Model son útiles para esto. Una vez hecho esto, puede probar la lógica comercial de la vista (como en las interacciones específicas entre los componentes de la vista) programáticamente sin tener que mostrar nada en realidad.

Cuestiones relacionadas