Delen via


Quickstart: Een belastingstest maken en uitvoeren met Visual Studio Code en GitHub Copilot

Meer informatie over het gebruik van de Azure Load Testing-extensie voor Visual Studio Code om eenvoudig locust-belastingstests te maken met Copilot, lokaal te herhalen en moeiteloos te schalen in Azure. Of u nu geen ervaring hebt met Locust of een expert voor prestatietests, de Azure Load Testing-extensie stroomlijnt het maken, itereren en schalen van tests, rechtstreeks vanuit uw VS Code-omgeving. Azure Load Testing is een beheerde service waarmee u een belastingstest kunt uitvoeren op cloudschaal. Locust is een opensource-hulpprogramma voor belastingstests waarmee u al uw tests in Python-code kunt schrijven.

Deze quickstart begeleidt u bij het genereren, verfijnen en uitvoeren van realistische belastingstests. Aan het einde hebt u een volledig functioneel laadtestscript dat is gegenereerd op basis van een Postman-verzameling, Insomnia-verzameling, of een .http-bestand, verbeterd met Copilot-verbeteringen en klaar om te schalen in Azure Load Testing.

Vereiste voorwaarden

Aanbeveling

GitHub Copilot Chat van VS Code biedt meerdere AI-modellen. U kunt van model wisselen met behulp van de modelkiezer in het invoerveld van de chat. Als u niet zeker weet welke te gebruiken, raden we GPT-4o aan.

De handleiding openen

Open het opdrachtenpalet in VS Code en voer het volgende uit: Load Testing: Open Walkthrough om aan de slag te gaan. Deze handleiding biedt de belangrijkste toegangspunten van de extensie.

U kunt de functies ook rechtstreeks vanuit het opdrachtenpalet openen met behulp van het voorvoegsel Load Testing . Enkele veelgebruikte opdrachten zijn:

  • Loadtesten: Locust-test maken

  • Belastingstests: Belastingstest uitvoeren (lokaal)

  • Load testen: Loadtest uitvoeren (Azure Load Testing)

    Schermopname van de belangrijkste toegangspunten voor de Azure Load Testing VS Code-extensie.

Een Locust-script genereren met Copilot

U kunt een Locust-script genereren op basis van een bestaande Postman-verzameling, slapeloosheidsverzameling of .http-bestand. Als het bestand meerdere aanvragen bevat, probeert Copilot deze in een samenhangend scenario te rangorde.

  1. Klik op de knop Een belastingstest maken in het overzicht of voer Belastingstests uit: Een Locust-test maken vanuit het opdrachtenpalet.

  2. U kunt de bron kiezen om automatisch een locust-testscript te genereren:

    • Als u een Postman-verzameling, een slapeloosheidsverzameling of een HTTP-bestand selecteert, kan Copilot meerdere API-bewerkingen extraheren, gegevens aanvragen en verificatiedetails, waardoor een volledigere en realistische belastingstest wordt gemaakt.
    • Als u één URL kiest, kunt u één eindpunt-URL invoeren en een eenvoudig script genereren dat u kunt aanpassen of uitvouwen.
  3. Voor deze procedure kunt u Try Sample selecteren: Pet Shop-API, die gebruikmaakt van het petstore-sample.http bestand om een voorbeeldscript voor locust te genereren.

  4. Copilot analyseert het geselecteerde bestand en genereert een loadtestscript op basis van locust, waarbij API-aanvragen automatisch worden gesequentieerd om het werkelijke gebruik te simuleren en verificatie veilig te verwerken.

  5. Zodra het script is gegenereerd, worden in het Copilot Chat-venster andere installatiestappen voorgesteld, zoals het definiëren van omgevingsvariabelen. Als Copilot omgevingsvariabelen voorstelt, maakt u een .env bestand in uw project en voegt u de aanbevolen waarden toe.

Het belastingtestscript aanpassen

Voordat u de test uitvoert, kunt u deze verfijnen met Copilot. Als u bijvoorbeeld het script bekijkt, ziet u mogelijk dat dezelfde nettolading van de aanvraag wordt verzonden bij elke aanvraag:

payload = {
    "id": self.pet_id,
    "name": "Fluffy",
    "category": {"id": 1, "name": "Dogs"},
    "photoUrls": ["https://example.com/photo.jpg"],
    "tags": [{"id": 1, "name": "cute"}],
    "status": "available"
}

