Βολικό BDD: SpecFlow+TFS

Υπάρχουν πολλά άρθρα στο Διαδίκτυο σχετικά με τον τρόπο χρήσης του SpecFlow, τον τρόπο διαμόρφωσης του TFS για την εκτέλεση δοκιμών, αλλά δεν υπάρχει κανένα που να περιέχει όλες τις πτυχές. Σε αυτό το άρθρο, θα σας πω πώς μπορείτε να κάνετε την εκκίνηση και την επεξεργασία σεναρίων SpecFlow βολική για όλους.

Κάτω από την περικοπή θα μάθετε πώς να αποκτήσετε:

  • Εκτέλεση δοκιμών από το TFS
  • Αυτόματη σύνδεση σεναρίων με δοκιμαστικές περιπτώσεις στο TFS
  • Πάντα ενημερωμένο περιεχόμενο των δοκιμαστικών περιπτώσεων στο TFS
  • Δυνατότητα επεξεργασίας σεναρίων απευθείας στο σύστημα ελέγχου έκδοσης από δοκιμαστές
    Βολικό BDD: SpecFlow+TFS

Ιστορικό

Βρεθήκαμε αντιμέτωποι με το καθήκον να αυτοματοποιήσουμε τη δοκιμή εφαρμογών χρησιμοποιώντας την προσέγγιση BDD. Δεδομένου ότι η βάση του συστήματος παρακολούθησης εργασιών στην εταιρεία μας είναι το TFS, είχα μια εικόνα στο μυαλό μου όπου τα βήματα του σεναρίου SpecFlow είναι τα βήματα των δοκιμαστικών περιπτώσεων στο TFS και οι δοκιμές ξεκινούν από σχέδια δοκιμών. Παρακάτω είναι πώς το υλοποίησα.

Αυτό που χρειαζόμαστε:

  1. Έργο με δοκιμές στο SpecFlow
  2. Διακομιστής Azure DevOps (γνωστός και ως διακομιστής Team Foundation)
  3. Ένα εργαλείο για το συγχρονισμό scripts SpecFlow με δοκιμαστικές περιπτώσεις στο TFS

προσαρμογή

1. Δημιουργία κατασκευής έργου με δοκιμές

Όλα είναι απλά εδώ, συναρμολόγηση και δημοσίευση αντικειμένων. Περισσότερα για την τρίτη εργασία αργότερα.

Βολικό BDD: SpecFlow+TFS

2. Δημιουργία έκδοσης για την εκτέλεση δοκιμών

Δημιουργία έκδοσης με μία εργασία - Visual Studio Test

Βολικό BDD: SpecFlow+TFS

Σε αυτήν την περίπτωση, η εργασία έχει ρυθμιστεί να εκτελεί δοκιμές με μη αυτόματο τρόπο από το σχέδιο δοκιμής

Βολικό BDD: SpecFlow+TFS

3. Συγχρονισμός δοκιμαστικών περιπτώσεων

Γνωρίζουμε ότι το Visual Studio σάς επιτρέπει να συνδέετε μεθόδους δοκιμής με δοκιμαστικές περιπτώσεις στο TFS και να τις εκτελείτε από δοκιμαστικά σχέδια. Για να μην το κάνω χειροκίνητα, αλλά και για να συγχρονίσω το περιεχόμενο των σεναρίων, έγραψα μια απλή εφαρμογή κονσόλας FeatureSync. Η αρχή είναι απλή - αναλύουμε το αρχείο χαρακτηριστικών και ενημερώνουμε τις δοκιμαστικές περιπτώσεις χρησιμοποιώντας το TFS API.

Πώς να χρησιμοποιήσετε το FeatureSync

Προσθέστε χώρο ονομάτων και τοπικές ρυθμίσεις στην κεφαλίδα του αρχείου χαρακτηριστικών:

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

*Ο χώρος ονομάτων πρέπει να ταιριάζει με το όνομα του αρχείου .dll που περιέχει τις μεθόδους δοκιμής

Δημιουργούμε κενές δοκιμαστικές περιπτώσεις στο TFS και προσθέτουμε ετικέτες με το αναγνωριστικό τους στα σενάρια:

Βολικό 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

Εκκίνηση του FeatureSync:

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

Στην περίπτωσή μας, η εκκίνηση πραγματοποιείται μετά την κατασκευή του έργου με δοκιμές:

Βολικό BDD: SpecFlow+TFS

Αποτέλεσμα συγχρονισμού

Τα βήματα δέσμης ενεργειών SpecFlow συγχρονίζονται και έχει οριστεί η κατάσταση αυτοματισμού

Βολικό BDD: SpecFlow+TFS

Βολικό BDD: SpecFlow+TFS

4. Δημιουργία σχεδίου δοκιμής

Δημιουργούμε ένα δοκιμαστικό σχέδιο, προσθέτουμε τις αυτοματοποιημένες θήκες μας σε αυτό, επιλέγουμε τη δημιουργία και την κυκλοφορία στις ρυθμίσεις

Βολικό BDD: SpecFlow+TFS

Βολικό BDD: SpecFlow+TFS

5. Τρέξιμο τεστ

Επιλέξτε την απαιτούμενη δοκιμή στο σχέδιο δοκιμής και εκτελέστε την.

Βολικό BDD: SpecFlow+TFS

Συμπέρασμα

Τα πλεονεκτήματα αυτής της διαμόρφωσης:

  • οποιοσδήποτε ελεγκτής μπορεί να ανοίξει το αρχείο fetaure στη φόρμα web ελέγχου έκδοσης, να το επεξεργαστεί και οι αλλαγές θα τεθούν σε ισχύ αμέσως μετά την κατασκευή
  • μπορείτε να εκτελέσετε δοκιμές μεμονωμένα ανά πάσα στιγμή
  • διαφανές μοντέλο δοκιμής - γνωρίζουμε πάντα τι κάνει η δοκιμή που ξεκινήσαμε.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο