¿Cuál es la mejor herramienta de prueba para aplicaciones basadas en Swing?[cerrado]

StackOverflow https://stackoverflow.com/questions/79891

  •  09-06-2019
  •  | 
  •  

Pregunta

Si bien intentamos configurar tantas pruebas unitarias como el tiempo lo permita para nuestras aplicaciones, siempre encuentro que falta la cantidad de pruebas a nivel de UI.Existen muchas opciones, pero no estoy seguro de cuál sería un buen punto de partida.

¿Cuál es su herramienta de prueba unitaria preferida para probar aplicaciones Swing?Por qué te gusta?

¿Fue útil?

Solución

Por nuestra parte, utilizamos para probar SWING GUI con FIESTA.Se trata de un adaptador del clásico robot oscilante, pero facilita enormemente su uso.

Combinado con TestNG, encontramos que es una manera fácil de simular acciones "humanas" a través de la GUI.

Otros consejos

Si su aplicación de destino tiene componentes personalizados, definitivamente lo recomendaría Maratón para automatizar sus pruebas.

Me dieron la tarea de automatizar una aplicación con varios extremadamente Componentes personalizados complicados, escritos internamente desde cero.Pasé por un proceso de revisión que duró dos meses, en el que tomé la decisión sobre qué herramienta de prueba utilizar, de una lista de cerca de 30 herramientas de prueba que estaban disponibles, tanto comerciales como FOSS.

Era el solo herramienta de prueba que pudo automatizar con éxito nuestros componentes personalizados particulares;donde Rational Functional Tester de IBM, TestPartner de Microfocus, QF-Test, Abbot y FEST fallido.

Desde entonces, pude integrar con éxito las pruebas con Cruise Control de modo que se ejecuten al completar cada compilación de la aplicación.

Sin embargo, una palabra de cautela:
1) es bastante tosco en la forma en que maneja JTables.Solucioné esto escribiendo mi propia clase de proxy para ellos.
2) Aún no admite grabación/reproducción de acciones de arrastrar y soltar.

Considere el maratón (http://www.marathontesting.com/Home.html)--pruebas están escritos en Jython, por lo que es fácil escribir cualquier tipo de predicados basados ​​en el estado del objeto.

Una vez tuve la oportunidad de probar QF-TEST.Es comercial, pero ofrece mucha funcionalidad.Quizás le eches un vistazo: http://www.qftest.de/en/index.html

Puedes intentar usar Pepino y Mundano para escribir pruebas de aceptación funcional en inglés sencillo para aplicaciones Swing GUI.Swinger usa Netbeans Palanqueta biblioteca debajo del capó para manejar la aplicación.

Cucumber te permite escribir pruebas como esta:

 Scenario: Dialog manipulation
    Given the frame "SwingSet" is visible
      And the frame "SwingSet" is the container
    When I click the menu "File/About"
    Then I should see the dialog "About Swing!"
    Given the dialog "About Swing!" is the container
    When I click the button "OK"
    Then I should not see the dialog "About Swing!"

Mira esto Vídeo de demostración swinger para verlo en acción.

Puedo recomendar ampliamente QFTest.Lo he usado para mi producto comercial y funciona muy bien con casi cero código (mi aplicación requiere el uso de API de cliente Java para algunas cosas).Maneja bien la identificación de componentes swing y es bastante tolerante con las actualizaciones de su GUI (cambiar el tamaño, reposicionar y agregar componentes no interrumpe las pruebas existentes).He realizado actualizaciones importantes de la funcionalidad y mis pruebas aún funcionan.

Es caro, pero creo que se amortizará en un par de meses.

Antes de QFTest probé:

1) Automatedqa: buena herramienta, pero centrada en Windows y no comprende Swing.Similar a Prueba rápida Pro.

2)UISpec4J: después de dedicar una sólida semana de 50 horas a esto, tuve problemas con la fragilidad y el arcano código Java que producía.Usarlo fue demasiado arduo: intentar depurar/actualizar cientos de líneas de Java realizando una secuencia de una docena de operaciones GUI simplemente no funcionó para mi cerebro.¡Terminé evitando escribir pruebas porque era mucho más complicado que escribir la aplicación en sí!

Me gusta Jemmy, la biblioteca escrita para probar Netbeans.

No es una respuesta, sino un refinamiento.

Grabar y reproducir es algo incorrecto.Los equipos necesitan la capacidad de escribir pruebas antes de escribir el código.De lo contrario, los codificadores terminan su trabajo y esperan mientras los evaluadores se apresuran a registrar las pruebas (interrumpidas por correcciones cuando detectan problemas).

En un tipo de configuración BDD/TDD/ATDD, realmente necesita algún tipo de herramienta que le permita realizar pruebas de script para código que aún no se ha escrito, especificando nombres de elementos de la interfaz de usuario y similares.

¿Existen herramientas que funcionen para pruebas que no sean en cascada?

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