Marco de automatización de pruebas: Archiarquitectura y tipos

⚡ Resumen inteligente

La arquitectura del marco de automatización de pruebas define los estándares de codificación, el manejo de datos de prueba y las reglas del repositorio de objetos que siguen los scripts de automatización. Existen cinco tipos establecidos, cada uno de los cuales prioriza el esfuerzo de configuración sobre la reutilización, el costo de mantenimiento y la escalabilidad a largo plazo.

  • 📐 Definición básica: Un marco de trabajo es un conjunto de directrices, no de reglas, que generan reutilización, portabilidad y menores costos de mantenimiento.
  • ⏺️ Programación lineal: La grabación y reproducción es la opción más rápida de implementar, pero la más difícil de mantener, ya que los datos permanecen codificados de forma fija.
  • 🧱 Biblioteca de pruebas Architectura: Los pasos comunes se convierten en funciones reutilizables llamadas por un script del controlador, lo que aumenta la reutilización a costa del tiempo de planificación.
  • 📊 Impulsado por datos: La lógica de las pruebas permanece en los scripts, mientras que los datos se transfieren a Excel, CSV o una base de datos, lo que permite numerosos escenarios por script.
  • 🔑 Impulsado por palabras clave: Las acciones se almacenan como palabras clave en una tabla, lo que hace que las pruebas sean independientes tanto de la herramienta como de la aplicación.
  • 🔀 Modelo híbrido: La mayoría de los conjuntos de herramientas más consolidados combinan tablas de palabras clave con descomposición funcional para equilibrar el esfuerzo y la cobertura.

Marco de automatización de pruebas Archiarquitectura y tipos

¿Qué es el marco en las pruebas de automatización?

A Marco de automatización de pruebas es un conjunto de pautas como estándares de codificación, manejo de datos de prueba, tratamiento de repositorios de objetos, etc., que cuando se siguen durante la creación de scripts de automatización producen resultados beneficiosos como una mayor reutilización del código, mayor portabilidad, menor costo de mantenimiento de scripts, etc. Estas son solo pautas y no reglas; no son obligatorias y aún puede crear scripts sin seguir las pautas. Pero se perderá las ventajas de tener un marco.

¿Por qué necesitas un marco?

Consideremos un ejemplo para comprender por qué necesita un marco.

Estoy seguro de que ha asistido a un seminario/conferencia/conferencia en el que se pidió a los participantes que cumplieran las siguientes pautas:

  • Los participantes deberán ocupar sus asientos 5 minutos antes del inicio de una conferencia.
  • Lleve consigo una libreta y un bolígrafo para tomar notas.
  • Lee los abstracpara que tengas una idea de qué tratará la presentación.
  • Los teléfonos móviles deben estar en silencio.
  • Utilice las puertas de salida en el extremo opuesto al orador si necesita salir en medio de la conferencia.
  • Las preguntas se tomarán al final de la sesión.

¿Crees que puedes realizar un seminario? SIN ¿Está siguiendo estas directrices?

la respuesta es un gran ¡SÍ! Ciertamente, puedes llevar a cabo un seminario/conferencia/conferencia/demostración sin las pautas anteriores... de hecho, ¡algunos de nosotros no las seguiremos aunque estén establecidas!

Pero si se siguen las directrices, se obtendrá un resultado beneficioso, como una reducción de la discordia entre el público.tracinteracción durante las clases, mayor retención de los participantes y comprensión de la materia.

Con base en lo anterior, una El marco se puede definir como un conjunto de pautas que, cuando se siguen, producen resultados beneficiosos.

Marco de automatización de pruebas Architecture: Componentes clave

Antes de comparar los tipos, conviene ver qué contiene cada framework. ArchiLa arquitectura describe cómo se disponen estas partes en capas para que un cambio en una capa no afecte a las demás.

  • Capa de script de prueba: Contiene los casos de prueba. Los scripts se mantienen cortos porque llaman a funciones reutilizables en lugar de repetir pasos de navegación.
  • Biblioteca de funciones: Almacena acciones compartidas como iniciar sesión, buscar y cerrar sesión, de modo que un cambio en el flujo de trabajo se realiza una sola vez.
  • Repositorio de objetos: Asigna nombres descriptivos a los localizadores de elementos de la interfaz gráfica de usuario. Cuando la interfaz cambia, solo se edita esta capa.
  • Capa de datos de prueba: Mantiene los valores de entrada y los esperados en archivos Excel, CSV o bases de datos, en lugar de dentro del código.
  • Capa de configuración: Contiene entorno URLopciones de navegador, tiempos de espera y credenciales.
  • Capa de informes: Genera informes de ejecución, capturas de pantalla de fallos y registros de diagnóstico.
  • Capa de ejecución: Los conjuntos de activadores desde un servidor de compilación vinculan la automatización a integración continua.

Los tipos de marcos de trabajo que se describen a continuación difieren principalmente en el grado de separación que establecen entre estas capas.

Tipos de marcos de automatización de pruebas

A continuación se muestran los diferentes tipos de marcos de pruebas automatizados:

  1. Programación lineal
  2. La biblioteca de pruebas ArchiMarco de tecnología.
  3. Los datos impulsados Pruebas Marco de referencia.
  4. El marco de pruebas basado en palabras clave o en tablas.
  5. El marco de automatización de pruebas híbridas.

Veámoslos en detalle –

1) Secuencias de comandos lineales: grabación y reproducción

Es el más simple de todos los marcos de automatización de pruebas y también se conoce como “Grabar y reproducir”. En este Pruebas de automatización Framework, Tester registra manualmente cada paso (navegación y entradas del usuario), inserta puntos de control (pasos de validación) en la primera ronda. Luego, reproduce el guión grabado en las rondas siguientes.

Ejemplo: Considere iniciar sesión en Solicitud de reserva de vuelo y comprobar si la aplicación se ha cargado al iniciar sesión correctamente. Aquí, el evaluador simplemente registrará los pasos y agregará pasos de validación.

SystemUtil.Run "flight4a.exe","","","open"
Dialog("Login").WinEdit("Agent Name:").Set "Guru99"
Dialog("Login").WinEdit("Password:").Set "Mercury"
Dialog("Login").WinButton("OK").Click
'Check Flight Reservation Window has loaded after successful log-on
Window("Flight Reservation").Check CheckPoint("Flight Reservation")

Ventajas

  • La forma más rápida de generar un script
  • No se requiere experiencia en automatización
  • La forma más sencilla de conocer las funciones de la herramienta de prueba

Desventajas

  • Poca reutilización de guiones
  • Los datos de prueba están codificados en el script.
  • Pesadilla de mantenimiento

2) La biblioteca de pruebas Archimarco de tecnología

También se le conoce como “Secuencias de comandos estructuradas” or "Descomposición funcional".

En este marco de pruebas de automatización, los scripts de prueba se registran inicialmente mediante "Grabar y reproducir"Método. Later, las tareas comunes dentro de los scripts se identifican y agrupan en Funciones. Estas funciones son llamadas por el script de prueba principal llamado Destornillador de diferentes maneras para crear casos de prueba.

Ejemplo: Usando el mismo ejemplo anterior, la función para iniciar sesión en Reserva de vuelos se verá así.

Function Login()
  SystemUtil.Run "flight4a.exe","","","open"
  Dialog("Login").WinEdit("Agent Name:").Set "Guru99"
  Dialog("Login").WinEdit("Password:").Set "Mercury"
  Dialog("Login").WinButton("OK").Click
End Function

Ahora, llamará a esta función en el script principal de la siguiente manera

Call Login()
---------------------------
'Other Function calls / Test Steps.
---------------------------

Ventajas

  • Se logra un mayor nivel de reutilización de código en secuencias de comandos estructuradas en comparación con "Grabación y reproducción"
  • Los scripts de automatización son menos costosos de desarrollar debido a una mayor reutilización del código.
  • Mantenimiento de scripts más sencillo

Desventajas

  • Se necesita experiencia técnica para escribir scripts utilizando el marco de la biblioteca de pruebas.
  • Se necesita más tiempo para planificar y preparar guiones de prueba.
  • Los datos de prueba están codificados dentro de los scripts

3) El marco de pruebas basado en datos

En este marco, si bien Caso de prueba La lógica reside en los scripts de prueba, los datos de prueba se separan y se mantienen fuera de los scripts de prueba. Los datos de prueba se leen de archivos externos (archivos de Excel, archivos de texto, archivos CSV, fuentes ODBC, objetos DAO, objetos ADO) y se cargan en las variables dentro del script de prueba. Las variables se utilizan tanto para valores de entrada como para valores de verificación. Los scripts de prueba se preparan utilizando scripts lineales o el marco de la biblioteca de pruebas. La técnica se explica con más detalle en la pruebas basadas en datos tutorial.

Ejemplo: Desarrollarping El script de inicio de sesión para la reserva de vuelos que utiliza este método constará de dos pasos.

Paso 1) Cree una prueba: archivo de datos que podría ser Excel, CSV o cualquier otra fuente de base de datos.

Nombre del agente Contraseña
Jimmy Mercury
Tina MERCURIO
Bill Mercurio

Paso 2) Desarrolle un script de prueba y haga referencias a su fuente de datos de prueba.

SystemUtil.Run "flight4a.exe","","","open"
Dialog("Login").WinEdit("Agent Name:").Set DataTable("AgentName", dtGlobalSheet)
Dialog("Login").WinEdit("Password:").Set DataTable("Password", dtGlobalSheet)
Dialog("Login").WinButton("OK").Click
'Check Flight Reservation Window has loaded
Window("Flight Reservation").Check CheckPoint("Flight Reservation")
'Note "dtGlobalSheet" is the default excel sheet provided by QTP.

Ventajas

  • Los cambios en los scripts de prueba no afectan los datos de prueba.
  • Los casos de prueba se pueden ejecutar con múltiples conjuntos de datos
  • Se puede ejecutar una variedad de escenarios de prueba simplemente variando los datos de prueba en el archivo de datos externos.

Desventajas

  • Se necesita más tiempo para planificar y preparar tanto los guiones de prueba como los datos de prueba.

4) El marco de pruebas basado en palabras clave o basado en tablas

El Impulsado por palabras clave o El desarrollo de un marco de automatización basado en tablas requiere tablas de datos y palabras clave, independiente de la herramienta de automatización de prueba utilizado para ejecutarlos. Las pruebas se pueden diseñar con o sin la Aplicación. En una prueba basada en palabras clave, la funcionalidad de la aplicación bajo prueba se documenta en una tabla, así como en instrucciones paso a paso para cada prueba.

Hay tres componentes básicos de un marco impulsado por palabras clave, a saber: palabra clave, mapa de aplicación y función del componente.

Una palabra clave es una acción que se puede realizar en un componente de la GUI. Por ejemplo, para un cuadro de texto de un componente de la GUI, algunas palabras clave (acción) serían InputText, VerifyValue, VerifyProperty, etc.

¿Qué es el Mapa de Aplicación?

Un mapa de aplicación proporciona referencias con nombre para componentes GUI. Los mapas de aplicaciones no son más que “Repositorio de objetos"

¿Qué es la función de los componentes?

Las funciones de componentes son aquellas funciones que manipulan o interrogan activamente el componente GUI. Un ejemplo de una función sería hacer clic en el botón web con todo el manejo de errores, ingresar datos en una edición web con todo el manejo de errores. Las funciones de los componentes pueden depender o ser independientes de la aplicación.

Ejemplo: Para comprender la Vista de palabras clave, tomemos el mismo ejemplo. Implica 2 pasos

Paso 1: Creación de una tabla de datos (diferente de la tabla de datos de prueba creada en el marco basado en datos). Esta tabla de datos contiene la acción que se realizará en los objetos de la GUI y los argumentos correspondientes, si los hubiera. Cada fila representa un paso de prueba.

Objeto Acción:
(MAPA de aplicación) (PALABRAS CLAVE) Argumento
WinEdit (nombre del agente) Establecer Guru99
WinEdit(Contraseña) Establecer Mercury
Botón Win(OK) Haga clic en
Ventana (Reserva de vuelo) Verificar Existe

Paso 2: Escribiendo Code en forma de funciones componentes.

Una vez que haya creado su(s) tabla(s) de datos, simplemente escriba un programa o un conjunto de scripts que lea cada paso, ejecute el paso según la palabra clave contenida en el campo Acción, realice una verificación de errores y registre cualquier información relevante. Este programa o conjunto de scripts sería similar al pseudocódigo siguiente:

Function main()
{
  Call ConnectTable(Name of the Table) { //Calling Function for connecting to the table.
  while (Call TableParser() != -1) //Calling function for Parsing and extracting values from the table.
  {
    Pass values to appropriate COMPONENT functions. Like Set(Object Name, Argument) ex. Set(Agent Name, Guru99).
  }
}
  Call CloseConnection() //Function for Closing connection after all the operation has been performed.
} //End of main

Eso es todo en el marco basado en palabras clave.

La ventaja de Keyword Driven Framework es que las palabras clave se pueden reutilizar. Para entender esto, supongamos que desea verificar la operación de inicio de sesión para un sitio web, por ejemplo, YAHOO MAIL. La tabla se verá así:

Objeto Acción:
(MAPA DE APLICACIÓN) (PALABRA CLAVE) Argumento
WebEdit(Nombre de usuario) Establecer abc@yahoo.com
WebEdit(Contraseña) Establecer xxxxx
Botón Web(Aceptar) Haga clic en
Ventana (Yahoo Mail) Verificar Cargas

Si observa que en este caso las palabras clave Set, Click y Verify permanecen iguales, para las cuales ya se han desarrollado las funciones de componentes correspondientes, todo lo que necesita hacer es cambiar el Mapa de la aplicación.ping (Repositorio de objetos) de la reserva de vuelo anterior a Yahoo Mail , con un cambio en los valores de los argumentos y el mismo script funcionará.

Ventajas

  • Proporciona una alta reutilización del código
  • Herramienta de prueba independiente
  • Independientemente de la aplicación bajo prueba, el mismo script funciona para AUT (con algunas limitaciones)
  • Las pruebas se pueden diseñar con o sin AUT

Desventajas

  • Como la inversión inicial es bastante alta, los beneficios sólo se pueden obtener si la aplicación es considerablemente grande y los scripts de prueba se van a mantener durante bastantes años.
  • Se requiere alta experiencia en automatización para crear el marco basado en palabras clave.

NOTA: Aunque OpenText UFT Uno (anteriormente Micro Focus) UFT) se anuncia como un marco de trabajo basado en palabras clave, pero no se puede lograr una independencia completa de la herramienta de prueba y la aplicación con él.

5) El marco de automatización de pruebas híbridas

Como sugiere el nombre, este marco es la combinación de uno o más marcos de automatización discutidos anteriormente, aprovechando sus fortalezas y tratando de mitigar sus debilidades. El marco de automatización de control de calidad de pruebas híbridas es en lo que evolucionan la mayoría de los marcos de automatización de pruebas con el tiempo y múltiples proyectos. La industria máxima utiliza el marco de palabras clave en una combinación del método de descomposición de funciones.

PS: Otros marcos de automatización que vale la pena mencionar son

Marco de modularidad de prueba

En este marco, una tarea común en el script de prueba se agrupa como Módulos.

Ejemplo: Uso de acciones en QTP su uso puede crear scripts modulares

Script de muestra para iniciar sesión

SystemUtil.Run "flight4a.exe","","","open"
Dialog("Login").WinEdit("Agent Name:").Set "Guru99"
Dialog("Login").WinEdit("Password:").Set "Mercury"
Dialog("Login").WinButton("OK").Click
'End of Script

Ahora puedes llamar a esta acción en el script principal de la siguiente manera:

RunAction ("Login[Argument]", oneIteration)

Pruebas de procesos de negocio (BPT)

Estos marcos de automatización dividen grandes procesos comerciales en componentes que pueden reutilizarse varias veces en los mismos scripts de prueba o en diferentes. Por ejemplo, el proceso comercial de reservar un vuelo se divide en componentes como inicio de sesión, búsqueda de vuelos, reserva, pago y cierre de sesión, que se pueden reutilizar en el mismo proceso comercial o en procesos diferentes. Además, BPT facilita una coordinación más estrecha entre las PYME y los ingenieros de automatización.

Cómo elegir el marco de automatización de pruebas adecuado

Ningún tipo de solución es siempre la mejor. La elección correcta depende de la habilidad del equipo, el tamaño de la aplicación y la vida útil que debe tener el conjunto de herramientas. La siguiente tabla compara los cinco tipos según los factores que determinan el resultado.

Tipo de marco Esfuerzo de configuración Code Reutilizar Costo de mantenimiento Mejores adecuados para
Programación lineal Muy bajo Muy bajo Muy alto Demostraciones y comprobaciones de humo puntuales.
Biblioteca de pruebas Architectura Media Media Media Aplicaciones estables con flujos de trabajo repetitivos.
Impulsado por datos Media Media Bajo Formularios y cálculos que requieren muchos conjuntos de datos de entrada.
Impulsado por palabras clave Alto Muy alto Bajo Amplias suites mantenidas por equipos técnicos mixtos.
Híbrido Alto Muy alto Bajo Programas empresariales de larga duración

Analiza estas preguntas antes de comprometerte:

  1. ¿Cuánto tiempo permanecerá abierta la suite? Años de mantenimiento justifican la elevada inversión inicial de un diseño híbrido o basado en palabras clave. Un proyecto corto no.
  2. ¿Quién elabora los exámenes? Si los evaluadores manuales aportan casos de prueba, una tabla de palabras clave les permite trabajar sin necesidad de aprender el lenguaje de scripting.
  3. ¿Qué tan volátil es la interfaz? El cambio frecuente de pantalla hace que un repositorio de objetos independiente sea esencial; de lo contrario, cada script necesitaría ser editado.
  4. ¿Cuánta variación de datos se necesita? Muchas combinaciones de datos de entrada apuntan directamente a un diseño basado en datos.
  5. ¿Qué herramienta ya está en uso? El marco debe ajustarse a lo elegido herramienta de automatización y un idioma que el equipo conozca, como por ejemplo: Selenium con Java or Cucumber.

La mayoría de los equipos comienzan con un enfoque basado en bibliotecas o datos, y luego evolucionan hacia un modelo híbrido a medida que... regresión La suite se amplía.

Beneficios del marco de automatización de pruebas Architectura

Los siguientes son los beneficios de la arquitectura del marco de automatización de pruebas:

  • Un marco de automatización de pruebas ayuda a reducir los riesgos y los costos.
  • Mejora la eficiencia de las pruebas.
  • Ayuda a reducir el coste de mantenimiento.
  • Permite la reutilización de código.
  • Permite alcanzar la máxima cobertura de prueba.
  • Maximiza la funcionalidad de la aplicación.
  • Ayuda a reducir la duplicación de casos de prueba.
  • Ayuda a mejorar la eficiencia y el rendimiento de las pruebas con la automatización de pruebas.

Preguntas Frecuentes

Una herramienta ejecuta comandos sobre una aplicación. Un marco de trabajo es el conjunto de convenciones, estructura de carpetas y bibliotecas reutilizables que determinan cómo se escriben, organizan y mantienen esos comandos.

No. El Page Object Model es un patrón de diseño para la capa de repositorio de objetos. Se usa comúnmente dentro de frameworks de biblioteca, basados ​​en datos e híbridos, en lugar de reemplazarlos.

La IA añade localizadores autorreparables y comparación visual a la capa del repositorio de objetos. La arquitectura por capas se mantiene, pero los scripts fallan con menos frecuencia cuando la interfaz de usuario cambia ligeramente.

Sí. Los asistentes de IA convierten los pasos escritos en filas de objetos, acciones y argumentos. Un revisor debe confirmar que los nombres de los objetos coinciden con los del repositorio; de lo contrario, las filas generadas fallarán durante la ejecución.

Track horas de mantenimiento de scripts por lanzamiento, porcentaje de fallos intermitentes y tiempo desde la compilación hasta el resultado. Un marco de trabajo saludable muestra una disminución en el esfuerzo de mantenimiento, mientras que la cobertura automatizada sigue aumentando.

Resumir este post con: