Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Als JavaScript-ontwikkelaar die nieuw is voor Azure, gebruikt u deze Azure testhandleiding voor het leren van eenheids-, integratie-, CI/CD- en AI-teststrategieën met Azure-SDK's en andere resources om de kwaliteit, prestaties en betrouwbaarheid van uw toepassing te garanderen.
Azure Well-Architected Framework (Azure Goed-Ontworpen Raamwerk)
Het Azure Well-Architected Framework biedt een ontwerpframework voor cloudtoepassingen op vijf pijlers:
- Betrouwbaarheid : ervoor zorgen dat uw toepassing bestand is tegen fouten en snel herstelt.
- Beveiliging : uw toepassingen en gegevens beschermen tegen bedreigingen.
- Prestatie-efficiëntie : optimaliseren hoe uw systeem gebruikmaakt van resources om te voldoen aan de vereisten.
- Kostenoptimalisatie : kosten beheren terwijl u waarde levert.
- Operational Excellence : processen en bewaking verbeteren om toepassingen effectief te leveren.
Teststrategieën in dit artikel zijn voornamelijk afgestemd op de pijler Operational Excellence, die automatisering, validatie en continue verbetering van operationele processen benadrukt.
Binnenste en buitenste testlussen voor Azure SDK's in JavaScript
Interne en buitenste testlussen zijn fundamentele concepten in softwaretests, met name voor toepassingen die zijn geïmplementeerd op cloudplatforms zoals Azure:
De binnenste lus verwijst naar een lokale omgeving waar ontwikkelaars vaak eenheids- en integratietests uitvoeren tijdens de ontwikkelingsfase. Deze lus is gericht op snelle feedback en iteratie.
De buitenste lus omvat tests die ontwikkelaars uitvoeren in CI/CD-pijplijnen (continue integratie en continue levering), fasering en productieomgevingen. Deze tests profiteren vaak van Azure DevOps of GitHub Actions.
Deze tests omvatten end-to-end (E2E), prestaties en beveiligingstests. Ze valideren het gedrag van de toepassing in omgevingen die nauw overeenkomen of identiek zijn aan de uiteindelijke productieomgeving. Efficiënte teststrategieën maken gebruik van beide lussen om een uitgebreide dekking en kwaliteitsgarantie te garanderen voor en na de implementatie.
Meer informatie:
- CI/CD: Wat, waarom en hoe
- Een beginnershandleiding voor CI/CD en automatisering op GitHub
- Starterwerkstromen voor GitHub Actions
- In de cloud gehoste browsers gebruiken voor lokaal geïmplementeerde apps
Lokaal en cloudgebasd testen met Azure SDK
Lokaal testen zonder Azure omvat het simuleren van Azure-services. Gebruik deze methode om wijzigingen snel te testen zonder de kosten of netwerklatentie te maken die zijn gekoppeld aan echte Azure-services.
Aan de andere kant maakt testen in de cloud met Azure gebruik van werkelijke Azure-resources om de integratie, beveiliging en prestaties van de toepassing in een cloudomgeving te valideren. Deze methode is van cruciaal belang voor definitieve validatie in een productieachtige instelling. Het helpt ervoor te zorgen dat de toepassing zich gedraagt zoals verwacht met live Azure-services.
Emulators en ontwikkelingscontainers verbeteren lokale ontwikkeling met Azure-services anders. Emulators bootsen Azure-services na voor kostenefficiënte, vroege tests zonder Azure-kosten, maar ze repliceren mogelijk niet volledig live servicefuncties. Ontwikkelcontainers repliceren de productieomgeving nauwkeuriger, met inbegrip van toepassingsafhankelijkheden en -services, om een naadloze overgang naar productie te vergemakkelijken. Ontwikkelcontainers zijn geschikt voor complexe toepassingen, maar vereisen meer installatie dan emulators.
Emulatoren
Emulators zijn onder andere:
- Azurite (Azure Storage Emulator)
- Azure Cosmos DB Emulator
- Azure SignalR Emulator
- Azure Event Hubs Emulator
- Azure Functions Core Tools (lokale Azure Functions Runtime)
- Azure Logic Apps Standard (lokale ontwikkeling)
- Zelf-gehoste gateway voor Azure API Management
- Azure IoT Edge Runtime
Ontwikkelcontainers
Ontwikkelingscontainers bieden een krachtig alternatief voor het gebruik van emulators voor lokale ontwikkeling, met name bij het werken met Azure-services.
Door services in containers uit te voeren, maakt u een lokale omgeving die de productieomgeving nauw weerspiegelt om consistentie te bieden in ontwikkelings-, test- en implementatiefasen. Het verbetert ook de betrouwbaarheid van testen door reële omstandigheden nauwkeuriger te simuleren.
Configureer containers om de instellingen en gegevens van Azure-services te repliceren. Op deze manier bieden containers een robuust platform voor het ontwikkelen en testen van toepassingen zonder de overhead van het maken van verbinding met live Azure-services.
Ontwikkelcontainers bevatten Azure SQL Database.
Meer informatie:
Productiviteitshulpprogramma's voor AI en ontwikkelaars
Ai-hulpprogramma's verbeteren uw JavaScript-ontwikkelwerkstroom op Azure door intelligente codeondersteuning, resourcebeheer, automatisering van tests en implementatieondersteuning te bieden.
| Tool | Description |
|---|---|
| GitHub Copilot voor Azure | AI-ondersteunde programmering in een Azure-specifieke context. Stel vragen over Azure services, genereer infrastructuurcode en krijg hulp bij Azure SDK gebruik rechtstreeks in VS Code. |
| Azure MCP-server | ModelContext Protocol-hulpprogramma's waarmee uw IDE wordt verbonden met Azure resources. Query's uitvoeren op resourceconfiguraties, implementaties beheren en instellingen valideren zonder de editor te verlaten. |
| Azure vaardigheden | Samenstelbare AI-mogelijkheden voor Azure werkstromen, waaronder diagnostische gegevens, nalevingsscans, implementatievalidatie en inrichting van resources, die kunnen worden gebruikt vanuit GitHub Copilot of een mcP-compatibele client. |
| Playwright MCP | Hulpprogramma's voor browserautomatisering die beschikbaar zijn via MCP voor end-to-end-tests. Voer Playwright-tests uit, leg schermopnamen vast en valideer interacties in de webgebruikersinterface met AI-hulp. |
Azure Developer CLI (azd) |
Stroomlijn uw volledige werkstroom voor ontwikkeling naar implementatie. Initialiseer projecten op basis van sjablonen, richt infrastructuur in en implementeer code met één hulpprogramma. |
Deze hulpprogramma's werken samen om contextoverschakeling tussen uw editor en de Azure-portal te verminderen. Voorbeeld:
- Gebruik GitHub Copilot om Azure SDK code te schrijven met inlinesuggesties
- Gebruik de Azure MCP-server om te controleren of uw resourceconfiguraties juist zijn
- Gebruik Azure vaardigheden om nalevingsscans uit te voeren of problemen met mislukte implementaties op te lossen
- Gebruik Playwright MCP om browsergebaseerde tests van uw Azure gehoste apps te automatiseren
- Gebruik
azddit om uw toepassing in één stap in te richten en te implementeren
Eenheidstests in JavaScript
Eenheidstests met Azure SDK's in JavaScript maken vaak gebruik van frameworks zoals Jest of Vitest om afzonderlijke onderdelen of functies te isoleren en te testen.
Voor systeemeigen Node.js tests roept Stub Azure SDK handmatig aan zonder extra bibliotheken door methoden te overschrijven op de PROTOTYPEn van de SDK-client of door eenvoudige mock-functies te gebruiken.
Zie de sectie Azure SDK-tests verderop in dit artikel voor meer informatie.
Tip
AI-ontwikkelhulpprogramma's: Gebruik GitHub Copilot voor Azure voor het genereren van standaard- en mockpatronen voor eenheidstests voor Azure SDK clients van interfacetypen.
Integratietests in JavaScript
Integratietests beoordelen de interactie tussen uw toepassing en Azure-services om ervoor te zorgen dat onderdelen naar verwachting samenwerken.
Stel geautomatiseerde integratietests in met behulp van Azure-pipelines in Azure DevOps of werkstromen in GitHub Actions. Deze aanpak automatiseert de implementatie en het testen van onderdelen in een cloudomgeving. Het helpt bij het identificeren van problemen die mogelijk niet zichtbaar zijn tijdens het testen van eenheden, zoals netwerklatentie of serviceconfiguratiefouten.
Azure-services simuleren
Het mocken van Azure-services is een veelvoorkomende procedure bij het testen van JavaScript-toepassingen die zijn geïntegreerd met Azure SDK's. Door azure-servicereacties te simuleren, moet u uw toepassingslogica isoleren van externe afhankelijkheden, zodat tests snel en betrouwbaar kunnen worden uitgevoerd.
Meer informatie over het testen van Azure SDK-integraties.
Continue integratietests
CI-tests bestaan uit het automatisch uitvoeren van tests telkens wanneer een wijziging wordt aangebracht in de codebasis. CI-hulpprogramma's zoals Azure DevOps bieden geïntegreerde omgevingen voor het automatiseren van builds, tests en implementaties. Het configureren van pijplijnen voor het opnemen van geautomatiseerde tests helpt ervoor te zorgen dat elke wijziging wordt geverifieerd, waardoor de kans op bugs en regressies wordt verminderd.
De juiste pijplijnconfiguratie is cruciaal voor efficiënte CI-processen. Het omvat het instellen van triggers voor automatische testuitvoering en het configureren van omgevingen voor verschillende fasen van het testen.
Meer informatie:
- Een beginnershandleiding voor CI/CD en automatisering op GitHub
- Starter-werkstromen voor GitHub-acties
- Voorbeeld van Node.js werkstromen
Testplannen voor Azure
Azure Test Plans biedt een uitgebreide suite voor handmatige en verkennende tests in Azure DevOps.
Deze service kan helpen bij scenario's die menselijke beoordeling vereisen of moeilijk te automatiseren zijn door een gestructureerde benadering te bieden voor handmatig testen. Teams kunnen het gebruiken om testactiviteiten te plannen, uit te voeren en bij te houden, waaronder het vastleggen van uitgebreide gegevens, zoals schermopnamen en video's om hulp te bieden bij foutrapportage. De integratie van Azure-testplannen in uw CI/CD-proces biedt een holistische teststrategie die betrekking heeft op zowel geautomatiseerde als handmatige testcases.
End-to-endtests
End-to-end testen valideert de volledige werking van een toepassing in een omgeving die echte gebruikersscenario's simuleert. Met behulp van frameworks zoals Playwright kunt u browsertests automatiseren om te communiceren met uw toepassingen zoals gebruikers.
Testen op basis van scenario's omvat het maken van testcases voor volledige gebruikersstromen, zoals registreren, een taak uitvoeren en afmelden. Gebruik deze test om de functionaliteit en gebruikerservaring van de toepassing in Azure te controleren.
Meer informatie:
Tip
AI-ontwikkelhulpprogramma's: Gebruik Azure MCP Serverhulpprogramma's om implementatiedoelen en servicestatus te controleren voordat u E2E-tests uitvoert op live Azure resources.
Prestatietests
Prestatietests zijn essentieel voor toepassingen die zijn geïmplementeerd in Azure om ervoor te zorgen dat ze verwachte belastingen kunnen verwerken en goed onder stress kunnen presteren.
Benchmarking omvat het meten van de prestaties van uw toepassing op basis van gedefinieerde metrische gegevens of standaarden. Gebruik de Azure Load Testing-service om veel verkeer te simuleren en de schaalbaarheid en tolerantie van een toepassing te analyseren.
CLI-voorbeeld:
az load test create --resource-group MyResourceGroup --name MyLoadTest --file loadTestConfig.json
Meer informatie:
- Aanbevelingen voor prestatietests
- Documentatie voor Azure Load Testing
- Zelfstudie over het identificeren van prestatieknelpunten in een web-app
- GitHub: Azure Load Testing
Beveiligingstests
Beveiligingstests in Azure moeten potentiële beveiligingsproblemen in uw toepassing identificeren om onbevoegde toegang of gegevensschendingen te voorkomen.
Hulpprogramma's voor het scannen van beveiligingsproblemen zijn essentieel voor het automatisch detecteren van zwakke plekken in uw code of configuraties. Door GitHub Advanced Security-functies te integreren met traditionele SAST-hulpprogramma's (Static Application Security Testing), kunt u de beveiligingspostuur van toepassingen verbeteren die zijn geïmplementeerd in Azure. Belangrijke functies zijn onder andere:
- Codescan: identificeert beveiligingsproblemen in de codebasis vóór de implementatie.
- Geheimen scannen, helpt blootstelling van gevoelige gegevens te voorkomen.
- Bewaking van de toeleveringsketen: beschermt tegen mogelijk aangetaste afhankelijkheden.
Deze geïntegreerde beveiligingsmaatregelen kunnen u helpen bij het identificeren van beveiligingsproblemen, het voorkomen van gegevensschendingen en het waarborgen van de integriteit van de toeleveringsketen van uw toepassing.
Penetratietests simuleren cyberaanvallen tegen uw toepassing om de beveiligingspostuur te evalueren. Azure biedt richtlijnen en hulpprogramma's voor het uitvoeren van deze tests om ervoor te zorgen dat toepassingen die op het platform zijn geïmplementeerd, veilig zijn tegen bedreigingen.
Het is raadzaam Om CodeQL te integreren in uw CI-pijplijn om beveiligingsproblemen vroeg te ondervangen.
Meer informatie:
Nalevings- en bestuurtests
Het is van cruciaal belang dat toepassingen voldoen aan wettelijke, wettelijke en beleidsvereisten, met name in cloudomgevingen. Het testen van naleving van regelgeving controleert of uw toepassing voldoet aan standaarden zoals AVG, HIPAA of SOC 2.
Azure biedt hulpprogramma's voor beleid en naleving, zoals Azure Policy en Azure Blueprints, om naleving in uw Azure-resources te automatiseren en af te dwingen. Deze hulpprogramma's vereenvoudigen het proces van het onderhouden van governance- en nalevingsstandaarden in uw toepassingsimplementaties.
Meer informatie:
Toegankelijkheidstests
Toegankelijkheidstests zijn essentieel voor het maken van software inclusief en voldoen aan wettelijke normen. Hulpprogramma's zoals Toegankelijkheidsinzichten helpen bij het identificeren en oplossen van toegankelijkheidsproblemen in web- en mobiele apps. Het integreren van toegankelijkheidsinzichten in ontwikkelwerkstromen vereenvoudigt geautomatiseerde en handmatige controles door richtlijnen en rapporten aan te bieden op basis van WCAG-standaarden (Web Content Accessibility Guidelines).
A/B-tests
A/B testen, of splitsen testen, is een methode om twee versies van een webpagina of app met elkaar te vergelijken om te bepalen welke beter presteert. Azure biedt de volgende services die ondersteuning bieden voor A/B-tests:
Azure App Service: biedt implementatiesites voor faseringsomgevingen waar u app-versies kunt testen zonder dat dit van invloed is op de live-app.
Azure Container Apps: biedt een flexibele omgeving voor het uitvoeren van op microservices gebaseerde toepassingen. U kunt A/B-tests in deze omgeving implementeren om app-versies te testen.
Gebruik deze services om variaties van uw toepassingen te implementeren en vervolgens de reactie en effectiviteit van gebruikers te meten.
Azure SDK-tests
Voor ontwikkelaars die met Azure-services werken, is het beheersen van de Azure SDK's essentieel voor het maken van robuuste en schaalbare toepassingen. De volgende Azure SDK-tests, gehost op GitHub voor de JavaScript SDK's, zijn waardevolle resources:
Het verkennen van deze tests biedt inzicht in naadloze integratie van Azure-services, toont aanbevolen procedures voor interactie met Azure-resources en helpt bij het garanderen van efficiënte en veilige implementaties. Verken een breder scala aan SDK-voorbeelden voor een uitgebreid begrip.
Tip
AI-ontwikkelhulpprogramma's: Gebruik GitHub Copilot voor Azure om door Azure SDK testpatronen te navigeren en testinrichtingen te genereren op basis van SDK-interfacedefinities. Azure Skills kunnen testbronnen inrichten die overeenkomen met SDK-voorbeeldconfiguraties.