Run automated tests from test plans (Automatische tests uitvoeren vanuit testplannen)

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Automatiseer testcases in uw testplannen en voer ze rechtstreeks vanuit Azure Test Plans uit. Geautomatiseerde tests bieden u de volgende voordelen:

  • Een gebruiksvriendelijk proces voor testers die mogelijk niet goed vertrouwd zijn met het uitvoeren van tests in build- of releasewerkstromen.
  • De flexibiliteit om geselecteerde tests op aanvraag uit te voeren, in plaats van geplande tests in build- of releasewerkstromen waarin alle tests die voldoen aan de filtercriteria worden uitgevoerd.
  • De mogelijkheid om een aantal tests opnieuw uit te voeren die zijn mislukt vanwege problemen met de testinfrastructuur, of u hebt een nieuwe build met fixes voor mislukte tests.

Vereisten

  • U moet verbinding maken met een project. Als u nog geen project hebt, maakt u er een.
  • U moet worden toegevoegd aan een project. Als u wilt toevoegen, voegt u gebruikers toe aan een project of team.
  • Als u handmatige of geautomatiseerde tests wilt weergeven of uitvoeren, moet u basic-toegang of hoger hebben.

Zie Handmatige testtoegang en -machtigingen voor meer informatie.

Uw omgeving instellen

  1. Kies uw testplan op de pagina Testplannen , open het snelmenu en selecteer vervolgens Testplaninstellingen.

    Schermopname van het kiezen van testplaninstellingen.

  2. Selecteer in het dialoogvenster Testplaninstellingen de build-pijplijn waarmee builds worden gegenereerd die de binaire testbestanden bevatten. U kunt vervolgens een specifiek buildnummer selecteren dat u wilt testen of het systeem automatisch de meest recente build laten gebruiken wanneer tests worden uitgevoerd.

    Schermopname van het selecteren van het build- en buildnummer.

  3. U hebt een release-pijplijn nodig die is gemaakt op basis van geautomatiseerde tests uitvoeren vanuit de testbeheersjabloon om tests uit testplannen in Azure Test Plans uit te voeren. Als u een bestaande release-pijplijn hebt gemaakt met behulp van deze sjabloon, selecteert u deze en selecteert u vervolgens de bestaande fase in de release-pijplijn voor de testuitvoering. Selecteer anders Nieuw maken in het dialoogvenster om een nieuwe release-pijplijn te maken die één fase bevat met de Visual Studio Test-taak die al is toegevoegd.

    Schermopname van het selecteren van een release-pijplijn of het maken van een nieuwe pijplijn.

    Hoe kan ik parameters doorgeven aan mijn testcode vanuit een build- of release-pijplijn?

  4. Wijs naar behoefte betekenisvolle namen toe aan de release-pijplijn en fase.

  5. Als Visual Studio al op de agentcomputer is geïnstalleerd, slaat u deze stap over. Zo niet, voegt u de installatietaak van het Visual Studio Test Platform toe aan de pijplijndefinitie.

  6. Voeg de Visual Studio Test-taak toe aan de release-pijplijn en configureer deze als volgt:

    • Controleer of versie 2 van de Visual Studio-testtaak is geselecteerd. Het versienummer wordt weergegeven in de vervolgkeuzelijst van het deelvenster Taakinstellingen.

      Schermopname van het controleren van de instelling voor het versienummer van de taak.

    • Controleer of Tests selecteren die worden gebruikt, is ingesteld op Testuitvoering. Wat betekent deze instelling?

      Schermopname van het controleren van de instelling voor de testselectiemethode.

    • Selecteer Voor de instelling voor de testplatformversie de optie Geïnstalleerd door hulpprogramma's.

      Schermopname van het instellen van de installatieoptie.

    • Als u UI-tests hebt die worden uitgevoerd op fysieke browsers of dikke clients, moet u ervoor zorgen dat de agent is ingesteld op uitvoeren als een interactief proces waarbij automatisch aanmelden is ingeschakeld. U moet een agent instellen om interactief uit te voeren voordat u de build of release in de wachtrij zet. Het selectievakje Test bevat UI-tests en configureert de agent niet automatisch in de interactieve modus. Deze wordt alleen gebruikt als herinnering om de agent op de juiste manier te configureren om fouten te voorkomen.

    • Als u UI-tests uitvoert in een headless browser, is de interactieve procesconfiguratie niet vereist.

    • Selecteer hoe het testplatform wordt ingericht en de versie van Visual Studio of de locatie van het testplatform dat op de testmachines is geïnstalleerd.

    • Als uw tests invoerparameters nodig hebben, zoals app-URL's of database-verbindingsreeks s, selecteert u het relevante instellingenbestand uit de buildartefacten. U kunt de taken buildartefacten publiceren in uw build-pijplijn gebruiken om het instellingenbestand op een drop-locatie te publiceren als dit bestand niet is opgenomen in de artefacten. In het volgende voorbeeld wordt de toepassings-URL weergegeven in het bestand met uitvoeringsinstellingen en wordt deze overschreven om deze in te stellen op een faserings-URL met behulp van de instelling Parameters voor testuitvoering overschrijven.

      Schermopname van het opgeven van de eigenschappen voor de Visual Studio Test-taak.

      Zie de Visual Studio Test-taak voor meer informatie over de optie-instellingen van de Visual Studio Test-taak.

  7. Kies het taakitem Agent en controleer of de implementatiewachtrij is ingesteld op de wachtrij met de machines waarop u de tests wilt uitvoeren. Als voor uw tests speciale machines uit de agentgroep zijn vereist, kunt u eisen toevoegen die tijdens runtime worden geselecteerd.

    Schermopname van het opgeven van de eigenschappen voor de agenttaak.

    Mogelijk kunt u testtijden minimaliseren door tests over meerdere agents te distribueren door Parallellisme in te stellen op Meerdere uitvoeringen en het aantal agents op te geven.

    Notitie

    Als u UI-tests zoals CodeUI of Selenium uitvoert op fysieke browsers zoals IE, Firefox of Chrome, moet de agent op de computers worden uitgevoerd in de interactieve modus en niet als een service. Meer informatie.

  8. Controleer op de pagina Pijplijn van de release-pijplijn of de build-pijplijn met de binaire testbestanden als artefactbron is gekoppeld aan deze release-pijplijn.

    Schermopname van het controleren van de gekoppelde buildartefacten.

  9. Sla de release-pijplijn op .

  10. Als u in stap 2 van dit voorbeeld nieuwe maken hebt gekozen in het dialoogvenster Planinstellingen testen, gaat u terug naar de browserpagina met de instellingen van uw testplan. Selecteer in het dialoogvenster Testplaninstellingen de release-pijplijn en fase die u hebt opgeslagen.

    Schermopname van het selecteren van de release-pijplijn en fase.

De geautomatiseerde tests uitvoeren

  1. Open in de webportal Testplannen het testplan en selecteer een testpakket dat de geautomatiseerde tests bevat.

  2. Selecteer de test(en) die u wilt uitvoeren, open het menu Uitvoeren en selecteer vervolgens Test uitvoeren.

    Schermopname van het selecteren van De test uitvoeren.

    De binaire testbestanden voor deze tests moeten beschikbaar zijn in de buildartefacten die zijn gegenereerd door uw build-pijplijn.

  3. Selecteer OK om het testproces te starten. Het systeem controleert of alleen geautomatiseerde tests worden geselecteerd (handmatige tests worden genegeerd), valideert de fase om ervoor te zorgen dat de Visual Studio Test-taak aanwezig is en geldige instellingen heeft, controleert de machtiging van de gebruiker om een release te maken voor de geselecteerde releasepijplijn, maakt een testuitvoering en activeert vervolgens het maken van een release naar de geselecteerde fase.

    Schermopname van het starten van de testuitvoering.

  4. Selecteer Testuitvoering weergeven om de voortgang van de test weer te geven en de mislukte tests te analyseren. Testresultaten bevatten de relevante informatie voor foutopsporing van mislukte tests, zoals het foutbericht, stacktracering, consolelogboeken en bijlagen.

  5. Nadat de testuitvoering is voltooid, worden op de pagina Uitvoeringen van de Azure-testplannen de testresultaten weergegeven. Op de overzichtspagina Uitvoeren ziet u een overzicht van de uitvoering.

    Schermopname van de samenvatting van de testuitvoering.

    Er is een koppeling naar de release die wordt gebruikt om de tests uit te voeren, waardoor u eenvoudig de release kunt vinden die de tests heeft uitgevoerd als u later terug moet komen en de resultaten moet analyseren. Gebruik deze koppeling ook als u de release wilt openen om de releaselogboeken weer te geven.

Notitie

Handmatige bijlage van bestanden wordt niet ondersteund voor geautomatiseerde testresultaten.

Wat zijn de typische foutscenario's of problemen waar ik op moet letten als mijn tests niet worden uitgevoerd?

  1. De pagina Testresultaten bevat de resultaten voor elke test in de testuitvoering. Selecteer een test om foutopsporingsgegevens voor mislukte tests weer te geven, zoals het foutbericht, stacktracering, consolelogboeken en bijlagen.

    Schermopname van het weergeven van de details van de testresultaten.

  2. Open de pagina Testplannen en selecteer het testplan om de status van uw tests te zien als de tests zijn bijgewerkt nadat de testuitvoering is voltooid. Selecteer een test om de recente testresultaten te bekijken.

    Schermopname van het weergeven van het testplan.

Veelgestelde vragen

Zie de volgende veelgestelde vragen over Azure Test Plans.

V: Welke machtigingen heb ik nodig om geautomatiseerde tests uit te voeren vanuit Azure Test Plans?

A: U moet een projectbijdrager zijn of de volgende machtigingen hebben:

  • Releases maken
  • Releases beheren
  • Releasefase bewerken
  • Implementatie beheren

Zie Machtigingen instellen voor releasepijplijnen en releasemachtigingen voor meer informatie.

V: Kan ik de build of fase die is ingesteld op het niveau van het testplan overschrijven voor een specifiek exemplaar van de testuitvoering?

A: Ja, u kunt dit doen met de opdracht Uitvoeren met opties . Open het snelmenu voor het testpakket in de linkerkolom en selecteer Uitvoeren met opties.

Schermopname van het configureren van het dialoogvenster Uitvoeren met opties.

Voer de volgende waarden in het dialoogvenster Uitvoeren met opties in en selecteer VERVOLGENS OK:

  • Testtype en runner: Selecteer geautomatiseerde tests met releasefase.
  • Build: Selecteer de build met de binaire testbestanden. De testresultaten zijn gekoppeld aan deze build.
  • Release-pijplijn: Selecteer een pijplijn in de lijst met release-pijplijnen die het geselecteerde build-artefact kunnen gebruiken.
  • Releasefase: selecteer de naam van de fase die is geconfigureerd in uw release-pijplijn.

Schermopname van het geconfigureerde dialoogvenster Uitvoeren met opties.

V: Waarom releasefasen gebruiken om tests uit te voeren?

A: Azure Pipelines biedt een aantrekkelijke indelingswerkstroom voor het verkrijgen van binaire testbestanden als artefacten en het uitvoeren van tests. Deze werkstroom deelt dezelfde concepten die worden gebruikt in de geplande testwerkstroom, wat betekent dat gebruikers die tests uitvoeren in de geplande werkstroom eenvoudig kunnen worden aangepast; Bijvoorbeeld door een bestaande geplande releasepijplijn voor testen te klonen.

Een ander belangrijk voordeel is de beschikbaarheid van een uitgebreide set taken in de taakcatalogus waarmee een reeks activiteiten kan worden uitgevoerd voor en na het uitvoeren van tests. Voorbeelden hiervan zijn het voorbereiden en opschonen van testgegevens, het maken en opschonen van configuratiebestanden en meer.

V: Hoe werkt het selecteren van 'Testuitvoering' in de Visual Studio Test-taak versie 2?

A: Het subsysteem Testbeheer gebruikt het testuitvoeringsobject om de lijst met tests door te geven die zijn geselecteerd voor uitvoering. De testtaak zoekt de testuitvoerings-id op, extraheert de testuitvoeringsgegevens, zoals de namen van de container- en testmethode, voert de tests uit, werkt de resultaten van de testuitvoering bij en stelt de testpunten in die zijn gekoppeld aan de testresultaten in de testuitvoering. Vanuit een controleperspectief biedt de Visual Studio-taak een tracering van de historische releases en de testuitvoerings-id's voor de tests die zijn verzonden voor testuitvoering op aanvraag.

V: Moet de agent worden uitgevoerd in de interactieve modus of als een service?

A: Als u UI-tests uitvoert, zoals gecodeerde UI - of Selenium-tests , moet de agent op de testmachines worden uitgevoerd in de interactieve modus waarvoor autologon is ingeschakeld, niet als een service, zodat de agent een webbrowser kan starten. Als u een headless browser zoals PhantomJS gebruikt, kan de agent worden uitgevoerd als een service of in de interactieve modus. Zie Build- en releaseagents, Implementeer een agent in Windows en Agent-pools voor meer informatie.

V: Waar vind ik gedetailleerde documentatie over het uitvoeren van Selenium-tests?

A: Zie Aan de slag met Selenium-tests.

V: Wat gebeurt er als ik meerdere configuraties voor dezelfde test selecteer?

A: Momenteel is de werkstroom op aanvraag niet configuratiebewust.

V: Wat moet ik doen als ik binaire productbestanden moet downloaden en binaire bestanden uit verschillende builds moet testen? Of als ik artefacten moet ophalen uit een bron zoals Jenkins?

A: De huidige mogelijkheid is geoptimaliseerd voor één teambuild die op aanvraag kan worden getest met behulp van een Azure Pipelines-werkstroom. We evalueren ondersteuning voor releases met meerdere artefacten, waaronder niet-Azure Pipelines-artefacten zoals Jenkins, op basis van feedback van gebruikers.

V: Ik heb al een geplande release-pijplijn voor testen. Kan ik dezelfde pijplijn opnieuw gebruiken om een test op aanvraag uit te voeren of moet ik een nieuwe pijplijn maken?

A: U wordt aangeraden een afzonderlijke release-pijplijn en fase te gebruiken voor geautomatiseerde tests op aanvraag vanuit Azure-testplannen, omdat:

  • Mogelijk wilt u de app niet elke keer implementeren wanneer u een paar tests op aanvraag wilt uitvoeren. Geplande testfasen zijn doorgaans ingesteld om het product te implementeren en vervolgens tests uit te voeren.

  • Nieuwe releases worden geactiveerd voor elke uitvoering op aanvraag. Als u elke dag veel testers hebt die een paar testuitvoeringen op aanvraag uitvoeren, kan uw geplande releasepijplijn voor tests overbelast raken met releases voor deze uitvoeringen, waardoor het lastig is om releases te vinden die worden geactiveerd voor de pijplijn die geplande tests en implementaties bevat naar productie.

  • U kunt de Visual Studio Test-taak configureren met een testuitvoerings-id als invoer, zodat u kunt traceren wat de release heeft geactiveerd. Zie Hoe werkt het selecteren van 'Testuitvoering (voor uitvoeringen op aanvraag)' in de Visual Studio Test-taak? voor meer informatie.

V: Kan ik deze uitvoeringen activeren en de resultaten bekijken in Microsoft Test Manager?

A: Nee. Microsoft Test Manager biedt geen ondersteuning voor het uitvoeren van geautomatiseerde tests voor Team Foundation-builds. Het werkt alleen in de webinterface voor Azure Pipelines. Alle nieuwe investeringen in de productontwikkeling van handmatige en geautomatiseerde tests bevinden zich in de webinterface. Er is geen verdere ontwikkeling gepland voor Microsoft Test Manager. Zie Richtlijnen voor het gebruik van Microsoft Test Manager.

V: Ik heb meerdere testers in mijn team. Kunnen ze tests uitvoeren vanuit verschillende testsuites of testplannen parallel met behulp van dezelfde release-pijplijn?

A: Ze kunnen dezelfde releasepijplijn gebruiken om meerdere testuitvoeringen parallel te activeren als:

  • De agentgroep die aan de fase is gekoppeld, heeft voldoende agents om te voldoen aan parallelle aanvragen. Als er niet voldoende agents beschikbaar zijn, kunnen uitvoeringen nog steeds worden geactiveerd, maar worden wachtrijen voor verwerking uitgebracht totdat agents beschikbaar zijn.

  • U hebt voldoende taken om parallelle taken in te schakelen. Zie Parallelle taken in Azure Pipelines of Parallelle taken in TFS voor meer informatie.

  • Testers voeren niet dezelfde tests parallel uit. Als u dit doet, kunnen resultaten worden overschreven, afhankelijk van de volgorde van de uitvoering.

Als u meerdere verschillende testuitvoeringen parallel wilt uitvoeren, stelt u de triggeroptie voor de Azure Pipelines-fase in op gedrag wanneer meerdere releases als volgt moeten worden geïmplementeerd :

  • Als uw toepassing tests ondersteunt die parallel worden uitgevoerd vanuit verschillende bronnen, stelt u deze optie in op Toestaan dat meerdere releases tegelijkertijd worden geïmplementeerd.

  • Als uw toepassing geen ondersteuning biedt voor tests die parallel worden uitgevoerd vanuit verschillende bronnen, stelt u deze optie in op Slechts één actieve implementatie tegelijk toestaan.

V: Hoe kan ik parameters doorgeven aan mijn testcode vanuit een build- of release-pijplijn?

A: Gebruik een runettings-bestand om waarden als parameters door te geven aan uw testcode. In een release met verschillende fasen kunt u bijvoorbeeld de juiste app-URL doorgeven aan elke testtaken in elke fase. Het runettings-bestand en overeenkomende parameters moeten worden opgegeven in de Visual Studio-testtaak.

Schermopname van het doorgeven van parameters voor het testen van code vanuit een build- of release-pijplijn.

V: Wat zijn de typische foutscenario's of problemen waar ik op moet letten als mijn tests niet worden uitgevoerd?

A: Controleer en los problemen als volgt op:

  • De release-pijplijn en fase waarin ik tests wil uitvoeren, worden niet weergegeven nadat ik de build heb geselecteerd.

    • Zorg ervoor dat de build-pijplijn die de build genereert, is gekoppeld als het primaire artefact op het tabblad Artefacten van de release-pijplijn.

  • Ik krijg een foutmelding dat ik onvoldoende machtigingen heb om een release te activeren.

    • Configureer releases maken en implementatiemachtigingen beheren voor de gebruiker in het menu Beveiliging van de release-pijplijn. Zie Releasemachtigingen.

  • Ik krijg een foutmelding dat er geen geautomatiseerde tests zijn gevonden.

    • Controleer de automatiseringsstatus van de geselecteerde tests. Doe dit in het werkitem voor de testcase of gebruik de koppeling Kolomopties in Azure Test Plans om de kolom Automation-status toe te voegen aan de lijst met tests. Zie de sectie Vereisten voor meer informatie.
  • Mijn tests zijn niet uitgevoerd en ik vermoed dat de release-pijplijn onjuist is.

    • Gebruik de koppeling op de overzichtspagina Uitvoeren om toegang te krijgen tot het release-exemplaar dat wordt gebruikt om de tests uit te voeren en de releaselogboeken weer te geven.

  • Mijn tests gaan in de foutstatus of blijven 'in uitvoering' zelfs nadat de release van de fase is geactiveerd.

    • Controleer of de releasefase die u hebt geselecteerd, de juiste taak en versie heeft geselecteerd. U moet versie 2 of hoger van de Visual Studio-testtaak gebruiken. Versie 1 van de taak en de taak Functionele tests uitvoeren worden niet ondersteund.