Compartir a través de


Generar datos de prueba para bases de datos mediante generadores de datos

Puede utilizar Visual Studio Premium para crear datos de prueba que necesita para comprobar el comportamiento de los objetos de base de datos del proyecto de base de datos. Con esta herramienta puede generar datos adecuados para el esquema de la base de datos que no estén relacionados con los datos de producción. Este enfoque puede resultar útil para ayudar a proteger la privacidad o la seguridad de los datos de producción.

En él define un plan de generación de datos que especifica los detalles de cómo desea generar los datos para tablas y columnas concretas. Para cada columna especifica un generador de datos que genera datos de un tipo determinado.

Al crear un plan de generación de datos en un proyecto de base de datos, el plan se basa en el esquema del proyecto. Si crea un plan de generación de datos y posteriormente cambia el esquema, se le pedirá que actualice el plan.

Nota importanteImportante

Si no actualiza el plan de generación de datos para adaptarlo a los cambios del esquema, no podrá seguir modificando el plan. Solamente podrá cerrar y volver a abrir el plan de generación de datos para mostrar de nuevo el mensaje.

Si ejecuta pruebas unitarias de base de datos, puede especificar un plan de generación de datos diferente para cada proyecto de prueba. Por tanto, puede inicializar la base de datos con un estado diferente para cada grupo de pruebas.

Generadores de datos

Visual Studio Premium incluye varios generadores de datos integrados para crear distintos tipos de datos. Por ejemplo, el generador de datos de tipo entero proporciona genera valores enteros aleatorios, el generador de cadenas proporciona cadenas aleatorias y el generador de expresiones regulares proporciona cadenas que coinciden con un modelo especificado. Para obtener más información y una lista completa de generadores de datos estándar, vea Tipos estándar de generador de datos y Especificar detalles de la generación de datos para una columna.

Si los generadores incluidos con Visual Studio Premium no proporcionan datos que cumplan sus requisitos, puede crear generadores personalizados. Por ejemplo, si la base de datos contiene una columna con una restricción CHECK que hace referencia a otra columna, es posible que desee crear un generador de datos personalizado. Para obtener más información, vea Generar datos de pruebas especializados con un generador de datos personalizado.

Si intenta generar datos para una tabla que contiene columnas SPARSE y un conjunto COLUMN_SET, podría recibir errores. Para obtener más información, vea Solución de problemas de generación de datos.

Planes de generación de datos en un entorno de equipo

Un plan de generación de datos es un archivo XML que contiene información del esquema de base de datos e información de configuración que controla la generación de datos para cada columna de cada tabla que se especifica. Un plan de generación de datos para una base de datos que contiene aproximadamente 40 tablas puede ocupar aproximadamente 8 MB y tener más de 100.000 líneas.

No puede combinar automáticamente los cambios en un archivo .dgen mediante control de versiones de Team Foundation u otro sistema de control de versiones. El proceso que debe usar para combinar manualmente archivos XML grandes es difícil y susceptible a errores. Para reducir al mínimo los problemas relacionados con el plan de generación de datos, desproteja de manera exclusiva el plan cuando tenga que realizar cambios.

Seguridad de los generadores de datos

Los planes de generación de datos y los generadores de datos personalizados se pueden compartir en un entorno de equipo. Antes de compartir o usar archivos de datos de generación de datos compartidos, debe tener en cuenta los siguientes riesgos para la seguridad:

  • Información de esquema en los planes de generación de datos
    Al crear un plan de generación de datos, el archivo .dgen contiene el esquema de las tablas, que podrían considerarse información comercial confidencial. Si comparte un archivo .dgen, la persona con la que comparte el archivo puede ver el esquema. Solamente debe compartir los planes de generación de datos con fuentes de confianza.

  • Código malintencionado en los planes de generación de datos
    Si un plan de generación de datos contiene un generador enlazado a datos, tendrá que escribir una consulta Transact-SQL que se ejecutará cuando se ejecute el plan. Este enfoque permite ejecutar código Transact-SQL arbitrario desde un plan de generación de datos. Asegúrese de obtener planes de generación de datos solamente de fuentes de confianza y avise a los usuarios para que no ejecuten los planes de generación de datos que reciban de fuentes que no sean de confianza.

  • Información de conexión y generadores de datos personalizados
    Todos los generadores de datos personalizados tienen acceso a la cadena de conexión de base de datos en tiempo de ejecución. Un generador personalizado malintencionado podría exponer la información de la cadena de conexión. Asegúrese de obtener generadores de datos personalizados solamente de fuentes de confianza y avise a los usuarios para que no usen los generadores de datos personalizados que reciban de fuentes que no sean de confianza.

  • Código malintencionado en generadores de datos personalizados
    Los generadores de datos personalizados son clases que pueden contener código arbitrario. Cuando se usa un generador de datos personalizado, se ejecuta con los mismos permisos que el usuario activo. Esto podría permitir ejecutar código malintencionado en modo FullTrust. Asegúrese de obtener generadores de datos personalizados solamente de fuentes de confianza y avise a los usuarios para que no usen los generadores de datos personalizados que reciban de fuentes que no sean de confianza.

  • Código malintencionado en instaladores de generadores de datos personalizados
    Puede crear proyectos de implementación para instalar generadores de datos personalizados. Los proyectos de implementación pueden contener código arbitrario. Al ejecutar un programa de instalación para un generador de datos personalizados, el programa se ejecuta con permisos elevados. Este enfoque puede ejecutar código malintencionado con permisos elevados. Asegúrese de obtener los instaladores de generadores de datos personalizados solamente de fuentes de confianza y avise a los usuarios para que no ejecuten programas de instalación de generadores de datos personalizados que reciban de fuentes que no sean de confianza.

Tareas comunes

Tareas comunes

Contenido adicional

Obtenga el ejercicio práctico: puede seguir un tutorial preliminar para familiarizarse con cómo crear y ejecutar una prueba unitaria de base de datos sencilla.

Crear un plan de generación de datos: cree un plan de generación de datos para cada proyecto de prueba unitaria o para pruebas de la aplicación concretas. También puede definir un plan de generación de datos que asigne de forma predeterminada en todas las columnas la opción para volver a usar los datos de otra base de datos que especifique.

Actualizar un plan de generación de datos de una versión anterior: puede utilizar planes de generación de datos que creó con una versión anterior de Visual Studio Premium. Sin embargo, debe actualizar el plan inmediatamente después de abrirlo.

Especificar las tablas que desea generar: puede generar datos para todas las tablas o solamente para las tablas que especifique. Puede especificar, para cada tabla, el número de filas que se generarán. Como alternativa, puede generar las filas según una proporción basada en el número de filas que genera para otra tabla.

Configurar la forma en que se generan los datos para cada columna de las tablas que especifica: especifica el tipo de generador de datos para cada columna. También puede proporcionar restricciones en el intervalo de valores de datos. En generadores de datos más avanzados, puede proporcionar la información de configuración adicional para establecer con más detalle los datos que genera.

Consultar una vista previa de los datos generados: antes de escribir los datos en la base de datos, puede consultar una vista previa de los datos de cualquier tabla incluida en el plan de generación de datos. Al consultar una vista previa de los datos, puede ajustar el plan de generación de datos sin necesidad de generar una y otra vez los datos.

Generar los datos de prueba: después de consultar la vista previa y comprobar los datos que se generarán, puede ejecutar el plan de generación de datos para generar los datos de prueba. También puede configurar el proyecto de prueba unitaria para que los datos se generen automáticamente cada vez que ejecute las pruebas unitarias.

Proteger los planes de generación de datos: así como debe proteger las pruebas unitarias en el control de versiones para compartirlas con el equipo, también debe proteger los planes de generación de datos.

Cambiar los valores predeterminados y las opciones del generador de datos: puede especificar valores predeterminados para el valor de inicialización aleatorio y para el número de filas que se insertarán. También puede especificar opciones que controlan aspectos de los generadores de datos, como el número de filas que se mostrarán en la ventana de vista previa y el número máximo de errores aceptables que se pueden mostrar mientras se generan datos para una tabla individual antes de que se produzca un error en la operación.

Solucionar problemas: puede obtener más información sobre cómo resolver problemas comunes relacionados con la creación y el uso de los planes de generación de datos.

Escenarios relacionados