Partager via


Démarrage rapide : Générer des données pour tester et moquer (aperçu)

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. Que vous prépariez des jeux de données pour des démonstrations, testez des cas de périphérie ou amorçage de votre environnement de développement avec des données thématiques ou aléatoires, GitHub Copilot propose des suggestions contextuelles pour réduire le temps et améliorer la couverture, en particulier 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.

  • Générez des données fictives pour la SalesLT.Customer table avec 100 exemples d’enregistrements.

  • Remplissez le SalesLT.Product tableau avec 50 éléments, chacun avec des noms et des prix uniques.

  • Générez des données fictives pour la SalesLT.SalesOrderHeader table avec 200 enregistrements, y compris les dates de commande et les ID client.

  • En fonction de cet exemple JSON avec quatre enregistrements, générez un schéma de table SQL et remplissez-le avec 50 enregistrements fictifs. Utilisez des noms de personnages de livres de science-fiction connus (par exemple, Dune, Foundation, Ready Player One) pour les champs firstName et lastName afin de rendre les données plus réalistes et de renforcer le thème.

    [
      { "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 Edge

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. Que vous réalisiez des tests de résistance sur la logique métier, vérifiiez les échecs de validation des données ou assuriez la cohérence relationnelle, GitHub Copilot peut vous aider à générer les données appropriées et à écrire des assertions ou une logique de test pour valider les résultats.

  • Générez des instructions d’insertion pour SalesLT.SalesOrderDetail avec des valeurs de OrderQty à la limite supérieure (par exemple, 1 000 unités) et vérifiez que le système impose des contraintes de quantité.

  • Créez des données de test pour SalesLT.Customer avec des formats d'e-mail invalides et écrivez une requête qui signale ces enregistrements pour examen.

  • Générez des données de test pour SalesLT.Product avec des prix pour des cas limites, comme StandardCost = 0 ou des valeurs négatives, et écrivez une requête qui met en évidence les anomalies.

  • Simulez l'intégrité des données en générant 500 SalesOrderDetail lignes qui référencent correctement des valeurs valides pour ProductID et SalesOrderID issues de tables associées, et assurez-vous que GitHub Copilot inclut la logique de validation.

  • Écrivez un script de test qui confirme que la SalesOrderHeader.TotalDue valeur est toujours supérieure à celle SubTotal de chaque commande, utile pour repérer les erreurs de calcul dans la logique métier.

  • À l’aide de SQLAlchemy, créez un test qui tente d’insérer un SalesOrderDetail enregistrement avec une valeur Null ProductID et vérifiez que l’ORM génère une erreur d’intégrité en raison de la contrainte de clé étrangère.

  • Avec Prisma, générez une logique de test qui tente d’insérer un Product avec un StandardCost de -10. Vérifiez que Prisma rejette l’entrée et enregistre un message d’erreur approprié.

Commentaires : Générer des données pour les tests et le moquage

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.