2009-09-11 18 views
28

Buscando una herramienta para la prueba de IU de una aplicación de Windows (.NET WinForms). La idea es que los analistas graben las pruebas a través de una interfaz de usuario y puedan reproducirse una y otra vez.UI Testing Tool?

Las herramientas comerciales están bien, pero los puntos de bonificación para los gratuitos.

+12

Robert, con la advertencia de que no conozco las características específicas de su proyecto, le advierto contra la estrategia de grabación/reproducción para la automatización de pruebas. La automatización de pruebas es desarrollo de software y debe tratarse como tal. Los scripts de prueba grabados no serán resistentes para cambiar y si su aplicación no está cambiando, entonces no necesita la automatización, ¿verdad? :-) –

+0

De acuerdo, Automatización de pruebas Es el desarrollo de software, si no lo tratas como tal y tienes personas con las habilidades correspondientes, no obtendrás mucho de ello. – eglasius

+1

Duplicado de http://stackoverflow.com/questions/25343/is-there-any-way-to-automate-windows-forms-testing – John

Respuesta

0

Pago Ranorex, comercial, bastante caro pero potente (no afiliado).

3

Hasta ahora he encontrado:

Comentarios por favor si usted ha usado cualquiera de estos.

+1

Blanco es un envoltorio alrededor del Marco de Automatización de UI. Agrega un gancho ordenado que espera a que la cadena de entrada del proceso permanezca inactiva antes de continuar con el próximo comando, lo que significa que se ejecuta como la velocidad de su máquina y no necesita llamadas Thread.Sleep. – bryanbcook

2

hay un montón de preguntas similares en SO:

  • automatice-interacción-con-a-GUI-interfaz (Edit: ya no está disponible)
  • -prueba automatizada-de-Windows-formas (Edit: ya no está disponible)
  • automated-testing-of-gui

En mi experiencia, hay un montón de buenas herramientas de código abierto para la web, pero no tanto para la selección de código abierto cliente pesado automatización de pruebas herramientas. Si desea un buen soporte con una funcionalidad robusta, especialmente la grabación, tendrá que mirar las herramientas comerciales (QTP, RFT, TestPartner, etc.)

4

TestComplete.

Definitivamente puede usar la captura-reproducción para capturar y ejecutar el script de prueba. Pero sugeriría que al menos debe modificar manualmente las secuencias de comandos para que sean

  1. más legible
  2. más fácil de mantener.

Lo bueno de TestComplete es que puede examinar las propiedades de su formulario, capturar esas propiedades para que pueda consultar esas propiedades por su nombre, no solo por las coordenadas de la pantalla.

9

(Iba a solo comentar una respuesta anterior, pero se quedó sin espacio) Compramos Ranorex y no volvería a hacerlo. Su licencia de 1.5 (lo que estamos usando) no estaba clara. Su licencia por escrito fue por usuario, su comercialización dijo por máquina. Aún así, la aplicación se basó en las claves, y no fue un gran problema cuando se borró una máquina o entró un probador de reemplazo.

Para el producto 2.0, sus licencias ahora están vinculadas a la máquina. Vuelva a crear la imagen de una máquina y podrá volver a otorgarla. Simplemente no voy a admitir ese tipo de molestia con los miles de dólares de mi empresa, y no mejoramos.

Por lo que quieren para el producto, mucha de la funcionalidad podría escribirse fácilmente utilizando el Marco de automatización de la interfaz de usuario. Ranorex es un producto decente, pero cuestiono su valor por el dinero. Estamos trasladando muchas de nuestras nuevas pruebas a la codificación del Marco de automatización de la interfaz de usuario, ya que a menudo terminamos modificando el código generado por Ranorex de todos modos.

+0

Estamos evaluando Ranorex en este momento, y parece que esto es mucho más claro ahora: hay una opción de licencias bloqueadas por nodo (ancladas a una máquina, pero se pueden mover cada 90 días), licencias flotantes (se pueden usar en cualquier máquina, pero solo un usuario puede usar la licencia en cualquier momento dado) y licencias de tiempo de ejecución flotante (solo ejecuta pruebas). (No, no trabajo para ellos!) – Scottie

0

Estábamos usando mercurio TestDirector hace unos años y bastante contento con él. (Todas las advertencias como han mencionado otros se aplican.)

Mercurio fue adquirida por HP y las herramientas han sido renombrada como HP QuickTest. No estoy seguro de cuánto ha cambiado, pero definitivamente vale la pena echarle un vistazo.

Me trataron de incluir una link to the HP website, pero la URL no se ve demasiado "estable". No es exactamente un constructor de confianza ....

+0

La prueba GUI real se llamaba "Winrunner" y fue muy espléndida la última vez que la usé hace algunos años. Estoy de acuerdo con la advertencia sobre HP. "Su software ha entrado en un pantano sin fin, donde todo se renombra y cambia de nombre, pero nada cambia realmente: un vendedor de hardware molesto intenta venderle una estación de trabajo basada en itanium" –

4

Como Tom E se ha dicho, no toma la precaución al considerar bajar la ruta de grabación/reproducción para la automatización de pruebas.

Consulte el artículo de Uncle Bob en Ruining your Test Automation Strategy.

El problema principal es que las herramientas de grabación/reproducción unen las pruebas con la GUI, lo que las hace muy frágiles.

artículo de tío Bob pone de relieve que algunas pruebas tiene que ocurrir en la interfaz gráfica de usuario ... pero que él recomienda apagando el código de reglas de negocio.

Lo siento, no le puede proporcionar una herramienta específica de automatización de pruebas de interfaz de usuario ... pero esperemos que esta advertencia le ayudará a tomar la mejor decisión sobre cómo emplear la herramienta que utiliza el tiempo.

2

En mi empresa, decidimos ir con http://www.sikuli.org/. Sentimos que era la combinación perfecta de costo (gratis), facilidad de uso, funcionalidad y capacidad de ampliación.

Sikuli está basado en Python (Jython, realmente) que es genial y es de código abierto. Se necesita un poco de codificación, pero puede ser tan fácil como llamar funciones. Su IDE hace que sea realmente fácil comenzar. No es una herramienta de grabación y reproducción. Funciona a partir de algoritmos de visión por computadora: usted le da capturas de pantalla de lo que debe buscar y lo encuentra en la pantalla y luego realiza la acción solicitada (haga clic, escriba, etc.) en lo que encontró. Esta es una verdadera prueba independiente ya que Sikuli no sabe nada sobre el software que está probando. No sabe acerca de las API subyacentes, simplemente hace lo que un ser humano real haría.

Hemos integrado Sikuli con Robot Framework, http://robotframework.org/, y hemos creado muchos códigos python personalizados para crear una plataforma de prueba robusta. Esto puede no ser tan fácil como licenciar una herramienta de un proveedor, pero el tiempo y la inversión de talento en estas dos herramientas de código abierto han valido la pena.

0

Mi propuesta es agente de QA (http://qaagent.com/). Es un IDE gratuito basado en web para el desarrollo de pruebas automatizadas web. Básicamente estás usando jQuery para desarrollar tus pruebas. Puede ejecutar pruebas en su navegador. Parece un proyecto nuevo, pero realmente me gusta la idea de desarrollar pruebas en el navegador. Usted sabe cuánto tiempo lleva configurar su entorno de prueba. Con QA Agent toma 10 segundos.