Las pruebas basadas en datos ( DDT ), también conocidas como pruebas basadas en tablas o pruebas parametrizadas , son una metodología de pruebas de software que se utiliza en las pruebas de software de computadora para describir las pruebas realizadas utilizando una tabla de condiciones directamente como entradas de prueba y salidas verificables, así como el proceso donde las configuraciones y el control del entorno de prueba no están codificados de forma rígida. [1] [2] En la forma más simple, el evaluador proporciona las entradas de una fila de la tabla y espera las salidas que ocurren en la misma fila. La tabla generalmente contiene valores que corresponden a espacios de entrada de límite o partición. En la metodología de control, la configuración de la prueba se "lee" desde una base de datos.
En las pruebas de software o programas , existen varias metodologías para implementar estas pruebas. Cada uno de estos métodos coexiste porque difieren en el esfuerzo requerido para crear y mantener posteriormente. La ventaja de las pruebas basadas en datos es la facilidad para agregar entradas adicionales a la tabla cuando se descubren o agregan nuevas particiones al producto o sistema bajo prueba . Además, en el proceso de pruebas basadas en datos, la configuración y el control del entorno de prueba no están codificados de forma rígida. El aspecto del costo hace que las pruebas basadas en datos sean económicas para la automatización, pero caras para las pruebas manuales.
Las pruebas basadas en datos consisten en la creación de secuencias de comandos de prueba para ejecutarlas junto con sus conjuntos de datos relacionados en un marco de trabajo. El marco de trabajo proporciona una lógica de prueba reutilizable para reducir el mantenimiento y mejorar la cobertura de la prueba. Los valores de los datos de entrada y de resultado (criterios de prueba) se pueden almacenar en una o más fuentes de datos o bases de datos centrales ; el formato, la organización y las herramientas reales pueden ser específicos de la implementación.
Los datos incluyen variables utilizadas tanto para valores de entrada como para valores de verificación de salida. En entornos de automatización avanzados (maduros), los datos se pueden recolectar de un sistema en ejecución mediante una herramienta personalizada o un analizador de datos especialmente diseñado; el marco DDT realiza así la reproducción de los datos recolectados y produce una potente herramienta de prueba de regresión automatizada.
Los conjuntos de pruebas automatizadas contienen las interacciones del usuario a través de la interfaz gráfica de usuario del sistema, para realizar pruebas repetibles. Cada prueba comienza con una copia de la base de datos de referencia de la imagen "anterior". Las "interacciones del usuario" se reproducen a través de la "nueva" versión de la interfaz gráfica de usuario y dan como resultado la base de datos "posterior a la prueba". La base de datos de referencia "posterior a la prueba" se compara con la base de datos "posterior a la prueba" mediante una herramienta. [3] Las diferencias revelan una probable regresión.
La navegación a través del programa , la lectura de las fuentes de datos y el registro del estado y la información de la prueba están todos codificados en el script de prueba.
Todo lo que tenga potencial de cambio (también denominado "variabilidad" e incluye elementos como el entorno, los puntos finales, los datos de prueba, las ubicaciones, etc.) se separa de la lógica de prueba (scripts) y se traslada a un "activo externo". Este puede ser una configuración o un conjunto de datos de prueba. La lógica que se ejecuta en el script está determinada por los valores de los datos.
Las pruebas basadas en palabras clave son similares, salvo que la lógica del caso de prueba en sí está codificada como valores de datos en forma de un conjunto de "palabras de acción" y no está incorporada o "codificada" en el script de prueba. El script es simplemente un "controlador" (o mecanismo de entrega) para los datos que se almacenan en la fuente de datos.
Las bases de datos utilizadas para pruebas basadas en datos pueden incluir: