Υπάρχουν πολλά άρθρα στο Διαδίκτυο σχετικά με τον τρόπο χρήσης του SpecFlow, τον τρόπο διαμόρφωσης του TFS για την εκτέλεση δοκιμών, αλλά δεν υπάρχει κανένα που να περιέχει όλες τις πτυχές. Σε αυτό το άρθρο, θα σας πω πώς μπορείτε να κάνετε την εκκίνηση και την επεξεργασία σεναρίων SpecFlow βολική για όλους.
Κάτω από την περικοπή θα μάθετε πώς να αποκτήσετε:
- Εκτέλεση δοκιμών από το TFS
- Αυτόματη σύνδεση σεναρίων με δοκιμαστικές περιπτώσεις στο TFS
- Πάντα ενημερωμένο περιεχόμενο των δοκιμαστικών περιπτώσεων στο TFS
- Δυνατότητα επεξεργασίας σεναρίων απευθείας στο σύστημα ελέγχου έκδοσης από δοκιμαστές
Ιστορικό
Βρεθήκαμε αντιμέτωποι με το καθήκον να αυτοματοποιήσουμε τη δοκιμή εφαρμογών χρησιμοποιώντας την προσέγγιση BDD. Δεδομένου ότι η βάση του συστήματος παρακολούθησης εργασιών στην εταιρεία μας είναι το TFS, είχα μια εικόνα στο μυαλό μου όπου τα βήματα του σεναρίου SpecFlow είναι τα βήματα των δοκιμαστικών περιπτώσεων στο TFS και οι δοκιμές ξεκινούν από σχέδια δοκιμών. Παρακάτω είναι πώς το υλοποίησα.
Αυτό που χρειαζόμαστε:
- Έργο με δοκιμές στο SpecFlow
- Διακομιστής Azure DevOps (γνωστός και ως διακομιστής Team Foundation)
- Ένα εργαλείο για το συγχρονισμό scripts SpecFlow με δοκιμαστικές περιπτώσεις στο TFS
προσαρμογή
1. Δημιουργία κατασκευής έργου με δοκιμές
Όλα είναι απλά εδώ, συναρμολόγηση και δημοσίευση αντικειμένων. Περισσότερα για την τρίτη εργασία αργότερα.
2. Δημιουργία έκδοσης για την εκτέλεση δοκιμών
Δημιουργία έκδοσης με μία εργασία - Visual Studio Test
Σε αυτήν την περίπτωση, η εργασία έχει ρυθμιστεί να εκτελεί δοκιμές με μη αυτόματο τρόπο από το σχέδιο δοκιμής
3. Συγχρονισμός δοκιμαστικών περιπτώσεων
Γνωρίζουμε ότι το Visual Studio σάς επιτρέπει να συνδέετε μεθόδους δοκιμής με δοκιμαστικές περιπτώσεις στο TFS και να τις εκτελείτε από δοκιμαστικά σχέδια. Για να μην το κάνω χειροκίνητα, αλλά και για να συγχρονίσω το περιεχόμενο των σεναρίων, έγραψα μια απλή εφαρμογή κονσόλας
Πώς να χρησιμοποιήσετε το FeatureSync
Προσθέστε χώρο ονομάτων και τοπικές ρυθμίσεις στην κεφαλίδα του αρχείου χαρακτηριστικών:
#language:en
@Namespace:Application.Autotests
Feature: Log to application
*Ο χώρος ονομάτων πρέπει να ταιριάζει με το όνομα του αρχείου .dll που περιέχει τις μεθόδους δοκιμής
Δημιουργούμε κενές δοκιμαστικές περιπτώσεις στο 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
Στην περίπτωσή μας, η εκκίνηση πραγματοποιείται μετά την κατασκευή του έργου με δοκιμές:
Αποτέλεσμα συγχρονισμού
Τα βήματα δέσμης ενεργειών SpecFlow συγχρονίζονται και έχει οριστεί η κατάσταση αυτοματισμού
4. Δημιουργία σχεδίου δοκιμής
Δημιουργούμε ένα δοκιμαστικό σχέδιο, προσθέτουμε τις αυτοματοποιημένες θήκες μας σε αυτό, επιλέγουμε τη δημιουργία και την κυκλοφορία στις ρυθμίσεις
5. Τρέξιμο τεστ
Επιλέξτε την απαιτούμενη δοκιμή στο σχέδιο δοκιμής και εκτελέστε την.
Συμπέρασμα
Τα πλεονεκτήματα αυτής της διαμόρφωσης:
- οποιοσδήποτε ελεγκτής μπορεί να ανοίξει το αρχείο fetaure στη φόρμα web ελέγχου έκδοσης, να το επεξεργαστεί και οι αλλαγές θα τεθούν σε ισχύ αμέσως μετά την κατασκευή
- μπορείτε να εκτελέσετε δοκιμές μεμονωμένα ανά πάσα στιγμή
- διαφανές μοντέλο δοκιμής - γνωρίζουμε πάντα τι κάνει η δοκιμή που ξεκινήσαμε.
Πηγή: www.habr.com