Compartilhar via


Início Rápido: Gerar dados para teste e mockagem

Neste início rápido, você aprenderá a usar o GitHub Copilot para criar conjuntos de dados realistas e temáticos para dar suporte ao desenvolvimento, teste e demonstrações de aplicativos. Analisando o esquema e o contexto do banco de dados, o GitHub Copilot pode gerar dados fictícios alinhados com formatos reais, simular casos de borda e reduzir o esforço manual de propagação de bancos de dados, tornando os testes mais rápidos e representativos de cenários reais.

Introdução

Verifique se você está conectado a um banco de dados e abra uma janela do editor ativo com a extensão MSSQL. Essa conexão permite que o participante do @mssql chat entenda o contexto do ambiente do banco de dados, permitindo sugestões precisas e com reconhecimento de contexto. Sem uma conexão de banco de dados, o participante do chat não terá o esquema ou o contexto de dados para fornecer respostas significativas.

Os exemplos a seguir usam o banco de dados de exemplo AdventureWorksLT2022, que você pode baixar da página inicial de Exemplos do Microsoft SQL Server e Projetos da Comunidade.

Para obter melhores resultados, ajuste os nomes de tabela e esquema para corresponder ao seu próprio ambiente.

Verifique se o chat inclui o @mssql prefixo. Por exemplo, digite @mssql seguido de sua pergunta ou comando. Isso garante que o participante do chat entenda que você está solicitando assistência relacionada ao SQL.

Gerar dados realistas e testáveis com o GitHub Copilot

O GitHub Copilot pode ajudar na geração de dados de teste e simulados diretamente do seu esquema SQL ou das amostras JSON. O GitHub Copilot oferece sugestões contextuais para ajudar a reduzir o tempo e melhorar a cobertura, seja preparando conjuntos de dados para demonstrações, testando casos de borda ou propagando seu ambiente de desenvolvimento com dados temáticos ou aleatórios. Essas sugestões são especialmente úteis em cenários em que a entrada manual de dados seria lenta ou inconsistente.

Aqui estão casos de uso comuns e exemplos do que você pode perguntar por meio do participante do chat.

Geração de dados simulada

Use o GitHub Copilot para gerar dados fictícios temáticos, aleatórios ou representativos para suas tabelas existentes. Você pode solicitar contagens de linhas específicas, aplicar padrões de nome/valor ou criar conjuntos de dados com base em estruturas externas, como exemplos JSON.

Exemplo de dados fictícios do cliente

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

Exemplo de dados fictícios do produto

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

Exemplo de dados de vendas fictícios

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

Gerar dados fictícios do exemplo 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" }
]

Teste de casos extremos

Vá além da geração básica de dados usando o GitHub Copilot para simular casos extremos e verificar o comportamento do seu sistema. O GitHub Copilot pode ajudar a gerar os dados certos, se você estiver testando a lógica de negócios, verificando se há falhas de validação de dados ou garantindo consistência relacional. Ele também pode escrever asserções ou testar a lógica para validar os resultados.

Testar restrições de quantidade

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.

Testar o formato de endereço de email

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

Testar anomalias de preços em casos extremos

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

Testar a integridade dos dados com zombaria

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.

Testar lógica de negócios

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.

Testar validação 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.

Testar 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.

Compartilhar sua experiência

Para nos ajudar a refinar e melhorar o GitHub Copilot para a extensão MSSQL, use o seguinte modelo de problema do GitHub para enviar seus comentários: Comentários do GitHub Copilot

Ao enviar comentários, considere incluir:

  • Cenários testados – informe-nos em quais áreas você se concentrou, por exemplo, na criação do esquema, na geração de consultas, na segurança, na localização.

  • O que funcionou bem – descreva todas as experiências que se sentiram suaves, úteis ou excederam suas expectativas.

  • Problemas ou bugs – inclua problemas, inconsistências ou comportamentos confusos. Capturas de tela ou gravações de tela são especialmente úteis.

  • Sugestões de melhoria – compartilhe ideias para melhorar a usabilidade, expandir a cobertura ou aprimorar as respostas do GitHub Copilot.