Como evaluador, puede pensar que 'diseñar casos de prueba es lo suficientemente desafiante, entonces, ¿por qué preocuparse por algo tan trivial como los datos de prueba? El propósito de este tutorial es presentarle los datos de prueba, su importancia y brindarle consejos y trucos prácticos para generar datos de prueba rápidamente. ¡Vamos a empezar!
¿Qué son los datos de prueba en las pruebas de software?
Los datos de prueba en las pruebas de software son la entrada que se proporciona a un programa de software durante la ejecución de la prueba. Representa datos que afectan o se ven afectados por la ejecución del software durante la prueba. Los datos de prueba se utilizan tanto para pruebas positivas para verificar que las funciones producen los resultados esperados para entradas dadas como para pruebas negativas para probar la capacidad del software para manejar entradas inusuales, excepcionales o inesperadas.
Es posible que los datos de prueba mal diseñados no prueben todos los escenarios de prueba posibles, lo que obstaculizará la calidad del software.
¿Qué es la generación de datos de prueba? ¿Por qué los datos de prueba deben crearse antes de la ejecución de la prueba?
Todo el mundo sabe que las pruebas son un proceso que produce y consume grandes cantidades de datos. Los datos utilizados en las pruebas describen las condiciones iniciales para una prueba y representan el medio a través del cual el probador influye en el software. Es una parte crucial de la mayoría de las pruebas funcionales.
Dependiendo de su entorno de prueba, es posible que deba CREAR datos de prueba (la mayoría de las veces) o al menos identificar datos de prueba adecuados para sus casos de prueba (si los datos de prueba ya están creados).
Normalmente, los datos de prueba se crean en sincronía con el caso de prueba para el que están destinados a ser utilizados.
Se pueden generar datos de prueba -
- A mano
- Copia masiva de datos desde la producción al entorno de prueba
- Copia masiva de datos de prueba de sistemas cliente heredados
- Herramientas de generación de datos de prueba automatizadas
Por lo general, los datos de muestra deben generarse antes de comenzar la ejecución de la prueba porque, de lo contrario, es difícil manejar la gestión de datos de prueba. Dado que en muchos entornos de prueba, la creación de datos de prueba requiere varios pasos previos o configuraciones de entorno de prueba que requieren mucho tiempo. . Además, si la generación de datos de prueba se realiza mientras está en la fase de ejecución de la prueba, puede exceder el plazo de prueba.
A continuación se describen varios tipos de pruebas junto con algunas sugerencias con respecto a sus necesidades de datos de prueba.
Datos de prueba para pruebas de caja blanca
En White Box Testing, la gestión de datos de prueba se deriva del examen directo del código que se va a probar. Los datos de prueba se pueden seleccionar teniendo en cuenta lo siguiente:
- Es deseable cubrir tantas ramas como sea posible; Los datos de prueba se pueden generar de manera que todas las ramas del código fuente del programa se prueben al menos una vez.
- Prueba de ruta: todas las rutas en el código fuente del programa se prueban al menos una vez; la preparación de datos de prueba se puede realizar para cubrir tantos casos como sea posible
- Pruebas de API negativas:
- Los datos de prueba pueden contener tipos de parámetros no válidos que se utilizan para llamar a diferentes métodos
- Los datos de prueba pueden consistir en combinaciones inválidas de argumentos que se utilizan para llamar a los métodos del programa.
Datos de prueba para pruebas de rendimiento
La prueba de rendimiento es el tipo de prueba que se realiza para determinar qué tan rápido responde el sistema bajo una carga de trabajo en particular. El objetivo de este tipo de pruebas no es encontrar errores, sino eliminar los cuellos de botella. Un aspecto importante de las pruebas de rendimiento es que el conjunto de datos de muestra utilizados debe estar muy cerca de los datos "reales" o "en vivo" que se utilizan en producción. Surge la siguiente pregunta: 'Ok, es bueno probar con datos reales, pero ¿cómo obtengo estos datos?' La respuesta es bastante sencilla: de las personas que mejor conocen: los clientes . Es posible que puedan proporcionar algunos datos que ya tienen o, si no tienen un conjunto de datos existente, pueden ayudarlo brindándole comentarios sobre cómo podrían verse los datos del mundo real. En caso de que esté en unproyecto de prueba de mantenimiento , podría copiar datos del entorno de producción al banco de pruebas. Es una buena práctica anonimizar (codificar) los datos confidenciales de los clientes, como el número de seguro social, los números de las tarjetas de crédito, los datos bancarios, etc., mientras se realiza la copia.
Datos de prueba para pruebas de seguridad
La prueba de seguridad es el proceso que determina si un sistema de información protege los datos de intenciones maliciosas. El conjunto de datos que deben diseñarse para probar completamente la seguridad de un software debe cubrir los siguientes temas:
- Confidencialidad: Toda la información proporcionada por los clientes se mantiene en la más estricta confidencialidad y no se comparte con terceros. Como ejemplo breve, si una aplicación utiliza SSL, puede diseñar un conjunto de datos de prueba que verifique que el cifrado se realiza correctamente.
- Integridad: Determine que la información proporcionada por el sistema es correcta. Para diseñar datos de prueba adecuados, puede comenzar analizando en profundidad el diseño, el código, las bases de datos y las estructuras de archivos.
- Autenticación: representa el proceso de establecer la identidad de un usuario. Los datos de prueba se pueden diseñar como una combinación diferente de nombres de usuario y contraseñas y su propósito es verificar que solo las personas autorizadas puedan acceder al sistema de software.
- Autorización: indica cuáles son los derechos de un usuario específico. Los datos de prueba pueden contener una combinación diferente de usuarios, roles y operaciones para verificar que solo los usuarios con privilegios suficientes pueden realizar una operación en particular.
Datos de prueba para pruebas de caja negra
En Black Box Testing, el probador no puede ver el código. Sus casos de prueba funcional pueden tener datos de prueba que cumplan los siguientes criterios:
- Sin datos : verifique la respuesta del sistema cuando no se envíen datos
- Datos válidos : compruebe la respuesta del sistema cuando se envíen datos de prueba válidos
- Datos no válidos : compruebe la respuesta del sistema cuando se envíen datos de prueba no válidos
- Formato de datos ilegal : compruebe la respuesta del sistema cuando los datos de prueba tengan un formato no válido
- Conjunto de datos de condiciones de límite: datos de prueba que cumplen las condiciones de valor límite
- Conjunto de datos de partición de equivalencia : datos de prueba que califican sus particiones de equivalencia.
- Conjunto de datos de la tabla de decisiones: datos de prueba que califican su estrategia de prueba de la tabla de decisiones
- Conjunto de datos de prueba de transición estatal : datos de prueba que cumplen con la estrategia de prueba de transición de su estado
- Datos de prueba de casos de uso : datos de prueba sincronizados con sus casos de uso.
Nota : Dependiendo de la aplicación de software que se probará, puede utilizar parte o la totalidad de la creación de datos de prueba anterior
Herramientas de generación de datos de prueba automatizadas
Para generar varios conjuntos de datos, puede utilizar una gama de herramientas de generación de datos de prueba automatizadas. A continuación se muestran algunos ejemplos de dichas herramientas:
El generador de datos de prueba DTM es una utilidad totalmente personalizable que genera datos, tablas (vistas, procedimientos, etc.) para realizar pruebas de bases de datos (pruebas de rendimiento, pruebas de control de calidad, pruebas de carga o pruebas de usabilidad).
Datatect es un generador de datos SQL de Banner Software, genera una variedad de datos de prueba realistas en archivos planos ASCII o genera directamente datos de prueba para RDBMS, incluidos Oracle, Sybase, SQL Server e Informix.
Conclusión
En conclusión, los datos de prueba bien diseñados le permiten identificar y corregir fallas graves en la funcionalidad. La elección de los datos de prueba seleccionados debe reevaluarse en cada fase de un ciclo de desarrollo de productos multifase. Por lo tanto, siempre vigílelo.