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
- Projecttoegang: Zorg ervoor dat u aan een project bent toegevoegd.
- Toegangsniveaus: Zorg ervoor dat u minimaal Basic-toegang of hoger hebt.
- Zie Handmatige testtoegang en machtigingen voor meer informatie.
- U moet ook de volgende items hebben.
- Een testplan dat uw geautomatiseerde tests bevat die zijn gekoppeld aan geautomatiseerde testmethoden met behulp van Visual Studio 2017 of Visual Studio 2015 of eerder.
- Een build-pijplijn waarmee builds worden gegenereerd die de binaire testbestanden bevatten.
- Een app die moet worden getest. U kunt de app implementeren als onderdeel van de build- en releasewerkstroom en deze ook gebruiken voor testen op aanvraag.
- Machtigingen voor het maken en beheren van releases, het bewerken van een releaseomgeving en het beheren van de implementatie. Zie Releasemachtigingen voor meer informatie.
Uw omgeving instellen
Kies uw testplan op de pagina Testplannen , open het snelmenu en selecteer vervolgens Testplaninstellingen.
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.
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.
Hoe kan ik parameters doorgeven aan mijn testcode vanuit een build- of release-pijplijn?
Wijs naar behoefte betekenisvolle namen toe aan de release-pijplijn en fase.
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.
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.
Controleer of Tests selecteren die worden gebruikt, is ingesteld op Testuitvoering. Wat betekent deze instelling?
Selecteer Voor de instelling voor de testplatformversie de optie Geïnstalleerd door hulpprogramma's.
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.
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.
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.
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.
Sla de release-pijplijn op .
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.
De geautomatiseerde tests uitvoeren
Open in de webportal Testplannen het testplan en selecteer een testpakket dat de geautomatiseerde tests bevat.
Selecteer de test(en) die u wilt uitvoeren, open het menu Uitvoeren en selecteer vervolgens Test uitvoeren.
De binaire testbestanden voor deze tests moeten beschikbaar zijn in de buildartefacten die zijn gegenereerd door uw build-pijplijn.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
Verwante artikelen:
- Associate automated tests with test cases (Geautomatiseerde tests koppelen aan testcases)
- Geautomatiseerde testresultaten koppelen aan vereisten
- Scenario's en mogelijkheden voor continue tests