Compartir a través de


Inicio rápido: Generación de datos para pruebas y simulación

En esta guía rápida, aprenderá a usar GitHub Copilot para crear conjuntos de datos realistas y con temáticas específicas que apoyen el desarrollo, las pruebas y las demostraciones de aplicaciones. Al analizar el esquema y el contexto de la base de datos, GitHub Copilot puede generar datos ficticios alineados con formatos reales, simular casos perimetrales y reducir el esfuerzo manual de propagación de bases de datos, lo que hace que las pruebas sean más rápidas y representativas de escenarios reales.

Comienza

Asegúrese de que está conectado a una base de datos y de que tiene abierta una ventana del editor activa con la extensión MSSQL. Esta conexión permite al participante del @mssql chat comprender el contexto del entorno de base de datos, lo que permite sugerencias precisas y compatibles con el contexto. Sin una conexión de base de datos, el participante del chat no tendrá el esquema ni el contexto de datos para proporcionar respuestas significativas.

En los ejemplos siguientes se usa la AdventureWorksLT2022 base de datos de ejemplo, que puede descargar desde la página principal Ejemplos de Microsoft SQL Server y Proyectos de comunidad .

Para obtener los mejores resultados, ajuste los nombres de tabla y esquema para que coincidan con su propio entorno.

Asegúrese de que el chat incluye el @mssql prefijo. Por ejemplo, escriba @mssql seguido de su pregunta o indicador. Esto garantiza que el participante del chat comprenda que solicita ayuda relacionada con SQL.

Genera datos realistas y comprobables con GitHub Copilot

GitHub Copilot puede ayudar a generar datos de prueba y ficticios directamente desde el esquema SQL o los ejemplos JSON. GitHub Copilot ofrece sugerencias contextuales para ayudar a reducir el tiempo y mejorar la cobertura, tanto si está preparando conjuntos de datos para demostraciones, pruebas de casos perimetrales o propagación del entorno de desarrollo con datos con temas o aleatorios. Estas sugerencias son especialmente útiles en escenarios en los que la entrada de datos manual sería lenta o incoherente.

Estos son casos de uso comunes y ejemplos de lo que puede preguntar a través del participante del chat.

Generación de datos ficticios

Use GitHub Copilot para generar datos ficticios con temáticas, aleatorios o representativos para las tablas existentes. Puede solicitar recuentos de filas específicos, aplicar patrones de nombre y valor o crear conjuntos de datos basados en estructuras externas como ejemplos JSON.

Ejemplo de datos de clientes ficticios

Generate mock data for the `SalesLT.Customer` table with 100 sample records.

Ejemplo de datos de producto ficticio

Populate the `SalesLT.Product` table with 50 items, each with unique names and prices.

Ejemplo de datos de ventas ficticios

Generate mock data for the `SalesLT.SalesOrderHeader` table with 200 records, including order dates and customer IDs.

Generación de datos ficticios a partir del ejemplo JSON

Based on this sample JSON with four records, generate a SQL table schema and populate it with 50 mock records. Use character names from well-known sci-fi books (for example, Dune, Foundation, Ready Player One) for the `firstName` and `lastName` fields to make the data more realistic and themed:

[
  { "firstName": "Alice", "lastName": "Smith", "email": "alice@example.com" },
  { "firstName": "Bob", "lastName": "Jones", "email": "bob@example.com" },
  { "firstName": "Charlie", "lastName": "Brown", "email": "charlie@example.com" },
  { "firstName": "Dana", "lastName": "White", "email": "dana@example.com" }
]

Pruebas de casos límite

Vaya más allá de la generación de datos básica mediante GitHub Copilot para simular casos perimetrales y comprobar el comportamiento del sistema. GitHub Copilot puede ayudar a generar los datos adecuados, ya sea que esté realizando pruebas de estrés en la lógica empresarial, comprobando si hay errores de validación de datos o garantizando la coherencia relacional. También puede escribir aserciones o lógica de prueba para validar los resultados.

Restricciones de cantidad de prueba

Generate insert statements for `SalesLT.SalesOrderDetail` with `OrderQty` values at the upper boundary (for example, 1,000 units) and verify that the system enforces quantity constraints.

Probar el formato de dirección de correo electrónico

Create test data for `SalesLT.Customer` with invalid email formats and write a query that flags these records for review.

Probar anomalías de precios en casos límite

Generate test data for `SalesLT.Product` with edge-case pricing, such as `StandardCost = 0` or negative values, and write a query that highlights anomalies.

Prueba de la integridad de los datos con simulación

Simulate data integrity by generating 500 `SalesOrderDetail` rows that correctly reference valid `ProductID` and `SalesOrderID` values from related tables, and ensure GitHub Copilot includes validation logic.

Prueba de la lógica de negocios

Write a test script that confirms the `SalesOrderHeader.TotalDue` value is always greater than the `SubTotal` for each order, helpful for spotting miscalculations in business logic.

Prueba de validación nula

Using SQLAlchemy, create a test that attempts to insert a `SalesOrderDetail` record with a null `ProductID` and verify that the ORM raises an integrity error due to the foreign key constraint.

Probar valores negativos

With Prisma, generate test logic that tries to insert a `Product` with a `StandardCost` of `-10`. Validate that Prisma rejects the entry and logs an appropriate error message.

Compartir la experiencia

Para ayudarnos a refinar y mejorar GitHub Copilot para la extensión MSSQL, use la siguiente plantilla de problema de GitHub para enviar sus comentarios: Comentarios de GitHub Copilot

Al enviar comentarios, considere la posibilidad de incluir:

  • Escenarios probados : háganos saber en qué áreas se ha centrado, por ejemplo, la creación de esquemas, la generación de consultas, la seguridad, la localización.

  • Lo que funcionó bien : describa cualquier experiencia que se sintiera suave, útil o superara sus expectativas.

  • Problemas o errores : incluya cualquier problema, incoherencias o comportamientos confusos. Las capturas de pantalla o las grabaciones de pantalla son especialmente útiles.

  • Sugerencias para mejorar : comparta ideas para mejorar la facilidad de uso, expandir la cobertura o mejorar las respuestas de GitHub Copilot.