Praktisches BDD: SpecFlow+TFS

Es gibt viele Artikel im Internet darüber, wie man SpecFlow verwendet und wie man TFS für die Ausführung von Tests konfiguriert, aber es gibt keinen, der alle Aspekte enthält. In diesem Artikel erzähle ich Ihnen, wie Sie das Starten und Bearbeiten von SpecFlow-Skripten für alle bequem gestalten können.

Unter dem Schnitt erfahren Sie, wie Sie Folgendes erhalten:

  • Ausführen von Tests von TFS
  • Automatische Verknüpfung von Skripten mit Testfällen in TFS
  • Immer aktuelle Inhalte der Testfälle in TFS
  • Möglichkeit, Skripte direkt im Versionskontrollsystem durch Tester zu bearbeiten
    Praktisches BDD: SpecFlow+TFS

Vorgeschichte

Wir standen vor der Aufgabe, Anwendungstests mithilfe des BDD-Ansatzes zu automatisieren. Da die Basis des Aufgabenverfolgungssystems in unserem Unternehmen TFS ist, hatte ich ein Bild im Kopf, bei dem die Schritte des SpecFlow-Skripts die Schritte von Testfällen in TFS sind und Tests aus Testplänen gestartet werden. Nachfolgend erfahren Sie, wie ich es implementiert habe.

Was wir brauchen:

  1. Projekt mit Tests auf SpecFlow
  2. Azure DevOps Server (auch bekannt als Team Foundation Server)
  3. Ein Tool zum Synchronisieren von SpecFlow-Skripten mit Testfällen in TFS

Einstellung

1. Erstellen eines Projektbuilds mit Tests

Hier ist alles einfach, die Zusammenstellung und Veröffentlichung von Artefakten. Mehr zur dritten Aufgabe später.

Praktisches BDD: SpecFlow+TFS

2. Erstellen einer Version zum Ausführen von Tests

Erstellen einer Veröffentlichung mit einer Aufgabe – Visual Studio Test

Praktisches BDD: SpecFlow+TFS

In diesem Fall ist die Aufgabe so konfiguriert, dass Tests manuell über den Testplan ausgeführt werden

Praktisches BDD: SpecFlow+TFS

3. Synchronisierung von Testfällen

Wir wissen, dass Sie mit Visual Studio Testmethoden mit Testfällen in TFS verknüpfen und sie über Testpläne ausführen können. Um dies nicht manuell zu erledigen und auch um den Inhalt der Skripte zu synchronisieren, habe ich eine einfache Konsolenanwendung geschrieben FeatureSync. Das Prinzip ist einfach: Wir analysieren die Feature-Datei und aktualisieren die Testfälle mithilfe der TFS-API.

So verwenden Sie FeatureSync

Fügen Sie Namespace und Locale zum Feature-Datei-Header hinzu:

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

*Namespace muss mit dem Namen der DLL-Datei übereinstimmen, die die Testmethoden enthält

Wir erstellen leere Testfälle in TFS und fügen den Skripten Tags mit ihrer ID hinzu:

Praktisches 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

Starten Sie FeatureSync:

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

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

Praktisches BDD: SpecFlow+TFS

Synchronisationsergebnis

SpecFlow-Skriptschritte werden synchronisiert und der Automatisierungsstatus wird festgelegt

Praktisches BDD: SpecFlow+TFS

Praktisches BDD: SpecFlow+TFS

4. Aufstellen eines Testplans

Wir erstellen einen Testplan, fügen unsere automatisierten Fälle hinzu und wählen in den Einstellungen Build und Release aus

Praktisches BDD: SpecFlow+TFS

Praktisches BDD: SpecFlow+TFS

5. Durchführung von Tests

Wählen Sie im Testplan den gewünschten Test aus und führen Sie ihn aus.

Praktisches BDD: SpecFlow+TFS

Abschluss

Die Vorteile dieser Konfiguration:

  • Jeder Tester kann die Fetaure-Datei im Versionskontroll-Webformular öffnen und bearbeiten. Die Änderungen werden dann sofort nach dem Build wirksam
  • Sie können Tests jederzeit einzeln durchführen
  • transparentes Testmodell – wir wissen immer, was der von uns gestartete Test bewirkt.

Source: habr.com

Kommentar hinzufügen