Partager via


Démarrage rapide : Générer des données à des fins de test et de simulation

Dans ce guide de démarrage rapide, vous allez apprendre à utiliser GitHub Copilot pour créer des jeux de données réalistes et thématiques pour prendre en charge le développement d’applications, les tests et les démonstrations. En analysant le schéma et le contexte de votre base de données, GitHub Copilot peut générer des données fictives alignées sur des formats réels, simuler des cas de périphérie et réduire l’effort manuel des bases de données d’amorçage, ce qui rend les tests plus rapides et plus représentatifs des scénarios réels.

Commencez

Vérifiez que vous êtes connecté à une base de données et que vous disposez d’une fenêtre d’éditeur active ouverte avec l’extension MSSQL. Cette connexion permet au @mssql participant au chat de comprendre le contexte de votre environnement de base de données, ce qui permet des suggestions précises et adaptées au contexte. Sans connexion de base de données, le participant de conversation ne dispose pas du schéma ou du contexte de données pour fournir des réponses significatives.

Les exemples suivants utilisent l’exemple AdventureWorksLT2022 de base de données, que vous pouvez télécharger à partir de la page d’accueil Exemples microsoft SQL Server et Projets communautaires .

Pour obtenir de meilleurs résultats, ajustez les noms de table et de schéma pour qu’ils correspondent à votre propre environnement.

Assurez-vous que la conversation inclut le @mssql préfixe. Par exemple, tapez @mssql suivi de votre question ou de votre invite. Cela garantit que le participant de conversation comprend que vous demandez de l’aide liée à SQL.

Générer des données réalistes et testables avec GitHub Copilot

GitHub Copilot peut vous aider à générer des données de test et de simulation directement à partir de votre schéma SQL ou de vos exemples JSON. GitHub Copilot propose des suggestions contextuelles pour réduire le temps et améliorer la couverture, que vous prépariez des jeux de données pour des démonstrations, testiez des cas limites, ou en amorçant votre environnement de développement avec des données thématiques ou aléatoires. Ces suggestions sont particulièrement utiles dans les scénarios où l’entrée manuelle de données serait lente ou incohérente.

Voici des cas d’usage courants et des exemples de ce que vous pouvez demander via le participant de conversation.

Génération de données fictives

Utilisez GitHub Copilot pour générer des données fictives, aléatoires ou représentatives pour vos tables existantes. Vous pouvez demander des nombres de lignes spécifiques, appliquer des modèles nom/valeur ou créer des jeux de données basés sur des structures externes telles que des exemples JSON.

Exemple de données clients fictives

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

Exemple de données de produit fictives

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

Exemple de données de ventes fictives

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

Générer des données fictives à partir d’un exemple 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" }
]

Test de cas limite

Dépassez la génération de données de base à l’aide de GitHub Copilot pour simuler des cas de périphérie et vérifier le comportement de votre système. GitHub Copilot peut vous aider à générer les données appropriées, que vous effectuiez des tests de résistance sur la logique métier, vérifiiez les échecs de validation des données ou garantissiez la cohérence relationnelle. Il peut également écrire des assertions ou une logique de test pour valider les résultats.

Contraintes de quantité de test

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.

Tester le format d’adresse e-mail

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

Tester les anomalies de tarification des cas limites

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

Tester l’intégrité des données avec la simulation

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.

Tester la logique métier

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.

Tester la validation nulle

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.

Tester les valeurs négatives

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.

Partager votre expérience

Pour nous aider à affiner et améliorer GitHub Copilot pour l’extension MSSQL, utilisez le modèle de problème GitHub suivant pour envoyer vos commentaires : Commentaires GitHub Copilot

Lors de l’envoi de commentaires, envisagez d’inclure :

  • Scénarios testés : informez-nous des domaines sur lesquels vous vous êtes concentré, par exemple, la création de schéma, la génération de requêtes, la sécurité, la localisation.

  • Ce qui a bien fonctionné – Décrivez toutes les expériences qui ont semblé fluides, utiles ou ont dépassé vos attentes.

  • Problèmes ou bogues : incluez des problèmes, des incohérences ou des comportements déroutants. Les captures d’écran ou les enregistrements d’écran sont particulièrement utiles.

  • Suggestions d’amélioration : partagez des idées pour améliorer la facilité d’utilisation, développer la couverture ou améliorer les réponses de GitHub Copilot.