Delen via


Quickstart: Gegevens genereren voor testen en simulaties (preview)

In deze handleiding leert u hoe u GitHub Copilot gebruikt om realistische en thematische datasets te maken ter ondersteuning van het ontwikkelen, testen en demonstreren van toepassingen. Door het schema en de context van uw database te analyseren, kan GitHub Copilot gesimuleerde mockgegevens genereren die zijn afgestemd op echte indelingen, edge-cases simuleren en de handmatige inspanning van seeding-databases verminderen, waardoor het testen sneller en beter representatief is voor werkelijke scenario's.

Aan de slag

Zorg ervoor dat u verbinding hebt met een database en een actief editorvenster hebt geopend met de MSSQL-extensie. Met deze verbinding kan de @mssql chatdeelnemer de context van uw databaseomgeving begrijpen en nauwkeurige en contextbewuste suggesties inschakelen. Zonder een databaseverbinding beschikt de chatdeelnemer niet over het schema of de gegevenscontext om zinvolle antwoorden te geven.

In de volgende voorbeelden wordt de AdventureWorksLT2022 voorbeelddatabase gebruikt, die u kunt downloaden van de startpagina van Microsoft SQL Server Samples en Community Projects .

Pas voor de beste resultaten de tabel- en schemanamen aan zodat deze overeenkomen met uw eigen omgeving.

Zorg ervoor dat de chat het @mssql voorvoegsel bevat. Typ bijvoorbeeld @mssql gevolgd door uw vraag of prompt. Dit zorgt ervoor dat de chatdeelnemer begrijpt dat u vraagt om hulp met betrekking tot SQL.

Realistische en testbare gegevens genereren met GitHub Copilot

GitHub Copilot kan helpen bij het genereren van test- en mockgegevens rechtstreeks vanuit uw SQL-schema of JSON-voorbeelden. Of u nu gegevenssets voorbereidt op demo's, edge-cases test of uw ontwikkelomgeving met themagegevens of gerandomiseerde gegevens seedt, GitHub Copilot biedt contextuele suggesties om de tijd te helpen verminderen en de dekking te verbeteren, met name in scenario's waarin handmatige gegevensinvoer traag of inconsistent zou zijn.

Hier volgen veelvoorkomende gebruiksvoorbeelden en voorbeelden van wat u kunt vragen via de chatdeelnemer.

Het genereren van gesimuleerde gegevens

Gebruik GitHub Copilot om gethematiseerde, gerandomiseerde of representatieve mockgegevens voor uw bestaande tabellen te genereren. U kunt specifieke rijaantallen aanvragen, naam-/waardepatronen toepassen of gegevenssets bouwen op basis van externe structuren zoals JSON-voorbeelden.

  • Genereer gesimuleerde gegevens voor de SalesLT.Customer tabel met 100 voorbeeldrecords.

  • Vul de SalesLT.Product tabel met 50 items, elk met unieke namen en prijzen.

  • Genereer gesimuleerde gegevens voor de SalesLT.SalesOrderHeader tabel met 200 records, inclusief orderdatums en klant-id's.

  • Op basis van dit JSON-voorbeeld met vier records genereert u een SQL-tabelschema en vult u het met 50 mockrecords. Gebruik tekennamen uit bekende sci-fi-boeken (bijvoorbeeld Dune, Foundation, Ready Player One) voor de firstName en lastName velden om de gegevens realistischer en thematisch te maken.

    [
      { "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" }
    ]
    

Randgevaltesten

Ga verder dan het genereren van basisgegevens met behulp van GitHub Copilot om edge-cases te simuleren en het gedrag van uw systeem te verifiëren. Of u nu bedrijfslogica test, controleert op fouten in gegevensvalidatie of relationele consistentie zorgt, GitHub Copilot kan helpen bij het genereren van de juiste gegevens en het schrijven van asserties of testlogica om resultaten te valideren.

  • Genereer invoeginstructies voor SalesLT.SalesOrderDetail met OrderQty waarden aan de bovengrens (bijvoorbeeld 1000 eenheden) en controleer of het systeem hoeveelheidsbeperkingen afdwingt.

  • Maak testgegevens voor SalesLT.Customer met ongeldige e-mailindelingen en schrijf een query die deze records markeert voor revisie.

  • Genereer testgegevens voor SalesLT.Product met randgevalprijzen, zoals StandardCost = 0 of negatieve waarden, en schrijf een query met gemarkeerde afwijkingen.

  • Simuleer gegevensintegriteit door 500 SalesOrderDetail rijen te genereren die correct verwijzen naar geldige ProductID en SalesOrderID waarden uit gerelateerde tabellen, en zorg ervoor dat GitHub Copilot validatielogica bevat.

  • Schrijf een testscript dat bevestigt dat de SalesOrderHeader.TotalDue waarde altijd groter is dan de SubTotal waarde voor elke order, handig voor het opsporen van onjuiste berekeningen in bedrijfslogica.

  • Gebruik SQLAlchemy om een test te maken waarmee wordt geprobeerd een SalesOrderDetail record in te voegen met een null ProductID en verifieer dat de ORM een integriteitsfout optreedt vanwege de beperkingen van de foreign key.

  • Genereer met Prisma testlogica die probeert een Product met een StandardCost van -10 in te voegen. Controleer of Prisma de vermelding weigert en registreert een geschikt foutbericht.

Feedback: Gegevens genereren voor testen en mocking

Om ons te helpen GitHub Copilot voor de MSSQL-extensie te verfijnen en te verbeteren, gebruikt u de volgende GitHub-probleemsjabloon om uw feedback te verzenden: GitHub Copilot-feedback

Overweeg het volgende bij het indienen van feedback:

  • Geteste scenario's : laat ons weten op welke gebieden u zich richt, bijvoorbeeld het maken van schema's, het genereren van query's, beveiliging, lokalisatie.

  • Wat goed werkte – Beschrijf ervaringen die soepel aanvoelden, behulpzaam waren of uw verwachtingen overtroffen.

  • Problemen of bugs : neem eventuele problemen, inconsistenties of verwarrend gedrag op. Screenshots of schermopnamen zijn vooral nuttig.

  • Suggesties voor verbetering : deel ideeën voor het verbeteren van bruikbaarheid, het uitbreiden van de dekking of het verbeteren van de reacties van GitHub Copilot.