Jubula: un paso del comprobador manual a la automatización

imagen



Jubula es una herramienta de automatización de pruebas que no conocen muchos probadores en Rusia. Vino a nuestra empresa con un proyecto desde Alemania.

El programa fue desarrollado por BREDEX GmbH y es gratuito. El desarrollador indica que Jubula es capaz de probar aplicaciones en Swing, SWT / RCP / GEF y JavaFX. Un tester que usa Jubula no necesita conocer ninguno de los lenguajes de programación, ya que las pruebas se llevan a cabo mediante el método de caja negra y no requiere código fuente, lo que permite a todos automatizar sus casos de prueba por su cuenta.



Jubula se puede utilizar como una aplicación independiente (como en nuestro proyecto) o como un complemento de Eclipse ( https://projects.eclipse.org/projects/technology.jubula ).



Después de instalar la aplicación, todo está listo para usar: se configura una base de datos para almacenar proyectos y un AUT-Agent (proporciona conexión Jubula con la aplicación bajo prueba).



Para crear un nuevo proyecto, seleccione Prueba - Nuevo en el menú y complete los campos. En AUT ejecutable, seleccione la ruta al archivo ejecutable para ejecutar la aplicación bajo prueba.



imagen



Por supuesto, para un proyecto grande en el que trabajan varios probadores, se requerirán configuraciones especiales para una base de datos centralizada, que almacenará los casos de prueba creados para las pruebas de regresión, con acceso para todos los usuarios.



Para probar una aplicación con Jubula, realmente necesita la aplicación en sí con una interfaz gráfica. El programa ya contiene un conjunto de las acciones más necesarias:



imagen



La creación de casos de prueba en Jubula se basa en el método de palabras clave . Es decir, creando un nuevo caso de prueba, el usuario encuentra las acciones necesarias utilizando palabras como click, check, wait, etc., las agrega a la prueba y les asigna los parámetros necesarios.



Además, Jubula ofrece la posibilidad de "registrar" las acciones realizadas por el probador y reproducirlas más tarde. Este método no es popular, aunque es apropiado para crear rápidamente condiciones previas cuando, por ejemplo, necesita "llegar" a la ventana deseada, en la que ya se realizarán las comprobaciones.



Para crear un caso de prueba, simplemente puede arrastrar un paso desde el Navegador de casos de prueba al área de trabajo donde está abierto su conjunto de pruebas. Se pueden combinar varios pasos en un módulo(Refactor - Extraer caso de prueba), que luego se puede utilizar en diferentes casos de prueba. Cambiar el módulo cambiará los pasos en todas las pruebas donde se usa, debe tener cuidado con esto. Si el módulo está abierto en el espacio de trabajo, es fácil ver todos los casos de prueba en los que se usa presionando F7. Hay muchas más teclas de acceso rápido en Jubula, que están convenientemente resaltadas en una línea separada en la sección de Ayuda. Además, en Contenidos de ayuda mediante la barra de búsqueda, puede encontrar información de interés sobre cualquier función del programa (en inglés).



imagen



Antes de crear casos de prueba, debe agregar todos los componentes gráficosutilizado en la prueba. Esto se hace fácilmente con el modo de asignación de objetos, que se activa cuando la aplicación está abierta. Coloca el cursor sobre el objeto deseado y presiona Ctrl + Shift + q. El objeto debe recibir un nombre y guardarse, luego se puede seleccionar en el cuadro Nombres de componentes en el paso deseado.



imagen



Jubula le permite crear sus propios pasos específicos según sea ​​necesario . Hay acciones executeExternalCommand e invokeExternal (Method) para esto. Con su ayuda se lanzan scripts o archivos .jar. Sin el conocimiento de JAVA, la creación de sus propios equipos no funcionará. En nuestro proyecto, el ingeniero de configuración escribió varios archivos .jar grandes a los que Jubula accede a través de .bat, escritos en executeExternalCommand.



Consideremos un ejemplo de un módulo creado en nuestro proyecto para comparar la ventana activa con una imagen almacenada en SVN. Primero, se guarda como variable el nombre del futuro archivo .jpg (StoreValue), en el takeScreenshotofActivWindow estándar se escriben este nombre y la ruta donde se ubicará la nueva captura de pantalla, y luego en el paso executeExternalCommand se lanza el archivo .bat, donde se encuentran las imágenes que compararemos y algunas parámetros como el tamaño de la imagen y la desviación máxima permitida en píxeles. A través del mismo archivo .bat se lanza el .jar, que contiene clases para comparar archivos de texto, imágenes, pdf y csv. Esta cocina interior es necesaria principalmente solo para aquellos que configuraron Jubula para un proyecto por primera vez, o agregan algo que faltaba mucho. Al crear un caso de prueba, el evaluador toma un módulo listo para usar (de nosotros, por ejemplo,Compare Image), establece parámetros y ni siquiera sabe lo que está escrito en .bat, y más aún en .jar.



Jubula puede interactuar con aplicaciones de terceros durante las pruebas. Nuestra aplicación genera informes en formatos PDF y CSV. A través de la aplicación, puede abrir un informe en Adobe Reader, Jubula lo guardará usando atajos de teclado, le dará un nombre que el probador haya elegido de antemano y luego lo comparará con el archivo guardado en SVN de la manera descrita anteriormente a través de executeExternalCommand.



Resultados de la pruebamostrado con el máximo detalle, puede ver todos los parámetros de entrada y salida. Si la prueba falla en algún paso, Jubula toma una captura de pantalla de ese momento, a la que puede consultar en cualquier momento (esta función se puede desactivar para ahorrar espacio). Además, para un paso con un error, en la mayoría de los casos, está disponible una Vista de registro, que describe brevemente la esencia del error. Los resultados se pueden guardar automáticamente en la carpeta seleccionada en formato XML / HTML.



Para determinar las acciones que siguen a la ocurrencia de un error , se utiliza Event_Handler, el llamado controlador de eventos. Se puede configurar en función del tipo de error para continuar, repetir (un número determinado de veces), salir, pausar, etc. En el manejador de eventos se puede agregar un paso de prueba o varios pasos que se deben realizar en caso de error.



Puede influir en la elección del siguiente paso utilizando If-Then-Else , que es muy conveniente cuando se repiten acciones con diferentes parámetros.



El ciclo While-Do o Do-While Loop ayuda mucho si necesita "desplazarse" al valor deseado [Presione "abajo" hasta que aparezca el valor "5" o viceversa, hasta que el valor sea "5", presione "abajo"].



imagen



Naturalmente, Jubula tiene la capacidad de ejecutar carreras nocturnas para disfrutar de las marcas de verificación verdes frente a sus pruebas por la mañana.



Jubula realiza la prueba como si el usuario la estuviera realizando en su computadora: mueve el cursor sobre las ventanas de la aplicación, hace clic en las teclas, por lo que por la pureza del experimento, no se puede mover el mouse ni tocar el teclado en este momento... Y como muestra la experiencia, sin siquiera tocar nada, el usuario puede avergonzar a Jubula con una mirada para que no pueda encontrar el botón correcto, ni presionarlo, ni nada más. Por lo tanto, la mejor opción sería ejecutar Jubula en una máquina diferente. En nuestro proyecto, esta es una máquina remota, donde todos inician sesión como su usuario, pero todos sus cambios en Jubula están disponibles para todos los demás.



En nuestro proyecto, Jubula está integrado con Polarion, esto le permite ver estadísticas de qué pruebas pasaron o fallaron, cuáles no se ejecutaron en absoluto en esta ejecución. Para cada caso de prueba individual, Polarion tiene un campo de Registros de prueba, que muestra los resultados de las ejecuciones de la última noche en Jubula, su número se puede configurar de forma independiente (hasta 300). Esta función le ayuda a rastrear fácilmente desde qué versión dejó de pasar una prueba si no se supervisaba con regularidad.



Un inconveniente importante del programa es la incapacidad de revertir cualquier cambio, la función "retroceder", "deshacer" o algo similar simplemente no está allí. Lo máximo que es posible es cerrar todo sin guardar los cambios. Pero si hace clic en "Guardar", eso es todo. En casos de emergencia, es posible restaurar la versión del proyecto a partir de una fecha determinada, esto está plagado del hecho de que los cambios realizados después de este día se perderán para siempre.



Jubula es un programa realmente bueno para automatizar pruebas escritas para una aplicación de escritorio. Si lo desea y el usuario tiene las habilidades, le permite verificar todo, y no solo la GUI, sino también la funcionalidad desde el lado del servidor. Pero esta creación es realmente suave, necesitas encontrar un enfoque para ella, ¡y luego podrás usarla felices para siempre!



All Articles