bdd framework
Εκπαιδευτικό πλαίσιο BDD (Ανάπτυξη βάσει συμπεριφοράς): Εξερευνήστε τα χαρακτηριστικά και τα πλεονεκτήματα του BDD Framework με παραδείγματα αγγουριού
Το πλαίσιο BDD, δηλαδή η συμπεριφορά βάσει ανάπτυξης είναι μια προσέγγιση ανάπτυξης λογισμικού που επιτρέπει στον εξεταστή / επιχειρηματικό αναλυτή να δημιουργήσει δοκιμαστικές θήκες σε απλή γλώσσα κειμένου (αγγλικά).
Η απλή γλώσσα που χρησιμοποιείται στα σενάρια βοηθά ακόμη και τα μη τεχνικά μέλη της ομάδας να κατανοήσουν τι συμβαίνει στο έργο λογισμικού. Αυτό βοηθά και βελτιώνει την επικοινωνία μεταξύ τεχνικών και μη τεχνικών ομάδων, διαχειριστών και ενδιαφερομένων.
Τι θα μάθετε:
- Τι είναι η ανάπτυξη της συμπεριφοράς BDD;
- Αγγούρι - Ένα εργαλείο πλαισίου BDD
- Πλεονεκτήματα του BDD Framework
- συμπέρασμα
Τι είναι η ανάπτυξη της συμπεριφοράς BDD;
Το BDD εμφανίζεται από το TDD, δηλαδή Test Driven Development, το οποίο επιτρέπει στους χρήστες να εργάζονται με πολλαπλά δεδομένα δοκιμών με ελάχιστη παρέμβαση στον κώδικα λογισμικού και έτσι βοηθά στην αύξηση της επαναχρησιμοποίησης του κώδικα, ο οποίος είναι ένας μηχανισμός εξοικονόμησης χρόνου στην ανάπτυξη λογισμικού / αυτοματοποίηση δοκιμής .
Κληρονομώντας το TDD, το BDD διαθέτει επίσης όλα αυτά τα χαρακτηριστικά μαζί με τα πλεονεκτήματά του.
δωρεάν εφαρμογή ρολογιού χρόνου για υπολογιστή
- Τα σενάρια δοκιμής γράφονται χωριστά σε ένα διαφορετικό αρχείο, το οποίο ονομάζεται αρχείο Feature.
- Οι δοκιμές γράφονται εστιάζοντας ιστορίες χρηστών και συμπεριφορά συστήματος σε μια απλή γλώσσα.
- Ο κώδικας υπόκειται να γραφτεί διαφορετικά στο αρχείο ορισμών βημάτων, δηλαδή Java, Python.
Προτεινόμενη ανάγνωση => Πώς εμπλέκονται οι δοκιμαστές στην προσέγγιση TBB / BDD
Γιατί να χρησιμοποιήσετε το BDD Framework;
Πριν από το πλαίσιο BDD, όλοι χρησιμοποιούσαν TDD. Το TDD λειτουργεί καλά στην ανάπτυξη λογισμικού, υπό την προϋπόθεση ότι οι ενδιαφερόμενοι είναι εξοικειωμένοι με το πλαίσιο που χρησιμοποιείται και οι τεχνικές γνώσεις τους είναι επαρκείς. Ωστόσο, αυτό δεν συμβαίνει πάντα.
Το BDD παρέχει μια διαδρομή που λειτουργεί ως γέφυρα για να ξεπεραστεί το χάσμα μεταξύ των τεχνικών και των μη τεχνικών ομάδων, επειδή οι δοκιμαστικές θήκες γράφονται συνήθως σε απλό κείμενο, δηλ. Αγγλικά. Το κύριο πλεονέκτημα του BDD είναι η χαμηλή ορολογία και σαφέστερη προσέγγιση που είναι πιο κατανοητή.
Πώς να εφαρμόσετε την προσέγγιση BDD;
Τα σενάρια δοκιμής πρέπει να γράφονται σε απλή γλώσσα με λεπτομερή περιγραφή του τεστ, πώς να ελέγχετε την εφαρμογή και τη συμπεριφορά της εφαρμογής που μπορεί να γίνει κατανοητή από όλους.
Σε αυτό το σεμινάριο, θα επικεντρωθούμε Αγγούρι - ένα εργαλείο λογισμικού για BDD και θα μάθει να το εφαρμόζει πρακτικά χρησιμοποιώντας τη γλώσσα του, δηλ. Gherkin.
Αγγούρι - Ένα εργαλείο πλαισίου BDD
Το Cucumber είναι ένα εργαλείο πλαισίου ανάπτυξης βάσει συμπεριφοράς (BDD) για τη σύνταξη δοκιμαστικών περιπτώσεων.
Δεδομένα - Πότε - Τότε Προσέγγιση
- Δεδομένος: Κάποιο δεδομένο πλαίσιο (Προϋποθέσεις).
- Πότε: Κάποια ενέργεια εκτελείται (Ενέργειες).
- Επειτα: Ιδιαίτερο αποτέλεσμα / συνέπεια μετά το παραπάνω βήμα (Αποτελέσματα).
Δείγμα αρχείου χαρακτηριστικών
Feature : BDD implementation using Cucumber Scenario : Login to G-mail using Cucumber plugin Given User is navigating to G-mail Login Page When User need to enter username as 'Username' and password as 'Password' Then User is successfully navigated to the G-mail Mail Box
Δείγμα αρχείου ορισμού βημάτων
import cucumber.api.java.en.Given; import cucumber.api.java.en.Then; import cucumber.api.java.en.When; public class Sample { @Given('^User is navigating to G-mail Login Page$') public void user_is_navigating_to_G_mail_Login_Page() throws Throwable { // Write code here that turns the phrase above into concrete actions } @When('^User need to enter username as '((^')*)' and password as '((^')*)'$') public void user_need_to_enter_username_as_and_password_as(String arg1, String arg2) throws Throwable { // Write code here that turns the phrase above into concrete actions } @Then('^User is successfully navigated to the G-mail Mail Box$') public void user_is_successfully_navigated_to_the_G_mail_Mail_Box() throws Throwable { // Write code here that turns the phrase above into concrete actions } }
Το αγγούρι είναι ένα δοκιμαστικό πρόσθετο που βοηθά στην εφαρμογή της προσέγγισης ανάπτυξης που βασίζεται στη συμπεριφορά.
Συνιστώμενη ανάγνωση => Κορυφαία εργαλεία BDD που πρέπει να γνωρίζετε
Πλεονεκτήματα του BDD Framework
Παρακάτω αναφέρονται τα διάφορα πλεονεκτήματα του BDD.
# 1) Κάλυψη ιστοριών χρηστών
Το υβριδικό πλαίσιο με BDD προορίζεται να συνδυαστεί με διαφορετικά χαρακτηριστικά. Κάθε πόρος στη φάση ανάπτυξης λογισμικού μπορεί να συμβάλει στο πλαίσιο BDD.
Λόγω της εύκολης αντίληψης του απλού κειμένου με τη μορφή αρχείου χαρακτηριστικών επιτρέπει στους ενδιαφερόμενους τεχνικούς πόρους να γράφουν τα σενάρια στη γλώσσα Gherkin χρησιμοποιώντας τις ιστορίες των χρηστών. Η συμβατότητα του απλού κειμένου συμβάλλει στη μέγιστη κάλυψη των δοκιμών.
Το αρχείο δυνατοτήτων που περιέχει σενάρια είναι:
- Καθορισμένες ιστορίες χρηστών από την επιχείρηση.
- Κριτήρια για τους προγραμματιστές για να προσδιορίσουν εάν οι προδιαγραφές πληρούν τις επιχειρηματικές απαιτήσεις.
- Σενάρια δοκιμής για την ομάδα δοκιμών.
- Κάλυμμα κελύφους για έναν αυτοματοποιημένο ελεγκτή που τους επιτρέπει να γράφουν ξεχωριστά τον κώδικά τους σε αρχεία καθορισμού βημάτων.
- Επεξήγηση σεναρίων δοκιμών για τους ενδιαφερόμενους.
Η ταξινόμηση των ορισμών βημάτων βοηθά τον ελεγκτή αυτοματισμού να διατηρήσει τον κώδικα του ανέγγιχτο, γεγονός που βοηθά στη διατήρηση των σεναρίων.
# 2) Σαφήνεια σεναρίων
Η γλώσσα Gherkin χρησιμοποιεί απλό απλό κείμενο που εστιάζεται στο αποτέλεσμα του προϊόντος που δοκιμάζεται / αναπτύσσεται χρησιμοποιώντας BDD.
Καθώς το αρχείο χαρακτηριστικών διαχωρίζει την τεχνική περιγραφή σε ένα αρχείο ορισμών διαφορετικών βημάτων για τους αυτοματοποιητές, βοηθά έξυπνα ένα μη τεχνικό άτομο να κατανοήσει εύκολα την αυτοματοποιημένη δοκιμή. Οποιεσδήποτε ενημερώσεις μπορούν να εφαρμοστούν σε μια μικρή συζήτηση.
Η ικανότητα αναγνωσιμότητας του αγγουριού εγγυάται τη σαφήνεια των σεναρίων για κάθε χρήστη του, ο οποίος με τη σειρά του βοηθά στην κατασκευή του σωστού προϊόντος.
# 3) Αυτοματοποίηση δοκιμαστικών σεναρίων
Η εφαρμογή του αγγουριού σε ένα πλαίσιο BDD επιτρέπει σε έναν αυτοματοποιητή να ξεκινήσει εύκολα τη δέσμη ενεργειών με τη σωστή προσέγγιση. Η εύκολη γλώσσα των σεναρίων αγγουριού τους βοηθά να κατανοήσουν τη λειτουργικότητα με καλύτερο τρόπο.
Το αγγούρι είναι ένα ανεξάρτητο από τη γλώσσα πρόσθετο, καθώς είναι συμβατό με πολλές γλώσσες προγραμματισμού Π.χ. Ιάβα , Πύθων , και τα λοιπά.
Διαβάστε επίσης => Έλεγχος αυτοματισμού με χρήση εργαλείου BDD
# 4) Επαναχρησιμοποίηση κώδικα στο πλαίσιο
Δεδομένα - Πότε - Στη συνέχεια, η προσέγγιση δίνει την ελευθερία στους δοκιμαστές να χρησιμοποιούν τα ίδια βήματα με όσες φορές θέλουμε στο αρχείο δυνατοτήτων που βοηθά σταδιακά στην εξοικονόμηση χρόνου για τους αυτοματοποιητές.
Παράδειγμα:
Σενάριο: Σενάριο 1
Δεδομένος Ο χρήστης πλοηγείται στην Αρχική σελίδα Google
Πότε Ο χρήστης έψαξε «Αγγούρι» στη μηχανή αναζήτησης
Επειτα Κάντε κλικ στο κουμπί αναζήτησης
Και Ο χρήστης μπορεί να δει τα αποτελέσματα αναζήτησης για Αγγούρι στο πρόγραμμα περιήγησης ιστού
Σενάριο: Σενάριο 2
Δεδομένος Ο χρήστης πλοηγείται στην Αρχική σελίδα Google
Πότε Ο χρήστης έψαξε το «Σελήνιο» στη μηχανή αναζήτησης
Επειτα Κάντε κλικ στο κουμπί αναζήτησης
Και Ο χρήστης μπορεί να δει τα αποτελέσματα αναζήτησης για το Σελήνιο στο πρόγραμμα περιήγησης ιστού
Στα δύο παραπάνω σενάρια, μπορούμε να συμπεράνουμε ότι « Δεδομένος', ' Πότε ' και ' Επειτα Τα βήματα είναι επαναχρησιμοποιήσιμα στο δεύτερο σενάριο.
# 5) Παραμετροποίηση στο αρχείο δυνατοτήτων
Ένας χρήστης μπορεί να παραμετροποιήσει τα βήματα των αγγουριών στο αρχείο χαρακτηριστικών για να αποκτήσει επαναχρησιμοποίηση στο αρχείο.
Για παράδειγμα, εάν ένας χρήστης εργάζεται σε μια τραπεζική εφαρμογή όπου συνδέεται ξανά στην εφαρμογή. Τέτοιου είδους βήματα θα μπορούσαν να παραμετροποιηθούν με ένα διαφορετικό σύνολο δεδομένων και εξοικονομεί χρόνο για τον ελεγκτή.
Κατά τη σύνταξη των σεναρίων, ο χρήστης πρέπει να καθορίσει τα βήματα του αρχείου δυνατοτήτων με τέτοιο τρόπο, έτσι ώστε ο χρήστης να μπορεί να χρησιμοποιεί την κοινή λειτουργικότητα εύκολα.
# 6) Συνεχής ολοκλήρωση - Εύκολη ενσωμάτωση
Το αγγούρι υποστηρίζει επίσης τη συνεργασία με τη Jenkins. Μπορείτε να εκτελέσετε την εκτέλεση δοκιμής αγγουριού στο Jenkins και επίσης να εφαρμόσετε το ίδιο σε υποτελείς μηχανές Jenkins. Η προσθήκη αναφοράς αγγουριού παρέχει επίσης στους χρήστες μια εκτεταμένη προβολή για την παρακολούθηση σεναρίων δοκιμών.
Αξίζει να διαβάσετε => Διαδικασία συνεχούς ολοκλήρωσης
συμπέρασμα
Το Behavior Driven Development είναι μια πολύ έξυπνη προσέγγιση ευέλικτη μεθοδολογία . Συνιστάται πάντοτε να ξεκινάτε είτε την ανάπτυξή σας είτε τη δοκιμή χρησιμοποιώντας BDD, καθώς η χρήση σας δίνει μια πλατφόρμα για να εργάζεστε ανεξάρτητα με διαφορετικές τεχνολογίες.
Το αγγούρι είναι ένα από τα καλύτερα εργαλεία που βοηθά στην εφαρμογή της προσέγγισης ανάπτυξης βάσει συμπεριφοράς στο έργο λογισμικού. Αυτό μας επιτρέπει να εργαζόμαστε με πολλές τεχνολογίες Π.χ. Java, Python, Jython κ.λπ.
Το αγγούρι χρησιμοποιείται ευρέως από πολλούς οργανισμούς και ελεύθερους επαγγελματίες, έχει επίσης πολλές κοινότητες όπου οι χρήστες μπορούν να συζητήσουν τα ζητήματά τους και να βρουν εύκολα λύσεις στα προβλήματά τους.
Γλώσσα αγγουριού - Gherkin που χρησιμοποιεί απλές απλές αγγλικές λέξεις - μειώνει το χάσμα επικοινωνίας μεταξύ τεχνικών ομάδων και ενδιαφερομένων και τους επιτρέπει να συνεργάζονται στο ίδιο επίπεδο.
Ελπίζουμε αυτό το άρθρο να σας βοηθήσει να κατανοήσετε τα βασικά του BDD Framework !!
Συνιστώμενη ανάγνωση
- Πώς εμπλέκονται οι υπεύθυνοι δοκιμών στις τεχνικές TDD, BDD & ATDD
- 8 Εργαλεία και Πλαίσια Δοκιμών Βέλτιστης Ανάπτυξης βάσει Συμπεριφοράς (BDD)
- Έλεγχος αυτοματισμού με χρήση εργαλείου αγγουριού και σεληνίου - Σελήνιο σεμινάριο # 30
- Μεθοδολογία Agile: Ένας οδηγός για αρχάριους για την ευέλικτη μέθοδο και το Scrum
- Εκμάθηση Specflow: Ο απόλυτος οδηγός για το εργαλείο BDD
- Διαδικασία συνεχούς ενοποίησης: Πώς να βελτιώσετε την ποιότητα του λογισμικού και να μειώσετε τον κίνδυνο
- Cucumber Selenium Tutorial: Αγγούρι Java Selenium WebDriver Integration
- 15 καλύτερα εργαλεία συνεχούς ολοκλήρωσης το 2021 (σε σύγκριση)