¿Qué son las pruebas basadas en datos? Aprende a crear Framework

Pruebas basadas en datos

Pruebas basadas en datos es un método de prueba de software en el que los datos de prueba se almacenan en formato de tabla u hoja de cálculo. Las pruebas basadas en datos permiten a los evaluadores ingresar un único script de prueba que puede ejecutar pruebas para todos los datos de prueba de una tabla y esperar el resultado de la prueba en la misma tabla. También se denomina prueba basada en tablas o prueba parametrizada.

Marco basado en datos

Marco basado en datos es un marco de pruebas de automatización en el que los valores de entrada se leen de archivos de datos y se almacenan en variables en scripts de prueba. Permite a los evaluadores crear casos de prueba tanto positivos como negativos en una sola prueba. Los datos de entrada en el marco basado en datos se pueden almacenar en una o varias fuentes de datos como .xls, .xml, .csv y bases de datos.

Marco basado en datos

¿Por qué realizar pruebas basadas en datos?

Pruebas basadas en datos Es importante porque los evaluadores frecuentemente tienen múltiples conjuntos de datos para una sola prueba y la creación de pruebas individuales para cada conjunto de datos puede llevar mucho tiempo. Las pruebas basadas en datos ayudan a mantener los datos separados de los scripts de prueba y se pueden ejecutar los mismos scripts de prueba para diferentes combinaciones de datos de prueba de entrada y los resultados de las pruebas se pueden generar de manera eficiente.

Ejemplo:

Por ejemplo, queremos probar el sistema de inicio de sesión con múltiples campos de entrada con 1000 conjuntos de datos diferentes.

Para probar esto, puedes adoptar los siguientes enfoques diferentes:

Enfoque 1) Cree 1000 scripts, uno para cada conjunto de datos, y ejecute cada prueba por separado, uno por uno.

Enfoque 2) Cambie manualmente el valor en el script de prueba y ejecútelo varias veces.

Enfoque 3) Importe los datos de la hoja de Excel. Obtenga datos de prueba de las filas de Excel una por una y ejecute el script.

De los tres escenarios dados, los dos primeros son laboriosos y requieren mucho tiempo. Por tanto, lo ideal es seguir el tercer enfoque.

Por tanto, el tercer enfoque no es más que un marco basado en datos.

Cómo crear un marco de automatización basado en datos

Marco de automatización basado en datos

Considere que desea probar la funcionalidad de inicio de sesión de una aplicación.

Paso 1) Identificar los casos de prueba

  • Ingrese el nombre de usuario y la contraseña correctos: inicio de sesión exitoso
  • Ingrese un nombre de usuario incorrecto y una contraseña correcta: error de inicio de sesión
  • Ingrese el nombre de usuario correcto y la contraseña incorrecta: error de inicio de sesión

Paso 2) Cree pasos de prueba detallados para los 3 casos de prueba anteriores

Caso de prueba# Descripción Pasos de prueba Datos de prueba Resultados previstos
1 Marque Iniciar sesión para obtener credenciales válidas
  1. Iniciar la aplicacion
  2. Ingrese la contraseña del nombre de usuario
  3. Haga clic en Aceptar
  4. Comprobar resultados
Nombre de usuario: contraseña válida: válida Inicio de sesión exitoso
2 Verifique Iniciar sesión para ver si hay credenciales no válidas
  1. Iniciar la aplicacion
  2. Ingrese la contraseña del nombre de usuario
  3. Haga clic en Aceptar
  4. Comprobar resultados
Nombre de usuario: contraseña no válida: válida Carga fallida
3 Verifique Iniciar sesión para ver si hay credenciales no válidas
  1. Iniciar la aplicacion
  2. Ingrese la contraseña del nombre de usuario
  3. Haga clic en Aceptar
  4. Comprobar resultados
Nombre de usuario: contraseña válida: no válida Carga fallida

Paso 3) Crear script de prueba

Si observa los pasos de la prueba, permanezca común a través de los 3 pasos de la prueba. Debe crear un script de prueba para ejecutar estos pasos.

// This is Pseudo Code 

// Test Step 1: Launch Application 
driver.get("URL of the Application");  

// Test Step 2: Enter Username 
txtbox_username.sendKeys("valid"); 

// Test Step 3: Enter Password 
txtbox_password.sendKeys("invalid"); 

// Test Step 4: Check Results 
If (Next Screen) print success else Fail

Paso 4) Cree un excel/csv con los datos de prueba de entrada

Marco de automatización basado en datos

Paso 5) Paso Modifique el script para realizar un bucle sobre los datos de prueba de entrada. Los comandos de entrada también deben parametrizarse.

// This is Pseudo Code
// Loop 3 Times
for (i = 0; i & lt; = 3; i++) {
    // Read data from Excel and store into variables
    int input_1 = ReadExcel(i, 0);
    int input_2 = ReadExcel(i, 1);

    // Test Step 1: Launch Application
    driver.get("URL of the Application");

    // Test Step 2: Enter Username
    txtbox_username.sendKeys(input_1);
    // Test Step 3: Enter Password

    txtbox_password.sendKeys(input_2);
    // Test Step 4: Check Results
    If(Next Screen) print success
    else Fail
}

Arriba hay solo 3 casos de prueba. El script de prueba se puede usar para recorrer los siguientes casos de prueba simplemente agregando valores de datos de prueba a Excel

  • Ingrese un nombre de usuario y una contraseña incorrectos: error de inicio de sesión
  • Ingrese el nombre de usuario y la contraseña correctos en blanco: error de inicio de sesión
  • Ingrese un nombre de usuario y una contraseña en blanco: error de inicio de sesión

Etcétera

Mejores prácticas de pruebas basadas en datos

A continuación se presentan las mejores prácticas de prueba para pruebas basadas en datos:

  • Es ideal utilizar información realista durante el proceso de prueba basado en datos.
  • La navegación del flujo de prueba debe codificarse dentro del script de prueba.
  • Impulse API virtuales con datos significativos
  • Utilice datos para impulsar afirmaciones dinámicas
  • Pruebe resultados positivos y negativos
  • Reutilice las pruebas funcionales basadas en datos para lograr seguridad y rendimiento

Ventajas de las pruebas basadas en datos

Los basados ​​en datos ofrecen muchas ventajas, algunas de ellas son:

  1. Permite probar la aplicación con múltiples conjuntos de valores de datos durante la prueba de regresión.
  2. Los datos de prueba y los datos de verificación se pueden organizar en un solo archivo y está separado de la lógica del caso de prueba.
  3. Según la herramienta, es posible tener los scripts de prueba en un único repositorio. Esto hace que los textos sean fáciles de entender, mantener y gestionar.
  4. Las acciones y funciones se pueden reutilizar en diferentes pruebas.
  5. Algunas herramientas generan datos de prueba automáticamente. Esto resulta útil cuando se necesitan grandes volúmenes de datos de pruebas aleatorias, lo que ayuda a ahorrar tiempo.
  6. Las pruebas basadas en datos pueden realizarse en cualquier fase del desarrollo. Por lo general, las pruebas basadas en datos se fusionan en un solo proceso. Sin embargo, se pueden utilizar en varios casos de prueba.
  7. Permite a los desarrolladores y evaluadores tener una separación clara entre la lógica de sus casos/scripts de prueba y los datos de prueba.
  8. Los mismos casos de prueba se pueden ejecutar varias veces, lo que ayuda a reducir los casos de prueba y los scripts.
  9. Cualquier cambio en el script de prueba no afecta los datos de la prueba.

Desventajas de las pruebas basadas en datos

Algunos inconvenientes del método de prueba de automatización basada en datos son:

  1. La calidad de la prueba depende de las habilidades de automatización del equipo de implementación.
  2. La validación de datos es una tarea que requiere mucho tiempo cuando se prueban grandes cantidades de datos.
  3. El mantenimiento es un gran problema ya que se necesita una gran cantidad de codificación para las pruebas basadas en datos.
  4. Se requieren habilidades técnicas de alto nivel. Es posible que un evaluador tenga que aprender un lenguaje de programación completamente nuevo.
  5. Habrá más documentación. Principalmente relacionado con la gestión de scripts, la infraestructura de pruebas y los resultados de las pruebas.
  6. Se requiere un editor de texto como el Bloc de notas para crear y mantener archivos de datos.

Conclusión

  • Basado en datos es un marco de automatización de pruebas que almacena datos de prueba en formato de tabla o hoja de cálculo.
  • En el marco de automatización de pruebas basado en datos, los datos de entrada se pueden almacenar en una o varias fuentes de datos como xls, XML, csv y bases de datos.
  • Crear una prueba individual para cada conjunto de datos es un proceso largo y que requiere mucho tiempo. El marco de pruebas basadas en datos resuelve este problema manteniendo los datos separados de las pruebas funcionales.
  • En Data Driven Testing, es una opción ideal utilizar información realista
  • Permite probar la aplicación con múltiples conjuntos de valores de datos durante Pruebas de regresión
  • El inconveniente de este método es que depende de las habilidades de automatización del equipo de implementación.