De test dynamischer maken door de payload van het verzoek te randomiseren.

  1. Open het Copilot Chat-deelvenster .
  2. Typ: Randomize request payloads en druk op Enter.
  3. Copilot genereert een voorgestelde wijziging om randomisatie te introduceren.
  4. Klik op Toepassen in editor die boven het gegenereerde codefragment wordt weergegeven in het Copilot Chat-venster.
  5. Nadat u de wijzigingen hebt bekeken, klikt u op Behouden om het script te accepteren en bij te werken.
  6. Het bestand opslaan

Nu simuleert elke aanvraag een realistischere gebruikersinteractie. De code ziet er ongeveer als volgt uit:

payload = {
    "id": self.pet_id,
    "name": f"Pet{random.randint(1, 1000)}",
    "category": {"id": random.randint(1, 10), "name": random.choice(["Dogs", "Cats", "Birds"])},
    "photoUrls": [f"https://example.com/photo{random.randint(1, 100)}.jpg"],
    "tags": [{"id": random.randint(1, 10), "name": random.choice(["cute", "friendly", "playful"])}],
    "status": random.choice(["available", "pending", "sold"])
}

De belastingstest uitvoeren

U kunt uw belastingtest op twee manieren uitvoeren:

  • Lokaal uitvoeren voor snelle validatie
  • Uitvoeren in Azure Load Testing voor grootschalige belasting in meerdere regio's

Lokaal uitvoeren voor snelle validatie

Als u uw test snel wilt valideren, voert u deze lokaal uit met behulp van Locust vanuit Visual Studio Code:

  1. Open het opdrachtenpalet en voer uit: Load Testing: Run load test (local).

  2. De webinterface van Locust wordt automatisch gestart in een browser. Het kan enkele seconden duren voordat de Locust-server gereed is en de browser is geopend.

  3. Controleer op de pagina Nieuwe belastingproef starten de invoervelden en klik op Start. Locust begint met het verzenden van aanvragen, het vastleggen van eventuele fouten en het bijhouden van prestatiestatistieken.

    Schermopname van de webgebruikersinterface van Locust om een belastingstest lokaal uit te voeren.

  4. Verken de locust-gebruikersinterface om reactietijden, foutpercentages en aanvraagdoorvoer te analyseren.

    Schermopname van de webgebruikersinterface van Locust om testresultaten lokaal weer te geven en te analyseren.

Aanbeveling

Als Locust fouten rapporteert voor de Retrieve Pet en Update Pet aanvragen, kan dit worden veroorzaakt door de wijze waarop aanvragen door de Pet Store-API worden verwerkt. Vraag Copilot om 'Willekeurige vertragingen tussen aanvragen in run_scenario toevoegen'. Als u een probleem met het script zelf vermoedt, stelt u deze DEBUG_MODE=True in als een omgevingsvariabele en voert u de test opnieuw uit om gedetailleerdere foutopsporingsgegevens op te halen.

Als u liever de test uitvoert vanuit een VS Code-terminal:

  1. Open een terminal in VS Code.

  2. Voer de volgende opdracht uit:

    locust -f path/to/locustfile.py -u 10 -r 2 --run-time 1m
    
    • -f path/to/locustfile.py: Hiermee geeft u het locust-testscript op.
    • -u 10: simuleert maximaal 10 virtuele gebruikers.
    • -r 2: er worden twee virtuele gebruikers per seconde toegevoegd.
    • --run-time 1m: Voert de test 1 minuut uit.
  3. Open een browser en ga naar http://0.0.0.0:8089 om de webgebruikersinterface van Locust weer te geven.

Opschalen in Azure Load Testing

Voor scenario's met hoge belasting waarbij u veel duizenden gelijktijdige virtuele gebruikers in meerdere regio's moet simuleren, kunt u uw test uitvoeren in Azure Load Testing.

Een grootschalige test uitvoeren:

  1. Open het opdrachtenpalet en voer het volgende uit: Belastingstest uitvoeren (Azure Load Testing).

  2. Selecteer Een configuratiebestand maken....

  3. Volg de begeleide installatie, waaronder:

    • Meld u aan bij Azure en selecteer uw abonnement.

    • Een nieuwe Azure Load Testing-resource maken of een bestaande resource selecteren.

    • Kies regio's voor belastingstests om verkeer wereldwijd te distribueren.

  4. Zodra de installatie is voltooid, wordt er een YAML-configuratiebestand (bijvoorbeeld loadtest.config.yaml) gegenereerd en toegevoegd aan de hoofdmap van uw werkruimte.

    • Dit bestand definieert het locust-script, laadparameters, omgevingsvariabelen, regio's en andere bestanden (bijvoorbeeld CSV-gegevenssets).

    • Standaardwaarden zijn 200 virtuele gebruikers die gedurende 120 seconden in elke geselecteerde regio worden uitgevoerd.

    • Voer dit bestand in uw opslagplaats in om toekomstige belastingtestuitvoeringen opnieuw te gebruiken en te automatiseren.

  5. Copilot valideert de configuratie vóór uitvoering. Volg eventuele instructies in het chatvenster. Als alles wordt uitgecheckt, worden het testscript en de bijbehorende artefacten geüpload naar Azure Load Testing en voorbereid op uitvoering. Dit proces kan tot een minuut duren en de voortgang wordt weergegeven in het deelvenster Uitvoer .

    Schermopname van de voortgang van de belastingtest in de uitvoerconsole van VS Code.

  6. Wanneer de test wordt gestart, wordt er een melding (pop-upbericht) weergegeven in de rechterbenedenhoek van VS Code. Klik op de knop Openen in Azure Portal om de testuitvoering in realtime te controleren.

  7. Wanneer de test begint, verschijnt een melding (toastmelding) in de rechterbenedenhoek. Klik op de knop Openen in Azure Portal om de testuitvoering in realtime te controleren.

    Schermopname van de resultaten van de belastingtest in Azure Load Testing.

Aanbeveling

Als u snel toegang wilt krijgen tot testresultaten uit eerdere uitvoeringen, gebruikt u de opdracht: Belastingstestuitvoeringen weergeven.

In deze quickstart zijn gevoelige variabelen zoals API_KEY opgeslagen in een .env bestand en geüpload naar de cloudservice. Als best practice moeten geheimen echter veilig worden beheerd in Azure Key Vault. De extensie biedt richtlijnen voor het instellen hiervan.

Tot nu toe in deze quickstart zijn gevoelige variabelen zoals API_KEY opgeslagen in een .env bestand en geüpload naar de cloudservice. Als best practice moeten geheimen echter veilig worden beheerd in Azure Key Vault. De extensie biedt richtlijnen voor het instellen hiervan.

  1. Open het Copilot Chat-venster , typ @testing /setupLoadTestSecretsInAzure en druk op Enter.

  2. Copilot begeleidt u door de volgende stappen:

  3. Copilot begeleidt u door:

    • Een Azure Key Vault maken.
    • Een beheerde identiteit toewijzen aan uw Azure Load Testing-resource.
    • Geheimen toevoegen aan Azure Key Vault.
    • Uw YAML-bestand configureren om te verwijzen naar Key Vault-geheimen in plaats van .env.

Wanneer u uw Locust-script of YAML-configuratie wijzigt, kunt u de test opnieuw uitvoeren door De belastingstest uitvoeren (Azure Load Testing) uit te voeren.

Samenvatting

In deze quickstart hebt u de Azure Load Testing-extensie voor Visual Studio Code gebruikt om eenvoudig locust-belastingtests te maken met behulp van Copilot, lokaal te herhalen en moeiteloos te schalen in Azure. De Azure Load Testing-extensie voor VS Code vereenvoudigt het proces van het maken van een realistisch testscript voor uw testscenario. Azure Load Testing abstraheert de complexiteit van het instellen van de infrastructuur voor het simuleren van gebruikersbelasting op grote schaal voor uw toepassing.

U kunt de belastingstest verder uitbreiden om ook metrische gegevens aan de serverzijde van de toepassing onder belasting te bewaken en om metrische gegevens over mislukte tests op te geven om gewaarschuwd te worden wanneer de toepassing niet aan uw vereisten voldoet. Om ervoor te zorgen dat de toepassing goed blijft presteren, kunt u ook belastingtests integreren als onderdeel van uw CI/CD-werkstroom (continue integratie en continue implementatie).