Handige BDD: SpecFlow+TFS

Er zijn veel artikelen op internet over het gebruik van SpecFlow en het configureren van TFS om tests uit te voeren, maar er is er niet één die alle aspecten bevat. In dit artikel vertel ik u hoe u het starten en bewerken van SpecFlow-scripts voor iedereen gemakkelijk kunt maken.

Onder de snit leer je hoe je het volgende kunt krijgen:

  • Tests uitvoeren van TFS
  • Automatische koppeling van scripts aan testcases in TFS
  • Altijd actuele inhoud van testgevallen in TFS
  • Mogelijkheid om scripts rechtstreeks in het versiebeheersysteem door testers te bewerken
    Handige BDD: SpecFlow+TFS

prehistorie

We werden geconfronteerd met de taak om het testen van applicaties te automatiseren met behulp van de BDD-aanpak. Omdat de basis van het taakvolgsysteem in ons bedrijf TFS is, had ik een beeld in mijn hoofd waarin de stappen van het SpecFlow-script de stappen zijn van testgevallen in TFS, en tests worden gestart vanuit testplannen. Hieronder ziet u hoe ik het heb geïmplementeerd.

Wat we nodig hebben:

  1. Project met tests op SpecFlow
  2. Azure DevOps Server (ook bekend als Team Foundation Server)
  3. Een tool voor het synchroniseren van SpecFlow-scripts met testcases in TFS

afstelling

1. Een projectbuild maken met tests

Alles is hier eenvoudig, montage en publicatie van artefacten. Over de derde taak later meer.

Handige BDD: SpecFlow+TFS

2. Een release aanmaken om tests uit te voeren

Een release maken met één taak: Visual Studio Test

Handige BDD: SpecFlow+TFS

In dit geval is de taak geconfigureerd om tests handmatig uit te voeren vanuit het testplan

Handige BDD: SpecFlow+TFS

3. Synchronisatie van testgevallen

We weten dat je met Visual Studio testmethoden kunt koppelen aan testcases in TFS en deze kunt uitvoeren vanuit testplannen. Om dit niet handmatig te doen, en ook om de inhoud van de scripts te synchroniseren, heb ik een eenvoudige consoleapplicatie geschreven FunctieSync. Het principe is eenvoudig: we parseren het featurebestand en updaten de testcases met behulp van de TFS API.

Hoe FeatureSync te gebruiken

Voeg naamruimte en landinstelling toe aan de header van het featurebestand:

#language:en
@Namespace:Application.Autotests
Feature: Log to application

*namespace moet overeenkomen met de naam van het .dll-bestand dat de testmethoden bevat

We maken lege testgevallen in TFS en voegen tags met hun ID toe aan de scripts:

Handige BDD: SpecFlow+TFS

@2124573 @posistive
Scenario: Successful authorization
    Given I on authorization page
    And I enter:
        | Login | Password |
        | user  | pass     |
    When I press Login button
    Then Browser redirect on Home page

FunctieSync starten:

FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba

In ons geval vindt de lancering plaats na het bouwen van het project met tests:

Handige BDD: SpecFlow+TFS

Synchronisatieresultaat

SpecFlow-scriptstappen worden gesynchroniseerd en de automatiseringsstatus wordt ingesteld

Handige BDD: SpecFlow+TFS

Handige BDD: SpecFlow+TFS

4. Opstellen van een testplan

We maken een testplan, voegen daar onze geautomatiseerde cases aan toe, selecteren build en release in de instellingen

Handige BDD: SpecFlow+TFS

Handige BDD: SpecFlow+TFS

5. Testen uitvoeren

Selecteer de gewenste test in het testplan en voer deze uit.

Handige BDD: SpecFlow+TFS

Conclusie

De voordelen van deze configuratie:

  • elke tester kan het fetaure-bestand openen in het versiebeheer-webformulier, het bewerken en de wijzigingen worden onmiddellijk na de build van kracht
  • u kunt op elk moment tests individueel uitvoeren
  • transparant testmodel - we weten altijd wat de door ons gelanceerde test doet.

Bron: www.habr.com

Voeg een reactie