Τι είναι το Agile Testing;
Το AGILE TESTING είναι μια πρακτική δοκιμής που ακολουθεί τους κανόνες και τις αρχές της ευέλικτης ανάπτυξης λογισμικού. Σε αντίθεση με τη μέθοδο Waterfall, το Agile Testing μπορεί να ξεκινήσει στην αρχή του έργου με συνεχή ολοκλήρωση μεταξύ ανάπτυξης και δοκιμών. Η μεθοδολογία Agile Testing δεν είναι διαδοχική (υπό την έννοια ότι εκτελείται μόνο μετά τη φάση κωδικοποίησης) αλλά συνεχής.
Σε αυτό το άρθρο, θα συζητήσουμε
- Σχέδιο ευέλικτης δοκιμής.
- Ευέλικτες στρατηγικές δοκιμών.
- Το τεταρτημόριο Agile Testing.
- Οι προκλήσεις QA με την ευέλικτη ανάπτυξη λογισμικού.
- Κίνδυνος αυτοματισμού σε ευέλικτη διαδικασία.
Σχέδιο ευέλικτης δοκιμής
Το ευκίνητο πρόγραμμα δοκιμών περιλαμβάνει τύπους δοκιμών που γίνονται σε αυτήν την επανάληψη, όπως απαιτήσεις δεδομένων δοκιμής, υποδομή, περιβάλλοντα δοκιμών και αποτελέσματα δοκιμών. Σε αντίθεση με το μοντέλο καταρράκτη, σε ένα ευέλικτο μοντέλο, ένα σχέδιο δοκιμής γράφεται και ενημερώνεται για κάθε κυκλοφορία. Τυπικά σχέδια δοκιμών σε ευκίνητο περιλαμβάνει
- Πεδίο δοκιμών
- Νέες λειτουργίες που δοκιμάζονται
- Επίπεδο ή τύποι δοκιμών με βάση την πολυπλοκότητα των χαρακτηριστικών
- Δοκιμή φόρτωσης και απόδοσης
- Εξέταση υποδομής
- Σχέδιο μετριασμού ή κινδύνου
- Πόροι
- Παραδοτέα και ορόσημα
Ευέλικτες στρατηγικές δοκιμών
Ο ευέλικτος κύκλος ζωής των δοκιμών εκτείνεται σε τέσσερα στάδια
(α) Επανάληψη 0
Κατά το πρώτο στάδιο ή την επανάληψη 0, εκτελείτε αρχικές εργασίες εγκατάστασης. Περιλαμβάνει τον εντοπισμό ατόμων για δοκιμή, την εγκατάσταση εργαλείων δοκιμών, τον προγραμματισμό πόρων (εργαστήριο δοκιμών ευχρηστίας) κ.λπ. Τα ακόλουθα βήματα έχουν οριστεί για επίτευξη στο Iteration 0
α) Δημιουργία επιχειρηματικής υπόθεσης για το έργο
β) Καθορίστε τις οριακές συνθήκες και το πεδίο εφαρμογής του έργου
γ) Περιγράψτε τις βασικές απαιτήσεις και χρησιμοποιήστε περιπτώσεις που θα οδηγήσουν στην αντιστάθμιση του σχεδιασμού
δ) Περιγράψτε μία ή περισσότερες υποψήφιες αρχιτεκτονικές
ε) Προσδιορισμός του κινδύνου
στ) Εκτίμηση κόστους και προετοιμασία ενός προκαταρκτικού έργου
(β) Επαναλήψεις Κατασκευών
Η δεύτερη φάση της ευέλικτης μεθοδολογίας δοκιμών είναι οι Επαναληπτικές Κατασκευές, η πλειονότητα των δοκιμών συμβαίνει κατά τη διάρκεια αυτής της φάσης. Αυτή η φάση παρατηρείται ως ένα σύνολο επαναλήψεων για τη δημιουργία μιας αύξησης της λύσης. Για να γίνει αυτό, σε κάθε επανάληψη, η ομάδα εφαρμόζει ένα υβρίδιο πρακτικών από XP, Scrum, Agile modeling και ευκίνητα δεδομένα και ούτω καθεξής.
Στην επανάληψη της κατασκευής, η ευέλικτη ομάδα ακολουθεί την πρακτική απαίτηση προτεραιότητας: Με κάθε επανάληψη, παίρνουν τις πιο βασικές απαιτήσεις που απομένουν από τη στοίβα στοιχείων εργασίας και τις εφαρμόζουν.
Η επανάληψη της κατασκευής κατατάσσεται σε δύο, επιβεβαιωτικές δοκιμές και ερευνητικές δοκιμές. Οι επιβεβαιωτικές δοκιμές επικεντρώνονται στην επαλήθευση ότι το σύστημα εκπληρώνει την πρόθεση των ενδιαφερόμενων μερών όπως περιγράφεται στην ομάδα μέχρι σήμερα και εκτελείται από την ομάδα. Ενώ η διερευνητική δοκιμή εντοπίζει το πρόβλημα που η ομάδα επιβεβαίωσης έχει παραλείψει ή αγνοήσει. Σε διερευνητικές δοκιμές, ο ελεγκτής προσδιορίζει τα πιθανά προβλήματα με τη μορφή ιστοριών ελαττωμάτων. Οι ερευνητικές δοκιμές ασχολούνται με κοινά ζητήματα, όπως δοκιμές ενοποίησης, δοκιμές φόρτισης / πίεσης και δοκιμές ασφάλειας
Και πάλι για, επιβεβαιωτικές δοκιμές υπάρχουν δύο πτυχές δοκιμές προγραμματιστή και δοκιμή ευέλικτης αποδοχής . Και οι δύο είναι αυτοματοποιημένες για να επιτρέπουν τη συνεχή δοκιμή παλινδρόμησης καθ 'όλη τη διάρκεια του κύκλου ζωής. Η επιβεβαιωτική δοκιμή είναι το ευκίνητο ισοδύναμο των δοκιμών με τις προδιαγραφές.
Η ευέλικτη δοκιμή αποδοχής είναι ένας συνδυασμός παραδοσιακών λειτουργικών δοκιμών και παραδοσιακών δοκιμών αποδοχής ως ομάδα ανάπτυξης και οι ενδιαφερόμενοι το κάνουν από κοινού. Ενώ οι δοκιμές προγραμματιστών είναι ένας συνδυασμός παραδοσιακών δοκιμών μονάδων και παραδοσιακών δοκιμών ενοποίησης υπηρεσιών. Ο έλεγχος προγραμματιστή επαληθεύει τόσο τον κωδικό εφαρμογής όσο και το σχήμα βάσης δεδομένων.
(γ) Απελευθέρωση τελικού παιχνιδιού ή φάση μετάβασης
Ο στόχος του "Release, End Game" είναι να αναπτύξετε το σύστημά σας με επιτυχία στην παραγωγή. Οι δραστηριότητες που περιλαμβάνονται σε αυτήν τη φάση είναι η κατάρτιση των τελικών χρηστών, των ατόμων υποστήριξης και των επιχειρησιακών ατόμων. Επίσης, περιλαμβάνει την εμπορία της κυκλοφορίας του προϊόντος, τη δημιουργία αντιγράφων ασφαλείας και την αποκατάσταση, την οριστικοποίηση του συστήματος και την τεκμηρίωση του χρήστη.
Το τελικό στάδιο δοκιμής ευέλικτης μεθοδολογίας περιλαμβάνει πλήρη δοκιμή συστήματος και δοκιμή αποδοχής. Για να ολοκληρώσετε το τελικό σας στάδιο δοκιμών χωρίς εμπόδια, θα πρέπει να δοκιμάσετε το προϊόν πιο αυστηρά ενώ βρίσκεται σε επαναληπτικές εργασίες. Κατά τη διάρκεια του τελικού παιχνιδιού, οι δοκιμαστές θα εργαστούν για τις ιστορίες ελαττωμάτων του.
(δ) Παραγωγή
Μετά το στάδιο της κυκλοφορίας, το προϊόν θα μετακινηθεί στο στάδιο της παραγωγής.
Τα τεταρτημόρια ευέλικτων δοκιμών
Τα τεταρτημόρια ευέλικτης δοκιμής διαχωρίζουν ολόκληρη τη διαδικασία σε τέσσερα τεταρτημόρια και βοηθούν στην κατανόηση του τρόπου διεξαγωγής ευέλικτων δοκιμών.
α) Agile Quadrant I - Η ποιότητα εσωτερικού κώδικα είναι το κύριο επίκεντρο σε αυτό το τεταρτημόριο, και αποτελείται από δοκιμαστικές περιπτώσεις που βασίζονται στην τεχνολογία και εφαρμόζονται για την υποστήριξη της ομάδας, περιλαμβάνει
1. Δοκιμές μονάδας
2. Δοκιμές συστατικών
β) Agile Quadrant II - Είναι Περιέχει περιπτώσεις δοκιμών που οδηγείται από τις επιχειρήσεις και υλοποιούνται για τη στήριξη της ομάδας. Αυτό το τεταρτημόριο εστιάζει στις απαιτήσεις. Το είδος της δοκιμής που εκτελείται σε αυτήν τη φάση είναι
1. Δοκιμή παραδειγμάτων πιθανών σεναρίων και ροών εργασίας
2. Έλεγχος εμπειρίας χρήστη, όπως πρωτότυπα
3. Δοκιμή ζεύγους
γ) Agile Quadrant III - Αυτό το τεταρτημόριο παρέχει ανατροφοδότηση στα τεταρτημόρια ένα και δύο. Οι δοκιμαστικές θήκες μπορούν να χρησιμοποιηθούν ως βάση για την πραγματοποίηση δοκιμών αυτοματισμού. Σε αυτό το τεταρτημόριο, πραγματοποιούνται πολλοί γύροι κριτικών επανάληψης που ενισχύουν την εμπιστοσύνη στο προϊόν. Το είδος των δοκιμών που γίνονται σε αυτό το τεταρτημόριο είναι
1. Δοκιμή χρηστικότητας
2. Διερευνητικές δοκιμές
3. Ζεύγος δοκιμών με πελάτες
4. Συνεργατική δοκιμή
5. Δοκιμή αποδοχής χρήστη
δ) Agile Quadrant IV - Αυτό το τεταρτημόριο επικεντρώνεται στις μη λειτουργικές απαιτήσεις όπως η απόδοση, η ασφάλεια, η σταθερότητα κ.λπ. Με τη βοήθεια αυτού του τεταρτημορίου, η εφαρμογή γίνεται για να παρέχει τις μη λειτουργικές ιδιότητες και την αναμενόμενη αξία.
1. Μη λειτουργικές δοκιμές όπως στρες και δοκιμές απόδοσης
2. Έλεγχος ασφάλειας σε σχέση με τον έλεγχο ταυτότητας και την εισβολή
3. Δοκιμές υποδομής
4. Δοκιμές μετεγκατάστασης δεδομένων
5. Δοκιμασία κλιμάκωσης
6. Δοκιμή φορτίου
Οι προκλήσεις QA με την ευέλικτη ανάπτυξη λογισμικού
α) Οι πιθανότητες σφάλματος είναι πιο ευέλικτες, καθώς η τεκμηρίωση δίνεται λιγότερη προτεραιότητα, τελικά ασκεί μεγαλύτερη πίεση στην ομάδα QA
β) Οι νέες δυνατότητες εισάγονται γρήγορα, γεγονός που μειώνει τον διαθέσιμο χρόνο για τις ομάδες δοκιμών για να προσδιορίσουν εάν τα πιο πρόσφατα χαρακτηριστικά είναι σύμφωνα με την απαίτηση και ανταποκρίνεται πραγματικά στα επαγγελματικά κοστούμια
γ) Συχνά απαιτείται από τους δοκιμαστές να παίξουν ρόλους ημι-προγραμματιστών
δ) Οι κύκλοι εκτέλεσης δοκιμών είναι πολύ συμπιεσμένοι
ε) Πολύ λιγότερος χρόνος για την προετοιμασία του προγράμματος δοκιμών
στ) Για τον έλεγχο παλινδρόμησης, θα έχουν ελάχιστο χρονισμό
ζ) Αλλαγή του ρόλου τους από το να είναι φύλακας της ποιότητας σε συνεργάτη στην Ποιότητα
η) Οι αλλαγές και οι ενημερώσεις των απαιτήσεων είναι εγγενείς σε μια ευέλικτη μέθοδο, καθιστώντας τη μεγαλύτερη πρόκληση για το QA
Κίνδυνος αυτοματισμού σε ευέλικτη διαδικασία
- Η αυτοματοποιημένη διεπαφή χρήστη παρέχει υψηλό επίπεδο εμπιστοσύνης, αλλά είναι αργή στην εκτέλεση, εύθραυστη στη συντήρηση και δαπανηρή κατασκευή. Ο αυτοματισμός μπορεί να μην βελτιώσει σημαντικά την παραγωγικότητα των δοκιμών, εκτός εάν οι δοκιμαστές γνωρίζουν πώς να κάνουν τις δοκιμές
- Οι αναξιόπιστες δοκιμές αποτελούν σημαντική ανησυχία στις αυτοματοποιημένες δοκιμές Η επίλυση αποτυχημένων δοκιμών και η επίλυση ζητημάτων που σχετίζονται με εύθραυστα τεστ θα πρέπει να αποτελούν κορυφαία προτεραιότητα προκειμένου να αποφευχθούν ψευδώς θετικά
- Εάν η αυτόματη δοκιμή ξεκινά χειροκίνητα και όχι μέσω CI (Συνεχής ολοκλήρωση), τότε υπάρχει κίνδυνος να μην εκτελούνται τακτικά και συνεπώς μπορεί να προκαλέσουν αποτυχία των δοκιμών
- Οι αυτοματοποιημένες δοκιμές δεν αντικαθιστούν μια διερευνητική χειροκίνητη δοκιμή. Για να αποκτήσετε την αναμενόμενη ποιότητα του προϊόντος, απαιτείται ένα μείγμα τύπων και επιπέδων δοκιμών
- Πολλά εργαλεία αυτοματισμού που διατίθενται στο εμπόριο παρέχουν απλές λειτουργίες όπως αυτοματοποίηση της καταγραφής και της αναπαραγωγής χειροκίνητων δοκιμαστικών περιπτώσεων. Ένα τέτοιο εργαλείο ενθαρρύνει τις δοκιμές μέσω της διεπαφής χρήστη και οδηγεί σε μια εγγενώς εύθραυστη και δύσκολη συντήρηση δοκιμών. Επίσης, η αποθήκευση δοκιμαστικών περιπτώσεων εκτός του συστήματος ελέγχου έκδοσης δημιουργεί περιττή πολυπλοκότητα
- Προκειμένου να εξοικονομήσετε χρόνο, πολλές φορές το σχέδιο δοκιμής αυτοματισμού είναι κακώς σχεδιασμένο ή μη προγραμματισμένο, με αποτέλεσμα η δοκιμή να αποτύχει
- Οι διαδικασίες ρύθμισης δοκιμής και κατάργησης συνήθως χάνονται κατά τη διάρκεια του αυτοματισμού της δοκιμής, ενώ κατά τη διεξαγωγή μη αυτόματων δοκιμών, οι διαδικασίες δοκιμής ρύθμισης και αποσύνθεσης ακούγονται απρόσκοπτα
- Οι μετρήσεις παραγωγικότητας, όπως μια σειρά δοκιμαστικών περιπτώσεων που δημιουργούνται ή εκτελούνται ανά ημέρα, μπορεί να είναι τρομερά παραπλανητικές και θα μπορούσαν να οδηγήσουν σε μια μεγάλη επένδυση στην εκτέλεση άχρηστων δοκιμών
- Τα μέλη της ευέλικτης ομάδας αυτοματισμού πρέπει να είναι αποτελεσματικοί σύμβουλοι: προσιτοί, συνεργάσιμοι και επινοητικοί, διαφορετικά αυτό το σύστημα θα αποτύχει γρήγορα
- Ο αυτοματισμός μπορεί να προτείνει και να παρέχει λύσεις δοκιμών που απαιτούν πάρα πολύ συνεχή συντήρηση σε σχέση με την παρεχόμενη τιμή
- Οι αυτοματοποιημένες δοκιμές ενδέχεται να μην έχουν την εμπειρία να συλλάβουν και να προσφέρουν αποτελεσματικές λύσεις
- Οι αυτοματοποιημένες δοκιμές μπορεί να είναι τόσο επιτυχείς που να ξεπερνούν σημαντικά προβλήματα προς επίλυση, και έτσι να μετατρέπονται σε ασήμαντα προβλήματα.
συμπέρασμα
Η ευέλικτη μεθοδολογία στις δοκιμές λογισμικού περιλαμβάνει δοκιμές το συντομότερο δυνατό στον κύκλο ζωής ανάπτυξης λογισμικού. Απαιτεί υψηλή συμμετοχή των πελατών και κώδικα δοκιμής μόλις γίνει διαθέσιμος. Ο κωδικός πρέπει να είναι αρκετά σταθερός για να τον μεταφέρει στις δοκιμές συστήματος. Εκτεταμένη δοκιμή παλινδρόμησης μπορεί να γίνει για να βεβαιωθείτε ότι τα σφάλματα έχουν διορθωθεί και δοκιμαστεί. Κυρίως, η επικοινωνία μεταξύ των ομάδων καθιστά την ευέλικτη δοκιμή μοντέλου επιτυχία !!!