Benutzerfreundliches BDD: SpecFlow+TFS

Im Netz gibt es viele Artikel darĂŒber, wie man SpecFlow nutzt und TFS fĂŒr TestausfĂŒhrungen einrichtet, aber keinen, der alle Aspekte abdeckt. In diesem Artikel erklĂ€re ich, wie Sie das Starten und Bearbeiten von SpecFlow-Szenarien fĂŒr alle Benutzer komfortabel gestalten können.

Unter dem Link erfahren Sie, wie Sie Folgendes erhalten:

  • Tests aus TFS starten
  • Automatische VerknĂŒpfung von Szenarien mit TestfĂ€llen in TFS
  • Immer aktuelle Inhalte der TestfĂ€lle in TFS
  • Möglichkeit, Szenarien direkt im Versionskontrollsystem von Testern zu bearbeiten
    Benutzerfreundliches BDD: SpecFlow+TFS

Hintergrund

Wir standen vor der Herausforderung, das Testen einer Anwendung mit dem BDD-Ansatz zu automatisieren. Da TFS das zentrale Task-Tracking-System in unserem Unternehmen ist, hatte ich die Vorstellung, dass die Schritte der SpecFlow-Szenarien die Schritte der TestfÀlle in TFS darstellen und die Tests aus den TestplÀnen gestartet werden. Im Folgenden erklÀre ich, wie ich das umgesetzt habe.

Was wir benötigen:

  1. Ein Projekt mit Tests in SpecFlow
  2. Azure DevOps Server (auch bekannt als Team Foundation Server)
  3. Ein Tool zur Synchronisierung von SpecFlow-Szenarien mit TestfÀllen in TFS

Konfiguration

1. Erstellung eines Builds fĂŒr das Testprojekt

Hier ist alles einfach, Build und Veröffentlichung der Artefakte. Über die dritte Aufgabe spĂ€ter mehr.

Benutzerfreundliches BDD: SpecFlow+TFS

2. Erstellung eines Releases zum Starten der Tests

Wir erstellen ein Release mit einer Aufgabe – Visual Studio Test

Benutzerfreundliches BDD: SpecFlow+TFS

In diesem Fall ist die Aufgabe so konfiguriert, dass Tests manuell aus dem Testplan gestartet werden.

Benutzerfreundliches BDD: SpecFlow+TFS

3. Synchronisierung der TestfÀlle

Wir wissen, dass Visual Studio es ermöglicht, Testmethoden mit TestfĂ€llen in TFS zu verknĂŒpfen und sie aus TestplĂ€nen auszufĂŒhren. Um dies nicht manuell durchfĂŒhren zu mĂŒssen und um die Inhalte der Szenarien zu synchronisieren, habe ich eine einfache Konsolenanwendung geschrieben. FeatureSync. Das Prinzip ist einfach – wir parsen die Feature-Datei und aktualisieren die TestfĂ€lle ĂŒber die TFS-API.

So verwenden Sie FeatureSync

FĂŒgen Sie den Namespace und die Locale in den Header der Feature-Datei ein:

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

*Der Namespace muss mit dem Namen der .dll-Datei ĂŒbereinstimmen, in der sich die Test-Methoden befinden

Erstellen Sie leere TestfĂ€lle in TFS und fĂŒgen Sie Tags mit ihren IDs zu den Szenarien hinzu:

Benutzerfreundliches BDD: SpecFlow+TFS

@2124573 @positiv
Szenario: Erfolgreiche Authentifizierung
    Gegeben sei ich auf der Authentifizierungsseite
    Und ich gebe ein:
        | Login | Passwort |
        | benutzer | passwort |
    Wenn ich die SchaltflĂ€che Login drĂŒcke
    Dann wird der Browser zur Startseite weitergeleitet

Starten Sie FeatureSync:

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

In unserem Fall erfolgt der Start nach dem Erstellen des Projekts mit den Tests:

Benutzerfreundliches BDD: SpecFlow+TFS

Ergebnis der Synchronisierung

Die Schritte des SpecFlow-Szenarios wurden synchronisiert und der Status Automation wurde festgelegt.

Benutzerfreundliches BDD: SpecFlow+TFS

Benutzerfreundliches BDD: SpecFlow+TFS

4. Konfiguration des Testplans

Wir erstellen einen Testplan, fĂŒgen unsere automatisierten Tests hinzu und wĂ€hlen in den Einstellungen den Build und die Version aus.

Benutzerfreundliches BDD: SpecFlow+TFS

Benutzerfreundliches BDD: SpecFlow+TFS

5. Tests starten

Wir wÀhlen den benötigten Test im Testplan aus und starten ihn.

Benutzerfreundliches BDD: SpecFlow+TFS

Fazit

Vorteile dieser Konfiguration:

  • jeder Tester kann die Feature-Datei im Web-Interface der Versionskontrolle öffnen, bearbeiten und die Änderungen treten sofort nach dem Build in Kraft.
  • Tests können jederzeit einzeln gestartet werden.
  • Transparente Testmodell – wir wissen stets, was der Test, den wir gestartet haben, tut.

Quelle: habr.com

ZuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen đŸ”„ ZuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster