¿Cómo puedo comprobar automáticamente qué se ve y qué no? O al menos, ¿cómo puedo organizar algunas pruebas parcialmente automáticas?
IDE: Eclipse (podría usar también IntelliJ Idea si es necesario)
Herramienta de prueba: Junit (de nuevo, podría usar otra cosa si se aconseja, pero mejor si es gratis)
Sistema operativo de la aplicación: Android
SO del desarrollador: Linux (podría cambiar para MAC o Windows (de mala gana))
Lenguaje: Java
Todo el trabajo va en el dispositivo externo. Sin emulador
La aplicación es una envoltura de usuario para el reproductor de TV de firmware, denominada actividad externa. Entonces, el 70% del código es para GUI. (El otro 30% habla a los servidores y proporciona información a la GUI)
Antes de programar la función de prueba, no uso ninguna herramienta. Ahora tengo una herramienta a mano. Pero no puedo imaginar cómo podría probar la interfaz de usuario, con la herramienta o sin ella. (Dicho estrictamente, con las conexiones a Internet también tengo problemas, pero probablemente los dejaré para la otra pregunta). La respuesta no tiene que depender demasiado de la plataforma, los principios e ideas también ayudarán.
Por supuesto, es bueno verificarlo, es algún elemento en otro y está verificado o no. Algunos controles de regresión serían buenos para eso. Pero también debo estar seguro de que el elemento mencionado no está cortado por otros elementos y parpadea como pedí por animación.
Los consejos aquí: /software/63245/is-there-a-tool-to-test-java-ui no ayudarán, solo hay herramientas, no principios, y ninguno de los Las herramientas podrían ayudar en mi situación.
Respuestas:
La mayoría de las veces, el mejor consejo para las pruebas automáticas de GUI es desarrollar su aplicación en un estilo Modelo-Vista-Presentador y escribir sus pruebas contra el Presentador. El tema se discute aquí:
http://danbunea.blogspot.com/2005/11/model-view-presenter-is-testing_27.html
(hay más enlaces al final de ese artículo).
Por supuesto, eso podría no ayudarlo a "verificar automáticamente lo que se ve y lo que no", pero puede ayudarlo a probar al máximo la lógica de la interfaz de usuario.
fuente
Existen marcos de prueba que le permiten interactuar directamente con la pantalla; En mi trabajo utilizamos IBM Rational Functional Tester, que nos permite hacer clic en botones, etc., así como las pruebas programáticas habituales. Obviamente, eso no es gratis, pero buscarlo en wikipedia proporciona esta lista de alternativas. Como estás viendo Java, está CubicTest , que es un complemento de Eclipse; Las alternativas incluyen Maveryx y Abbot .
fuente
Yo uso testcomplete. Es la herramienta más completa que he usado para automatizar las pruebas de GUI. http://smartbear.com/products/qa-tools/automated-testing/ échales un vistazo. Estoy realmente seguro de que será una buena opción para ti y es compatible con Java.
fuente
He estado usando https://marketplace.atlassian.com/plugins/com.thed.zephyr.je/cloud/overview por un tiempo. Tiene complementos como ZAPI que ayudan a automatizar las pruebas.
fuente