Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Som JavaScript-utvecklare som är ny att Azure använder du den här Azure testguiden för att lära dig strategier för enhets-, integrerings-, CI/CD- och AI-testning med Azure-SDK:er och andra resurser för att säkerställa programmets kvalitet, prestanda och tillförlitlighet.
Välstrukturerat Azure-ramverk
Azure Well-Architected Framework tillhandahåller ett designramverk för molnprogram i fem pelare:
- Tillförlitlighet – Se till att ditt program är motståndskraftigt mot fel och återställs snabbt.
- Säkerhet – Skydda dina program och data från hot.
- Prestandaeffektivitet – Optimera hur systemet använder resurser för att uppfylla kraven.
- Kostnadsoptimering – Hantera kostnader samtidigt som du levererar värde.
- Operational Excellence – Förbättra processer och övervakning för att leverera program effektivt.
Teststrategier i den här artikeln överensstämmer främst med grundpelare för driftskvalitet, som betonar automatisering, validering och kontinuerlig förbättring av operativa processer.
Inre och yttre testloopar för Azure SDK:er i JavaScript
Inre och yttre testloopar är grundläggande begrepp inom programvarutestning, särskilt för program som distribueras på molnplattformar som Azure:
Den inre loopen refererar till en lokal miljö där utvecklare ofta kör enhets- och integreringstester under utvecklingsfasen. Den här loopen fokuserar på snabb feedback och iteration.
Den yttre loopen omfattar tester som utvecklare kör i CI/CD-pipelines, samt i mellanlagrings- och produktionsmiljöer. Dessa tester drar ofta nytta av Azure DevOps eller GitHub Actions.
Dessa tester omfattar slutpunkt till slutpunkt (E2E), prestanda och säkerhetstester. De verifierar programmets beteende i miljöer som är nära speglande eller identiska med den slutliga produktionsmiljön. Effektiva teststrategier använder båda looparna för att säkerställa omfattande täckning och kvalitetssäkring före och efter distributionen.
Lära sig mer:
- CI/CD: Vad, varför och hur
- En nybörjarguide till CI/CD och automatisering på GitHub
- GitHub Actions-startarbetsflöden
- Använda molnbaserade webbläsare för lokalt distribuerade appar
Lokal och molnbaserad testning med Azure SDKs
Lokal testning utan Azure innebär att simulera Azure-tjänster. Använd den här metoden för att testa ändringar snabbt utan att medföra kostnader eller nätverksfördröjning som är associerade med verkliga Azure-tjänster.
Å andra sidan utnyttjar molnbaserad testning med Azure faktiska Azure-resurser för att verifiera programmets integrering, säkerhet och prestanda i en molnmiljö. Den här metoden är avgörande för slutlig validering i en produktionsliknande inställning. Det hjälper till att säkerställa att programmet fungerar som förväntat med Live Azure-tjänster.
Emulatorer och utvecklingscontainrar förbättrar den lokala utvecklingen med Azure-tjänster på olika sätt. Emulatorer efterliknar Azure-tjänster för kostnadseffektiv testning i ett tidigt skede utan Azure-avgifter, men de kanske inte replikerar livetjänstfunktioner helt. Utvecklingscontainrar replikerar produktionsmiljön närmare, inklusive programberoenden och tjänster, för att underlätta en sömlös övergång till produktion. Utvecklingscontainrar passar komplexa program men kräver mer konfiguration än emulatorer.
Emulatorer
Emulatorer omfattar:
- Azurite (Azure Storage-emulator)
- Azure Cosmos DB-emulatorn
- Azure SignalR-emulator
- Azure Event Hubs-emulator
- Azure Functions Core Tools (Local Azure Functions Runtime)
- Azure Logic Apps Standard (lokal utveckling)
- Lokalt installerad Azure API Management-gateway
- Azure IoT Edge Runtime
Utvecklingscontainrar
Utvecklingscontainrar är ett kraftfullt alternativ till att använda emulatorer för lokal utveckling, särskilt när det gäller att arbeta med Azure-tjänster.
Genom att köra tjänster i containrar skapar du en lokal miljö som nära speglar produktionsmiljön för att ge konsekvens i utvecklings-, testnings- och distributionsstegen. Det förbättrar också tillförlitligheten i testningen genom att simulera verkliga förhållanden mer exakt.
Konfigurera containrar för att replikera inställningar och data för Azure-tjänster. På så sätt ger containrar en robust plattform för att utveckla och testa program utan att behöva ansluta till live-Azure-tjänster.
Utvecklingscontainrar omfattar Azure SQL Database.
Lära sig mer:
Produktivitetsverktyg för AI och utvecklarproduktivitet
AI-baserade verktyg förbättrar ditt JavaScript-utvecklingsarbetsflöde på Azure genom att tillhandahålla intelligent kodhjälp, resurshantering, testningsautomatisering och distributionsstöd.
| Verktyg | Description |
|---|---|
| GitHub Copilot för Azure | AI-assisterad kodning med Azure-specifik kontext. Ställ frågor om Azure tjänster, generera infrastrukturkod och få hjälp med Azure SDKs användning direkt i VS Code. |
| Azure MCP Server | Modellera context protocol-verktyg som ansluter din IDE till Azure resurser. Fråga efter resurskonfigurationer, hantera distributioner och verifiera inställningar utan att lämna redigeraren. |
| Azure-kunskaper | Sammansättningsbara AI-funktioner för Azure arbetsflöden, inklusive diagnostik, efterlevnadsgenomsökning, distributionsverifiering och resursetablering – kan användas från GitHub Copilot eller mcp-kompatibla klienter. |
| Playwright MCP | Verktyg för webbläsarautomatisering som exponeras via MCP för testning från slutpunkt till slutpunkt. Kör Playwright-tester, ta skärmbilder och validera interaktioner med webbgränssnittet med AI-hjälp. |
Azure Developer CLI (azd) |
Effektivisera hela arbetsflödet för utveckling till distribution. Initiera projekt från mallar, etablera infrastruktur och distribuera kod med ett enda verktyg. |
De här verktygen fungerar tillsammans för att minska kontextväxlingen mellan redigeringsprogrammet och Azure portalen. Som exempel:
- Använd GitHub Copilot för att skriva Azure SDKs kod med infogade förslag
- Använd Azure MCP Server för att kontrollera att resurskonfigurationerna är korrekta
- Använd Azure Skills för att köra efterlevnadsgenomsökningar eller felsöka distributioner som misslyckas
- Använd Playwright MCP för att automatisera webbläsarbaserad testning av dina Azure värdbaserade appar
- Använd
azdför att etablera och distribuera ditt program i ett steg
Enhetstester i JavaScript
Enhetstestning med Azure SDK:er i JavaScript använder ofta ramverk som Jest eller Vitest för att isolera och testa enskilda komponenter eller funktioner.
För interna Node.js tester kan du skicka Azure SDKs-anrop manuellt utan ytterligare bibliotek genom att åsidosätta metoder för SDK-klientprototyperna eller använda enkla falska funktioner.
Mer information finns i avsnittet Azure SDKs-tester senare i den här artikeln.
Tips/Råd
AI utvecklarverktyg: Använd GitHub Copilot för Azure för att generera enhetstestmallar och mock-mönster för Azure SDKs-klienter från gränssnittstyper.
Integreringstester i JavaScript
Integreringstestning utvärderar interaktionen mellan ditt program och Azure-tjänster för att säkerställa att komponenter fungerar tillsammans som förväntat.
Konfigurera automatiserade integreringstester med hjälp av Azure-pipelines i Azure DevOps eller arbetsflöden i GitHub Actions. Den här metoden automatiserar distributionen och testningen av komponenter i en molnmiljö. Det hjälper dig att identifiera problem som kanske inte visas under enhetstestning, till exempel nätverksfördröjning eller tjänstkonfigurationsfel.
Emulera Azure-tjänster
Att håna Azure-tjänster är en vanlig metod för att testa JavaScript-program som integreras med Azure SDK:er. Genom att simulera Azure-tjänstsvar isolerar du programlogik från externa beroenden, vilket hjälper till att säkerställa att testerna körs snabbt och tillförlitligt.
Läs mer om hur du testar Azure SDKs-integreringar.
Kontinuerliga integreringstester
CI-testning innebär att tester körs automatiskt varje gång en ändring görs i kodbasen. CI-verktyg som Azure DevOps tillhandahåller integrerade miljöer för att automatisera byggen, tester och distributioner. Genom att konfigurera pipelines med automatiserade tester ser du till att varje ändring verifieras, vilket minskar sannolikheten för buggar och regressioner.
Korrekt pipelinekonfiguration är avgörande för effektiva CI-processer. Det omfattar att konfigurera utlösare för automatisk testkörning och konfigurera miljöer för olika testfaser.
Lära sig mer:
- En nybörjarguide till CI/CD och automatisering på GitHub
- GitHub-åtgärdsstartarbetsflöden
- Exempel Node.js arbetsflöden
Azure-testplaner
Azure Test Plans erbjuder en omfattande svit för manuell och undersökande testning i Azure DevOps.
Den här tjänsten kan hjälpa till i scenarier som kräver mänsklig bedömning eller är svåra att automatisera genom att tillhandahålla en strukturerad metod för manuell testning. Teams kan använda den för att planera, köra och spåra testaktiviteter, inklusive att samla in omfattande data som skärmbilder och videor för att underlätta buggrapportering. Integreringen av Azure-testplaner i DIN CI/CD-process ger en holistisk teststrategi som omfattar både automatiserade och manuella testfall.
Helhetstest
Slutpunkt till slutpunkt-testning validerar den fullständiga driften av ett program i en miljö som simulerar verkliga användarscenarier. Genom att använda ramverk som Playwright kan du automatisera webbläsarbaserade tester för att interagera med dina program på samma sätt som användarna.
Scenariobaserad testning innebär att skapa testfall för fullständiga användarflöden, till exempel registrering, utföra en uppgift och logga ut. Använd den här testningen för att verifiera programmets funktioner och användarupplevelse i Azure.
Lära sig mer:
Tips/Råd
AI-utvecklarverktyg: Använd Azure MCP Server verktyg för att verifiera distributionsmål och tjänsthälsa innan du kör E2E-tester mot resurser i realtid Azure.
Prestandatestning
Prestandatestning är viktigt för program som distribueras i Azure för att säkerställa att de kan hantera förväntade belastningar och prestera bra under stress.
Benchmarking innebär att mäta programmets prestanda mot definierade mått eller standarder. Använd Azure Load Testing-tjänsten för att simulera hög trafik och analysera ett programs skalbarhet och motståndskraft.
CLI-exempel:
az load test create --resource-group MyResourceGroup --name MyLoadTest --file loadTestConfig.json
Lära sig mer:
- Rekommendationer för prestandatestning
- Dokumentation om Azure Load Testing
- Självstudie om att identifiera flaskhalsar i prestanda i en webbapp
- GitHub: Azure Load Testing
Säkerhetstester
Säkerhetstestning i Azure innebär att identifiera potentiella sårbarheter i ditt program för att förhindra obehörig åtkomst eller dataintrång.
Verktyg för sårbarhetsgenomsökning är viktiga för att automatiskt identifiera säkerhetsbrister i koden eller konfigurationerna. Genom att integrera GitHub Advanced Security-funktioner med traditionella SAST-verktyg (Static Application Security Testing) kan du förbättra säkerhetsstatusen för program som distribueras i Azure. Viktiga funktioner är:
- Kodgenomsökning: Identifierar säkerhetsrisker i kodbasen före distributionen.
- Hemlig genomsökning: Hjälper till att förhindra exponering av känsliga data.
- Övervakning av leveranskedjan: Skyddar mot potentiellt komprometterade beroenden.
Dessa integrerade säkerhetsåtgärder kan hjälpa dig att identifiera säkerhetsrisker tidigt, förhindra dataintrång och säkerställa integriteten i programmets leveranskedja.
Intrångstestning simulerar cyberattacker mot ditt program för att utvärdera dess säkerhetsstatus. Azure tillhandahåller vägledning och verktyg för att utföra dessa tester för att säkerställa att program som distribueras på plattformen är säkra mot hot.
Rekommenderar att du integrerar CodeQL i din CI-pipeline för att fånga sårbarheter tidigt.
Lära sig mer:
Efterlevnads- och styrningstester
Det är viktigt att se till att programmen uppfyller kraven för juridiska, regelmässiga och policyer, särskilt i molnmiljöer. Testning av regelefterlevnad verifierar att ditt program uppfyller standarder som GDPR, HIPAA eller SOC 2.
Azure erbjuder princip- och efterlevnadsverktyg, till exempel Azure Policy och Azure Blueprints, för att automatisera och framtvinga efterlevnad för dina Azure-resurser. De här verktygen förenklar processen med att upprätthålla styrnings- och efterlevnadsstandarder i dina programdistributioner.
Lära sig mer:
- Styrning, säkerhet och efterlevnad i Azure
- Implementera efterlevnadstestning med Terraform och Azure
Hjälpmedelstester
Tillgänglighetstestning är viktigt för att göra programvara inkluderande och kompatibel med juridiska standarder. Verktyg som Hjälpmedelsinsikter hjälper dig att identifiera och åtgärda tillgänglighetsproblem i webb- och mobilappar. Integrering av Hjälpmedelsinsikter i utvecklingsarbetsflöden underlättar automatiserade och manuella kontroller genom att erbjuda vägledning och rapporter baserat på WCAG-standarder (Web Content Accessibility Guidelines).
A/B-tester
A/B-testning, eller delningstestning, är en metod för att jämföra två versioner av en webbsida eller app med varandra för att avgöra vilken som presterar bättre. Azure tillhandahåller följande tjänster som stöder A/B-testning:
Azure App Service: Erbjuder distributionsplatser för mellanlagringsmiljöer där du kan testa appversioner utan att påverka liveappen.
Azure Container Apps: Erbjuder en flexibel miljö för att köra mikrotjänstbaserade program. Du kan implementera A/B-testning i den här miljön för att testa appversioner.
Använd dessa tjänster för att distribuera varianter av dina program och sedan mäta användarens svar och effektivitet.
Azure SDKs-tester
För utvecklare som arbetar med Azure-tjänster är det viktigt att få kunskaper om Azure SDK:er för att skapa robusta och skalbara program. Följande Azure SDKs-tester, som finns på GitHub för JavaScript SDK:er, är ovärderliga resurser:
Att utforska dessa tester ger insikter om sömlös Integrering av Azure-tjänster, visar metodtips för Azure-resursinteraktion och hjälper dig att säkerställa effektiva och säkra implementeringar. Utforska ett bredare utbud av SDK-exempel för en omfattande förståelse.
Tips/Råd
AI developerverktyg: Använd GitHub Copilot för Azure för att navigera i Azure SDKs-testmönster och generera testinställningar från SDK-gränssnittdefinitioner. Azure Skills kan etablera testresurser som matchar SDK-exempelkonfigurationer.