Pruebas de Interfaz Gráfica de Usuario: Squish GUI Tester
Nueve razones para elegir Squish GUI Tester
1.
Permite crear un script de pruebas automáticamente mediante la grabación de eventos.2.
Permite la verificación de propiedades de cualquier objeto de la interfaz, comparación de imágenes, verificación visual (verificación de propiedades y de imágenes), y validación de valores de tablas.3.
Permite la automatización de pruebas de regresión, mediante la ejecución en batch usando herramientas de Integración Continua (Jenkins, Hudson).4.
Soporta múltiples sistemas operativos: Windows, Mac, Linux, Solaris.5.
Soporta múltiples tecnologías GUI: Qt, Java, Web, iOS nativo, Android nativo, Windows nativo, Mac Nativo.6.
Permite la prueba remota de aplicaciones que corren en múltiples plataformas o en dispositivos embebidos.7.
Permite la prueba de aplicaciones híbridas (ejemplo: aplicación Qt con controles nativos de Windows).8.
Permite el uso de la metodología Behavior Driven Development (BDD), crando casos de pruebas BDD en lenguaje Gherkin.9.
Permite el uso de diferentes lenguajes de script (Python, JavaScript, Ruby, Perl y TCL).
Ediciones de Squish GUI Tester
Squish for Qt
Permite probar aplicaciones escritas con Qt Widgets, QML, Qt Quick, Qt Webkit y Qt WebEngine.
La licencia permite probar estas aplicaciones cuando se ejecutan en desktop (Windows, MacOS, Linux, Solaris) y en móviles (iOS, Android).
Squish for Web
Permite probar aplicaciones escritas para navegadores web con HTML5, Flex, Java Applets, Ajax, etc.
La licencia permite probar estas aplicaciones cuando se ejecutan en desktop (Windows, MacOS, Linux, Solaris) y en móviles (iOS, Android).
Squish for Mobile
Permite probar aplicaciones nativas para Android e iOS, incluyendo soporte para contenido Webkit.
La licencia permite probar estas aplicaciones cuando se ejecutan en dispositivos móviles y emuladores.
Squish for Java
Permite probar aplicaciones escritas con AWT, SWT, RCP, Swing y Java Fx, incluyendo soporte para Webkit.
Squish for Windows
Permite probar aplicaciones escritas con MFC, Win Forms y WPF, incluyendo soporte para automatización vía MSAA y UIAutomation.
Squish for Mac
Permite probar aplicaciones nativas para MacOS, incluyendo soporte para contenido Webkit.
Squish for Tcl/Tk
Permite probar aplicaciones Tcl/tk sobre Windows, Linux, Solaris y MacOS.
Creación de casos de prueba con Squish
En cinco pasos
1.
2.
3.
4.
Grabación de eventos del caso de prueba. Por ejemplo:
- Abrir un fichero de direcciones
- Navegar a la segunda dirección y añadir un nuevo nombre y dirección
- Navegar a la cuarta dirección y cambiar el campo “Apellidos”
- Navegar a la primera dirección y borrarla
5.
- Verificar que la primera dirección es ahora la nueva que hemos añadido

En este caso, la verificación es de tipo Propiedad de Objeto. Squish muestra los obejtos de la aplicación.
Seleccionamos el ítem adecuado, su propiedad y el valor esperado (Doe).

Como resultado de este proceso, se genera un script en el lenguaje elegido que puede ser ejecutado. Este es el ejecutable del caso de prueba.
Al ejecutarlo, Squish activará la secuencia de eventos introducida y realizará la verificación del caso de prueba, obteniendo el resultado (éxito o fallo).
El caso de prueba puede ejecutarse desde Squish IDE o desde Squish Command Line. También puede ejecutarse mediante Jenkins o Hudson.
Ejecución local o remota de Casos de Prueba
Ejecución local a través de Squish IDE
La aplicación a probar (AUT) y Squish son dos procesos independientes.
Squish consta de dos procesos:
- Squish Runner: Interpreta el script de pruebas y pide a Squish Server ejecutar las acciones del script.
- Squish Server: Arranca la AUT e inyecta una pequeña librería (hook) que interactúa con la AUT.

