testim io tutorial speed up authoring
En este tutorial práctico, aprenderá a crear pruebas estables en minutos utilizando la herramienta de automatización Testim y a utilizar el proceso de aprendizaje automático para acelerar la creación, ejecución y mantenimiento de pruebas automatizadas.
Cuando escuchamos la frase 'Herramienta de automatización', las principales consideraciones que nos vienen a la mente con respecto a nuestras pruebas incluyen:
el mejor software para limpiar tu computadora
- Autoría y ejecución
- Estabilidad
- Reutilización
- Extensibilidad
- Mantenimiento
- Solución de problemas
- Reportando
- Integración CI / CD
Hay muchas herramientas en el mercado que abordan uno o algunos de los factores anteriores, pero no todos. Aquí es donde Testim.io entra en escena.
Testim.io no es una herramienta, sino una plataforma que incluye casi todos los factores principales, como la creación y ejecución, el mantenimiento, la resolución de problemas, la generación de informes, etc., de las pruebas automatizadas. Con la introducción al concepto de localizadores dinámicos, se centran en unos pocos tipos de pruebas, como pruebas funcionales, pruebas de extremo a extremo y pruebas de interfaz de usuario.
Aumenta la extensibilidad y estabilidad de sus conjuntos de pruebas. Y también les da a los equipos y organizaciones, la flexibilidad para extender las funcionalidades de la plataforma usando lógica de programación compleja con JavaScript y HTML.
A continuación, se ofrece información detallada sobre Testim.io y cómo ayuda a superar algunos de los desafíos que enfrentan los clientes durante la automatización.
Lo que vas a aprender:
- ¿En qué se diferencia esta herramienta de otras herramientas?
- Testim.io es una plataforma y NO un registro ni una herramienta de reproducción
- Abordar los factores clave
- Conclusión
- Lectura recomendada
¿En qué se diferencia esta herramienta de otras herramientas?
Para entender cómo Testim se diferencia de las otras herramientas, demos un paso atrás en cómo han evolucionado las herramientas de automatización durante la última década.
En los últimos 10 años, ha habido varias herramientas de proveedores y herramientas de código abierto que intentaron abordar los diversos problemas relacionados con las pruebas automatizadas. Pero, un problema importante que nadie ha abordado hasta ahora es el uso de ID estáticos.
Por ejemplo , digamos que un desarrollador cambia el nombre de identificación o algún atributo de un elemento en la página web. Las pruebas automatizadas se interrumpen inmediatamente debido a este cambio, ya que todavía se refiere al nombre de identificación anterior. Esto conduce a pruebas inestables y los evaluadores tienen que dedicar mucho tiempo a mantenerlas.
Introdujeron el concepto de Localizadores dinámicos . La Inteligencia Artificial (IA) debajo de la plataforma en tiempo real, analiza todos los objetos DOM de una página y extrae los objetos y sus propiedades.
Finalmente, la IA decide la mejor estrategia de ubicación para localizar un elemento en particular en base a este análisis.
Debido a esto, incluso si un desarrollador cambia el atributo de un elemento, la prueba aún continúa ejecutándose y esto conduce a pruebas más estables. Como resultado de esto, la creación y ejecución de pruebas automatizadas son mucho más rápidas y estables.
Testim.io es una plataforma y NO un registro ni una herramienta de reproducción
En primer lugar, esto no es una herramienta, sino una plataforma.
Tiene características robustas que no solo ayudan a automatizar sus pruebas, sino que también se encarga de otros aspectos importantes de sus pruebas, como ejecutar sus pruebas localmente y en la nube (su red privada o red de terceros), integrándose con CI / CD. sistemas, captura de registros y capturas de pantalla de ejecuciones de prueba, proporcionando informes detallados de las ejecuciones de prueba con gráficos, estadísticas y otra información relacionada.
Y, por último, simplifica la captura y el informe de errores mediante la integración con las herramientas de seguimiento de errores ampliamente utilizadas.
En segundo lugar, les da a las organizaciones y los equipos la flexibilidad para construir sus propios contenedores alrededor de la plataforma usando lógica de programación compleja con JavaScript y HTML. De esta forma, cualquiera puede ampliar la funcionalidad de la plataforma.
Finalmente, la plataforma se alinea con el Paradigma de cambio a la izquierda donde los desarrolladores y probadores pueden comenzar a escribir las pruebas desde el principio trabajando en diferentes ramas sin sobrescribir los cambios de los demás. También ayuda a los equipos a colaborar y brinda la flexibilidad para que cualquiera pueda escribir pruebas automatizadas a través de sus funcionalidades integradas.
De esta manera, incluso un miembro no técnico del equipo puede hacer contribuciones valiosas a sus pruebas automatizadas. La plataforma ayuda a inculcar el concepto de que, Las pruebas automatizadas deben ser simples, efectivas, estables y colaborativas.
Abordar los factores clave
¿Cómo aborda Testim los factores clave que son vitales para las pruebas automatizadas?
Autoría y ejecución
Las pruebas automatizadas deben ser fáciles de crear y ejecutar desde cualquier lugar y en cualquier momento.
Testim ayuda a hacer esto de las siguientes maneras:
1) Crear una prueba
Creamos una nueva prueba haciendo clic en 'Crear nueva' o 'Nueva prueba' .
2) Grabación y reproducción de una prueba
Una vez que hacemos clic en el 'Registro' , podemos registrar diferentes acciones de los usuarios en nuestra aplicación.
Después de registrar las diferentes acciones, haga clic en 'Para de grabar' para terminar de grabar nuestras pruebas. Utilizar el 'Tocar' para reproducir la prueba grabada y el 'Salvar' para guardar las pruebas.
3) Validaciones y afirmaciones
Esta plataforma ayuda a realizar la validación de diferentes atributos de un elemento y API realmente simples.
Varias opciones para usuarios como:
- Adición de validaciones personalizadas mediante JavaScript y HTML
- Validar la visibilidad del elemento
- Validar el texto del elemento
- Validación de nivel de píxel
- Validación de nivel de API
4) capturas de pantalla
Mientras se registra cada prueba, la plataforma toma una captura de pantalla de todos los resultados aprobados y fallidos de todos y cada uno de los pasos. Como resultado, a los usuarios les resulta más fácil solucionar los problemas y comprender lo que sucede debajo del capó.
Por ejemplo , En la siguiente captura de pantalla, notaremos que los atributos de la 'Seleccionar destino' El botón ha cambiado pero la prueba aún se ejecutó porque la herramienta que usó AI Localizadores dinámicos . Además, la funcionalidad del sistema no cambió sino solo el atributo de un elemento.
También obtenemos la captura de pantalla de lo que sucedió exactamente durante la ejecución de la prueba al mostrar la imagen esperada (línea de base) y la imagen real.
(Nota:Haga clic en la imagen de abajo para una vista ampliada)
5) Comentarios sobre cada paso
El usuario también recibe la retroalimentación sobre cada paso en términos de si las pruebas pasaron o fallaron al mostrar un 'Verde' o 'Icono rojo' en la parte superior izquierda de cada paso como se muestra a continuación:
6) Pruebas de etiquetado
Testim proporciona la función de etiquetar todas y cada una de las pruebas que crea un usuario.
Hay 2 razones por las que es posible que deseemos etiquetar una prueba:
- Ayuda a identificar el motivo por el cual se creó la prueba en primer lugar.
- Ayuda a ejecutar las pruebas con la misma etiqueta todas a la vez a través de la función CLI.
La forma en que creamos etiquetas es haciendo clic en el 'Etiqueta' y seleccione una etiqueta existente o cree una nueva.
7) Documentación del usuario
Proporcionan a los usuarios toda la documentación que necesitarán para utilizar las diferentes funciones de esta plataforma.
La mayoría de las respuestas sobre el uso de esta plataforma se pueden encontrar haciendo clic en el 'Educar' pestaña y visitando el sitio de documentación como se muestra a continuación:
Debido a las razones anteriores, Testim.io ayuda a que la creación y ejecución de pruebas sea realmente rápida y sencilla. En cuestión de segundos, un usuario puede grabar, reproducir y guardar las pruebas.
Estabilidad
Usos de prueba Localizadores dinámicos en lugar de ID estáticos. Debido a esto, las pruebas son más estables y cuanto más las ejecutamos, más inteligente se vuelve la IA para garantizar una mayor estabilidad a las pruebas automatizadas.
Un usuario podrá ver las diferentes estrategias de ubicación que utiliza su IA para localizar un elemento en el IDE, a través del Panel de propiedades , para cada elemento con el que interactuamos a través de nuestras pruebas automatizadas.
Como podemos notar, la IA analiza todos los objetos DOM, los enumera en el Panel de propiedades junto con las clasificaciones de todas y cada una de las estrategias de ubicación para ese elemento en particular. De esta manera, incluso si cambia el atributo de un elemento, entonces la IA puede usar una estrategia de ubicación diferente de la lista ya analizada de objetos DOM.
Por lo tanto, un usuario no tiene que preocuparse por las pruebas inestables.
Reutilización
Una de las buenas prácticas de escribir pruebas automatizadas es crear componentes reutilizables que se pueden usar en diferentes partes de nuestra suite de pruebas.
¿Porque es esto importante?
La creación de componentes reutilizables es importante porque:
- Ayuda a aumentar la legibilidad de las pruebas automatizadas.
- Ahorra esfuerzo al no repetir el mismo conjunto de pasos en diferentes partes de las pruebas.
- Cualquier cambio en el paso reutilizable debe realizarse solo en un lugar y se refleja en todas las pruebas, en diferentes proyectos.
- Hace que las pruebas automatizadas sean más extensibles.
Testim ayuda a garantizar la reutilización al “Agrupación” y “Parametrización”.
1) Agrupación
Cualquier número de pasos relacionados se puede agrupar en un componente reutilizable.
Por ejemplo - Los 'Acceso' El escenario es uno de los pasos más utilizados en cualquier aplicación. La forma en que podemos crear un paso de 'Inicio de sesión' reutilizable sería seleccionar los pasos que queremos agrupar y luego hacer clic en 'Agregar nuevo grupo' Como se muestra abajo:
2) Parametrización
Esta plataforma ofrece la opción de probar la aplicación a través de varias combinaciones de entrada mediante la parametrización.
Esto se puede lograr de varias formas.
Una forma de hacerlo es proporcionar todos los parámetros de entrada que necesitaríamos para probar la aplicación en forma de archivo JSON en el paso de Configuración (primer paso de nuestras pruebas) como se muestra a continuación:
Extensibilidad
Esta herramienta brinda la flexibilidad para que las organizaciones amplíen las funcionalidades de esta plataforma utilizando JavaScript y HTML. De esta manera, en cualquier funcionalidad que esta plataforma no maneje, el usuario puede escribir su propio código para construir un marco de automatización robusto.
Por ejemplo - Digamos que queremos validar el 'Seleccionar destino' botón de nuestros ejemplos anteriores.
La forma de hacer esto sería.
- Haga clic en 'Agregar acción personalizada'.
- Dé un nombre al nuevo paso y haga clic en 'Confirmar'.
- Haga clic en 'PARAMS' y seleccione 'HTML' para este ejemplo.
- Agregar código personalizado.
- El nuevo paso con Código personalizado se agrega a la lista de pasos ya existentes.
Mantenimiento
Uno de los factores más importantes relacionados con las pruebas automatizadas es ' Mantenimiento ”.
Se gasta mucho esfuerzo en mantener las pruebas que en escribir las pruebas reales. Esto conduce a una pérdida de tiempo y esfuerzo valiosos de los recursos que podrían haber gastado ese tiempo en probar la aplicación real.
Testim ayuda a minimizar el esfuerzo requerido para mantener las pruebas automatizadas de las siguientes maneras:
1) Control de versiones
En cualquier momento, es importante tener los registros de los cambios que se realizaron en una prueba en particular. De esta manera, siempre podemos volver a la versión anterior de una prueba cuando sea necesario. Esta plataforma proporciona esta funcionalidad mostrando todo el historial de versiones yendo al panel Propiedades del paso de configuración y haciendo clic en 'Ver revisiones anteriores' .
2) Ramificación
En el ' Paradigma de desplazamiento a la izquierda ”Donde tanto el desarrollo como las pruebas deben comenzar en paralelo lo antes posible en el ciclo de vida del desarrollo de software.
Teniendo esto en cuenta, que tienen proporciona la funcionalidad a los equipos para crear ramas separadas para cada miembro del equipo y trabajar en los mismos proyectos y pruebas. De esta manera, nadie puede sobrescribir los cambios de los otros miembros del equipo y los equipos pueden trabajar en la misma base de código en cualquier momento.
Solo necesitas seleccionar 'Tenedor' para crear una nueva rama y también puede cambiar entre las ramas existentes.
Los usuarios tienen la opción de programar sus pruebas. Esto ayuda a ejecutar las pruebas automáticamente en un día y hora determinados sin ninguna intervención manual. También podemos recibir notificaciones por correo electrónico en caso de errores.
Solución de problemas
Como probadores, dedicamos una cantidad considerable de tiempo a solucionar los problemas. Para ayudar en la resolución de problemas, esta plataforma ofrece diferentes opciones a los usuarios para reducir el alcance del problema.
Estas opciones incluyen:
1) capturas de pantalla
La función de captura de pantalla explicada en la sección 'Creación y ejecución' ayuda a los usuarios a saber cuál era la imagen de referencia y cuál es la imagen real encontrada.
2) Panel de propiedades
El panel de propiedades ayuda a capturar los mensajes de error y mostrarlos al usuario.
Por ejemplo, Cuando un elemento no está visible y la prueba falla, obtenemos el siguiente mensaje de error en el panel.
3) Registros de prueba
Los registros son una rica fuente de información sobre lo que sucedió debajo de la interfaz de usuario. La herramienta proporciona registros de prueba cuando el usuario ejecuta las pruebas en nuestra red o en una red de terceros. La opción se puede encontrar en el panel de propiedades del paso de configuración.
4) Documentación
Testim hizo un gran esfuerzo para documentar la mayoría de las características de la herramienta en la Documentación del usuario que se encuentra en la 'Educar' pestaña.
Reportando
Este es uno de los aspectos más importantes de sus pruebas para obtener visibilidad sobre qué pruebas se ejecutaron, aprobaron, fallaron, la duración de la ejecución, las combinaciones de navegadores, etc.
Testim.io proporciona 2 tipos de función de informes:
1) Informes de conjuntos y ejecuciones de prueba
Cuando los usuarios hacen clic en la opción 'Ejecuciones' en el menú lateral, pueden ver todo el conjunto y las ejecuciones de prueba con todos los detalles requeridos como se muestra a continuación. Esto ayuda a obtener visibilidad de las ejecuciones de prueba y facilita la generación de informes.
2) Informar errores
Pasamos una cantidad considerable de tiempo al día informando errores. Esta es una de las partes de las pruebas más críticas y que requieren más tiempo.
Testim.io ayuda a reducir el tiempo de notificación de errores y a aumentar la productividad al proporcionar una extensión de Chrome para capturar e informar los errores rápidamente. Podemos capturar capturas de pantalla, videos del error y grabar una prueba automatizada real con esta extensión. Se integra con la mayoría de los sistemas de seguimiento de errores más utilizados.
Después de capturar el defecto y hacer clic en 'Publicar', rellena automáticamente todos los pasos necesarios en la descripción del error. También agrega la captura de pantalla, el video y las pruebas automatizadas con el defecto.
(Nota:Haga clic en la imagen de abajo para una vista ampliada)
Integración CI / CD
Esta herramienta se integra con diferentes sistemas CI / CD como Jenkins, Travis CI, Circle CI y otras herramientas de construcción. También se integra con redes de terceros que alojan su propia nube privada para ejecutar pruebas. Todo esto se hace a través de la CLI (Command Line Interface) que proporcionamos en la plataforma.
Al hacer clic en el 'Ajustes' El icono del menú lateral abre la CLI.
Está precargado con los comandos que necesitan para ejecutar las pruebas en sistemas CI / CD, grillas de terceros o sus grillas. Solo tenemos que hacer clic en 'Dupdo' y, literalmente, pegue el comando en cualquier herramienta de compilación o cuadrícula que utilice la organización.
La CLI también acepta los otros parámetros para ejecutar pruebas específicas, para ejecutar pruebas en paralelo, para anular la URL base y muchas más funcionalidades.
=> Todos los parámetros que se pueden utilizar se enumeran aquí en esta guía de usuario .
Conclusión
En pocas palabras, la plataforma Testim.io ayuda a superar algunos de los principales desafíos de la automatización, como se describe en las secciones anteriores. Con esto, puede hacer que la automatización sea más simple y estable.
Esta plataforma ayudará a:
- Miembros del equipo no técnicos para involucrarse en la automatización y escribir pruebas sólidas.
- Los miembros del equipo técnico utilizan una lógica de programación compleja para ampliar las funcionalidades de esta plataforma.
- La creación y ejecución de pruebas son muy rápidas.
- Las pruebas son más estables con el uso de 'Localizadores dinámicos' .
En general, es una plataforma que ayuda en varias facetas de la automatización de pruebas y están en el proceso de construir más funcionalidades para ayudar a los equipos y organizaciones ágiles a colaborar con el lema de UN EQUIPO y UN OBJETIVO.
=> Puedes explore más sobre esta herramienta aquí
No dude en preguntar si tiene alguna consulta y también comparta sus pensamientos en la sección de comentarios, ya que nos encantaría saber qué desafíos enfrenta con la automatización y cómo logró resolverlos.
Lectura recomendada
- Cómo ejecutar la ejecución a gran escala de pruebas de Appium en paralelo
- Intégrelo en su IDE para ejecutar sus pruebas de Appium
- Cree pruebas de Appium para una aplicación de Android
- Ejecución de sus pruebas de Appium en paralelo con Appium Studio para Eclipse
- Creación de pruebas de epochs con epochs Studio para Eclipse
- Escribir pruebas unitarias con Spock Framework
- Informes de Specflow: cómo generar informes de prueba y ejecutar pruebas selectivas
- Implementación de Java: creación y ejecución de un archivo JAR de Java