Handige BDD: SpecFlow+TFS

Er zijn veel artikelen online over hoe SpecFlow te gebruiken en TFS in te stellen voor het uitvoeren van tests, maar geen enkele die alle aspecten behandelt. In dit artikel zal ik laten zien hoe je het starten en bewerken van SpecFlow-scenario's gebruiksvriendelijk kunt maken voor iedereen.

Onder de knip leer je hoe je kunt krijgen:

  • Tests starten vanuit TFS
  • Automatische koppeling van scenario's aan testcases in TFS
  • Altijd actuele inhoud van testcases in TFS
  • Mogelijkheid om scenario's direct in het versiebeheersysteem door testers te bewerken
    Handige BDD: SpecFlow+TFS

Achtergrond

We stonden voor de taak om het testen van de applicatie te automatiseren met behulp van de BDD-aanpak. Aangezien TFS het belangrijkste taakvolgsysteem in ons bedrijf is, kreeg ik het idee dat de stappen van een SpecFlow-scenario de stappen van testcases in TFS zijn, en dat tests vanuit testplannen worden uitgevoerd. Verder zal ik uitleggen hoe ik dit heb gerealiseerd.

Wat hebben we nodig:

  1. Project met tests in SpecFlow
  2. Azure DevOps Server (ook bekend als Team Foundation Server)
  3. Een tool om SpecFlow-scenario's te synchroniseren met testcases in TFS

Instellingen

1. Een build van het project met tests maken

Hier is het eenvoudig, bouwen en publiceren van artefacten. Over de derde taak verderop meer.

Handige BDD: SpecFlow+TFS

2. Een release maken voor het uitvoeren van tests

We creĆ«ren een release met ƩƩn taak — Visual Studio Test

Handige BDD: SpecFlow+TFS

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

Handige BDD: SpecFlow+TFS

3. Synchronisatie van testcases

We weten dat Visual Studio het mogelijk maakt om testmethoden aan testcases in TFS te koppelen en ze vanuit testplannen uit te voeren. Om dit niet handmatig te hoeven doen, en om ook de inhoud van scenario's te synchroniseren, heb ik een eenvoudige consoletoepassing geschreven FeatureSync. Het principe is eenvoudig — we parseren het featurebestand en werken via de TFS API de testcases bij.

Hoe FeatureSync te gebruiken

Voeg de namespace en locatielabel toe aan de header van het featurebestand:

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

*de namespace moet overeenkomen met de naam van het .dll-bestand waarin de testmethoden zich bevinden

Creƫer lege testcases in TFS en voeg tags met hun id's toe aan de scenario's:

Handige BDD: SpecFlow+TFS

@2124573 @positief
Scenario: Succesvolle autorisatie
    Gegeven dat ik op de autorisatiepagina ben
    En ik voer in:
        | Login | Wachtwoord |
        | gebruiker  | wachtwoord     |
    Wanneer ik de knop Aanmelden druk
    Dan wordt de browser omgeleid naar de startpagina

Voer FeatureSync uit:

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

In ons geval vindt de uitvoering plaats na de build van het project met tests:

Handige BDD: SpecFlow+TFS

Resultaat van de synchronisatie

De stappen van het SpecFlow-scenario zijn gesynchroniseerd en de status Automation is ingesteld

Handige BDD: SpecFlow+TFS

Handige BDD: SpecFlow+TFS

4. Testplan instellen

We creƫren een testplan, voegen onze geautomatiseerde cases toe, en kiezen in de instellingen de build en release

Handige BDD: SpecFlow+TFS

Handige BDD: SpecFlow+TFS

5. Testen starten

Kies de benodigde test in het testplan en start deze.

Handige BDD: SpecFlow+TFS

Conclusie

Voordelen van deze configuratie:

  • elke tester kan het feature-bestand openen in de webvorm van versiebeheer, het bewerken en de wijzigingen worden onmiddellijk na de build van kracht.
  • je kunt testen op elk moment afzonderlijk uitvoeren
  • transparant testmodel - we weten altijd wat de test die we hebben uitgevoerd doet.

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster