| |

Een introductie in Azure Devops Test omgeving


Azure Test Plans

Azure Test Plans bieden de mogelijkheid om handmatige en verkennende testscripts voor Azure snel en grondig te testen en publiceren.

Test Plans is een Azure DevOps-tool waarmee klanten een cloudgebaseerd testplatform kunnen integreren om al hun testbehoeften te beheren, inclusief:

  • Planning van handmatige tests.
  • Acceptatietests voor gebruikers (UAT).
  • Observatieonderzoek.
  • Invoer van belanghebbenden.

Gebruikers kunnen Azure Test Plans gebruiken om testplannen en testcases te ontwikkelen binnen een pipeline.

Dit kan worden geïntegreerd met Azure Boards om een testrun te bouwen vanuit de Kanban-boards en gezamenlijk tests te plannen en te ontwikkelen.

Test Plans helpen bij het maken van user acceptance testing (UAT)-plannen en het toewijzen van mensen uit DevOps-systemen.

Het ondersteunt ook de Test and Feedback-browserextensie, waarmee geïnteresseerde partijen verkennende tests kunnen uitvoeren zonder externe technologieën.

Bovendien stellen Test Plans gebruikers in staat om te testen op elk platform met behoud van volledige traceerbaarheid en robuuste gegevensverzameling om eventuele ontdekte problemen te diagnosticeren en op te lossen.

Het is de enige Azure DevOps-service met een gratis niveau vanwege de uitgebreide toolkit die alleen beschikbaar is voor commerciële gebruikers.

Azure Artifacts

Azure Artifacts maakt het mogelijk om code uit te wisselen tussen teams en organisaties. Packages kunnen worden gedeeld en toegevoegd aan pipelines.

Dit is de Azure DevOps-artefactbibliotheekservice, waarmee packages (ontwikkelingsartefacten) kunnen worden gebouwd, opgeslagen en gedeeld.

Met Azure Artifacts kunnen gebruikers volledig uitgeruste pakketbeheermogelijkheden integreren in CI/CD-pipelines.

Bovendien stelt Azure Artifacts gebruikers in staat om verschillende pakkettypen, zoals npm, Maven en anderen, te beheren en ze georganiseerd te houden in een enkele bibliotheek die alleen relevant is voor het project waar ze aan werken.

#06 Marketplace voor Extensies Tot slot heeft Azure DevOps een Marketplace voor Extensies met meer dan duizend extensies, waaronder Slack, Jenkins, Docker en Kubernetes, die je aan je Azure DevOps-setup kunt toevoegen.

Azure DevOps heeft ook een eersteklas cloudgebaseerde DevOps-service die een krachtige en uitgebreide toolkit biedt voor het bouwen en beheren van een uitgebreid DevOps-proces. Het biedt gebruikers de mogelijkheid om:

  • Aan te passen aan elke DevOps-eis, ongeacht programmeertaal, technologie of platform.
  • Overal te implementeren, van containers tot externe clouds.

Dit alles is nu mogelijk met Azure DevOps, dat ongeëvenaalde schaalbaarheid en beschikbaarheid biedt zonder de last van het onderhouden van afzonderlijke software voor verschillende DevOps-operaties.

Voordelen van Azure DevOps Azure DevOps stelt gebruikers in staat om code te schrijven, implementeren en monitoren zonder toegang te krijgen tot veel verschillende interfaces. Je kunt dit allemaal beheren vanuit één weergave en zo het gemak voor de klanten vergroten.

Geautomatiseerd Testen met Azure DevOps

Het gebruik van geautomatiseerde tests, zoals beveiligings- en compliance-tests, helpt bij het identificeren van problemen tijdens de testfase. Hierdoor kunnen resources snel worden voorzien en kan de hele productieomgeving snel worden geconfigureerd.

Continue Integratie & Continue Levering (CI/CD)

Wanneer code specifiek wordt geschreven voor een bepaalde taak, wordt deze automatisch gebouwd en gecontroleerd op fouten, waardoor defecten vroegtijdig worden ontdekt. Hierdoor kunnen bedrijven snel en consistent implementeren in de productieomgeving op elk gewenst moment.

Elk Platform, Elke Taal Het ondersteunt verschillende platforms en draait op verschillende frameworks. Ontwikkelaars die Java, Node, PHP, .NET en Python gebruiken, kunnen er eenvoudig mee werken.

App Insights

Azure DevOps Azure Application Insights levert inzichten via applicatieprestatiebeheer en snelle analyse. Bovendien kun je de gezondheid van de infrastructuur bewaken met Azure Log Analytics en Azure Monitor.

Hoe Azure DevOps te gebruiken (Geautomatiseerd testen met Azure DevOps) Testcases in je testplannen kunnen worden geautomatiseerd en direct worden uitgevoerd vanuit Azure Test Plans. Hier zijn enkele voordelen van geautomatiseerde tests:

  • Een eenvoudige methode voor testers die niet bekend zijn met het uitvoeren van tests in Build- of Release-procedures.
  • De mogelijkheid om specifieke tests on demand uit te voeren in plaats van geplande tests in Build- of Release-workflows die alle tests uitvoeren die aan de filtercriteria voldoen.
  • De mogelijkheid om enkele tests opnieuw uit te voeren die zijn mislukt vanwege problemen met de testinfrastructuur, of wanneer je een nieuwe build hebt met patches voor mislukte tests.

Vereisten

Hier zijn enkele van de vereisten die je moet hebben voordat je aan de slag kunt met geautomatiseerd testen met Azure DevOps:

  • Je moet deelnemen aan een project. Maak een project aan als je er nog geen hebt.
  • Een project moet aan je zijn toegevoegd, of je moet lid zijn van een project of team.
  • Je moet ten minste Basis-toegang of hoger hebben om handmatige of geautomatiseerde tests te kunnen zien of uitvoeren.
  • Een testplan is een verzameling geautomatiseerde tests die je hebt gekoppeld aan geautomatiseerde testmethoden in Visual Studio 2017, Visual Studio 2015 of eerder.
  • Een buildproces dat testbinaries genereert in de builds.
  • Een programma om te evalueren. Je kunt de app gebruiken voor on-demand testen en implementeren als onderdeel van het build- en releaseproces.
  • Releases maken en beheren, een release-omgeving wijzigen en implementatie beheren met de benodigde machtigingen.

Opzetten van de Azure Testomgeving

Hier zijn alle stappen die je moet volgen om de testomgeving nauwkeurig in te stellen voor geautomatiseerd testen met behulp van Azure DevOps:

  • Kies je testplan op de Test Plans-pagina, open het snelmenu en selecteer Test plan instellingen.
  • Selecteer het buildpipeline dat builds genereert met de testbinaries in het venster Test plan instellingen. Je kunt dan een specifiek buildnummer testen of het systeem automatisch het meest recente build gebruiken wanneer tests worden uitgevoerd.
  • Om testplannen uit te voeren in Azure Test Plans, heb je een releasepipeline nodig die is gebouwd met behulp van de sjabloon Run automated tests from the Test Manager. Als je al een releasepipeline hebt gebouwd met deze sjabloon, selecteer deze dan en kies de stage in de pipeline waarin de tests worden uitgevoerd. Anders selecteer je de optie ‘Een nieuwe koppeling maken’ om een nieuwe releasepipeline te maken met slechts één stage en de Visual Studio Test-taak al in het dialoogvenster opgenomen.
  • Geef indien nodig de releasepipeline en stage zinvolle namen.
  • Je moet de Visual Studio Test Platform installeren op de agentcomputer. Je kunt deze stap overslaan als je Visual Studio al op de agent-pc hebt geïnstalleerd. Als dat niet het geval is, moet je de taak Visual Studio Test Platform Installer toevoegen aan het ontwerp van je pipeline.
  • Voeg de Visual Studio Test-taak toe en configureer deze in de releasepipeline.

Hier zijn de stappen die je kunt volgen:

  • Het versienummer van het taakinstellingenpaneel wordt weergegeven in de vervolgkeuzelijst linksboven.
  • Zorg ervoor dat je de optie ‘Test run’ selecteert in de sectie ‘Tests selecteren met behulp van’.
  • Kies ‘Installed by Tools Installer’ voor de selectie van de versie van Testplatform.
  • Zorg ervoor dat de agent is ingesteld om te werken als een interactief proces met automatisch inloggen ingeschakeld als je UI-tests uitvoert met fysieke browsers. Voordat je een build of release in de wachtrij plaatst, moet je eerst een interactieve agent instellen.
  • De configuratie van het interactieve proces is niet nodig bij het uitvoeren van UI-tests op een headless browser.
  • Kies hoe het testplatform wordt geleverd, de versie van Visual Studio en de plaatsing van het testplatform op de testmachines.
  • Selecteer de juiste instellingen om het bestand uit de buildartefacten te halen als je tests inputparameters nodig hebben zoals app-URL’s of databaseverbindingssnaren. Als je het instellingsbestand niet opneemt in de artefacten, kun je de taak ‘Buildartefacten publiceren’ gebruiken in je buildproces om het op een drop-plaats te publiceren. De applicatie-URL is beschikbaar in het runinstellingsbestand in het voorbeeld hieronder. Je kunt dit overschrijven door de instelling ‘Override test run parameters’ toe te passen om het in te stellen op een staging-URL.
  • Selecteer het item Agent job en controleer of de implementatiewachtrij zich bevindt op degene die de machines bevat waarop de tests worden uitgevoerd.
  • Controleer op de pagina ‘Pipeline’ van de releasepipeline of het buildpipeline dat de testbinaries bevat, is gekoppeld aan de releasepipeline als een artefactbron.
  • Je moet de releasepipeline opslaan.
  • Keer terug naar de browserpagina met je testplaninstellingen als je een nieuwe hebt aangemaakt in het dialoogvenster Test plan instellingen in stap 2 van dit voorbeeld. Selecteer de releasepipeline en stage die je zojuist hebt opgeslagen in het venster Test plan instellingen.

Het Uitvoeren van Geautomatiseerde Tests

Om de geautomatiseerde tests uit te voeren met Azure DevOps, volg je de onderstaande stappen:

  • Open het testplan op de Test Plans-website en kies een testsuite die de geautomatiseerde tests bevat.
  • Kies ‘Test uitvoeren’ uit het menu ‘Uitvoeren’ nadat je de test(s) hebt geselecteerd die je wilt uitvoeren.
  • Kies ‘OK’ om het testproces te starten. Het systeem controleert de stage om ervoor te zorgen dat de Visual Studio Test-taak aanwezig is en geldige parameters heeft, controleert de toestemming van de gebruiker om een release te maken voor de gekozen releasepipeline, maakt een testrun en start ten slotte de creatie van een release naar de geselecteerde stage.
  • Kies ‘Bekijk testruns’ om de voortgang te bekijken en de mislukte tests te onderzoeken. De foutmelding, console-logs, stacktrace en bijlagen worden allemaal weergegeven in de testresultaten, die je kunt gebruiken om mislukte tests te debuggen.
  • Zodra de testuitvoering is voltooid, verschijnen de testresultaten op het tabblad ‘Runs’ van de Azure Test Plans. De Run-summary pagina geeft een overzicht van de run. Bovendien is er een link naar de release die werd gebruikt om de tests uit te voeren, waardoor het gemakkelijk is om de release te vinden die de tests heeft uitgevoerd als je later de bevindingen wilt analyseren. Je kunt ook deze link gebruiken om de release te openen en de release-logs te bekijken.
  • De resultaten voor elke test in de testrun verschijnen op de pagina ‘Testresultaten’. Voor falende tests kun je een test selecteren om debuginformatie te zien, zoals de foutmelding, stacktrace, console-logs en bijlagen.
  • Als je tests wijzigen na de testuitvoering, ga dan naar het tabblad ‘Testplannen’ en selecteer het testplan om de status van je tests te bekijken. Selecteer een test om de meest recente testresultaten te krijgen.

Veelgestelde vragen

Q1: Waarom voer je tests uit in release-stages?

A1: Azure Pipelines biedt een effectieve orchestratiemethodologie om testbinaries als artefacten te ontvangen en tests uit te voeren. Deze workflow maakt gebruik van dezelfde concepten als de geplande testworkflow, waardoor het eenvoudig aan te passen is voor gebruikers die al tests uitvoeren in de verwachte workflow. Bijvoorbeeld door een bestaande geplande testrelease-pipeline te klonen.

Een ander belangrijk voordeel is het uitgebreide aantal taken in de taakcatalogus, waarmee verschillende bewerkingen vóór en na het uitvoeren van tests kunnen worden uitgevoerd. Voorbeelden hiervan zijn het voorbereiden en opruimen van testgegevens, het genereren en opruimen van configuratiebestanden en andere taken.

Q2: Hoe werkt de optie “Test run” van taak Visual Studio Test versie 2?

A2: Het testrun-object wordt door het Testmanagement-subsysteem gebruikt om de lijst van tests door te geven die zijn geselecteerd voor uitvoering.

De testtaak zoekt naar de testrunidentificatie, haalt testuitvoeringsinformatie op zoals container- en testmethode-namen, voert de tests uit, werkt de resultaten van de testrun bij en kent testpunten toe aan de testresultaten in de testrun.

De Visual Studio-taak biedt een trace van eerdere releases en testrun-identificaties naar de tests die zijn ingediend voor on-demand testuitvoering vanuit een auditstandpunt.

Q3: Is het beter om de agent in interactieve modus of als een service te laten werken?

A3: Om de agent in staat te stellen een webbrowser te starten bij het uitvoeren van UI-tests zoals gecodeerde UI- of Selenium-tests, moet de agent op de testmachines in interactieve modus draaien met automatisch aanmelden ingeschakeld, niet als een service.

De agent kan worden gebruikt als een service of in interactieve modus als je een headless browser zoals PhantomJS gebruikt. Zie Agent-pools, Een agent implementeren op Windows en Build- en release-agents.

Q4: Ik heb al een testrelease-pipeline op zijn plaats. Is het mogelijk om dezelfde pipeline te gebruiken voor on-demand testen, of moet ik een nieuwe pipeline ontwerpen zoals hierboven beschreven?

A4: Voor on-demand geautomatiseerd testen raden we aan om een andere release-pipeline en stage te gebruiken dan Azure Test Plans, omdat:

  • Je wilt mogelijk de app niet elke keer implementeren wanneer je een paar on-demand tests wilt uitvoeren. In plaats daarvan is de standaardconfiguratie voor geplande teststages om het product te installeren en tests uit te voeren.
  • Voor elke on-demand run worden nieuwe releases getriggerd. Als een groot aantal testers dagelijks een paar on-demand testruns uitvoert, kan je geplande testrelease-pipeline overbelast raken. Het kan ook moeilijk zijn om releases te vinden die zijn getriggerd voor de pipeline die geplande tests en implementatie naar productie omvat.
  • Je wilt mogelijk een Test run-identificatie gebruiken als invoer voor de Visual Studio Test-taak, zodat je kunt achterhalen wat de release heeft veroorzaakt.

Q5: Mijn team heeft verschillende testers. Kunnen ze dezelfde release-pipeline gebruiken om tests uit verschillende testsuites of testplannen parallel uit te voeren?

A5: Ze kunnen dezelfde release-pipeline gebruiken om meerdere tests parallel uit te voeren als aan de volgende voorwaarden is voldaan:

  • Het agentenpool van het stage bevat voldoende agents om meerdere verzoeken tegelijkertijd af te handelen. Je kunt nog steeds de runs starten als er niet genoeg agents beschikbaar zijn. Releases zullen echter in de wachtrij staan ​​voor verwerking totdat er meer agents beschikbaar zijn.
  • Je hebt voldoende jobs om gelijktijdig werk mogelijk te maken. Raadpleeg Azure Pipelines of TFS voor meer details over parallelle jobs.
  • Afhankelijk van de uitvoervolgorde kun je niet dezelfde tests tegelijkertijd uitvoeren. Dit kan de huidige resultaten overschrijven.
  • Je moet de triggeroptie voor het podium van Pipelines instellen voor het gedrag wanneer er meerdere releases wachten om te worden geïmplementeerd, zoals hierboven beschreven, om meerdere verschillende testruns parallel te laten uitvoeren.

Conclusie

Al met al is Azure DevOps een van de nieuwere aanbiedingen van Azure waarmee ontwikkelingsteams kunnen samenwerken en hun opdrachten en releases kunnen beheren.

En nu heb je ongetwijfeld veel geleerd over Azure DevOps op een gedetailleerde manier; je kunt het nu aan iedereen uitleggen en de Azure DevOps-services zelf gaan gebruiken!

Azure DevOps en het cloud-ecosysteem zijn een dynamisch en evoluerend gebied. Zorg ervoor dat je op de hoogte blijft van de nieuwste ontwikkelingen in Azure DevOps die binnenkort zullen verschijnen.

Similar Posts