Τι είναι το Agile Testing; Διαδικασία & Κύκλος Ζωής

Τι είναι το Agile Testing;

Εύκαμπτο τεστ είναι μια πρακτική δοκιμών που ακολουθεί τους κανόνες και τις αρχές της ευέλικτης ανάπτυξης λογισμικού. Σε αντίθεση με τη μέθοδο Waterfall, το Agile Testing μπορεί να ξεκινήσει στην αρχή του έργου με συνεχή ενοποίηση μεταξύ ανάπτυξης και δοκιμών. Η μεθοδολογία Agile Testing δεν είναι διαδοχική (με την έννοια ότι εκτελείται μόνο μετά τη φάση κωδικοποίησης) αλλά συνεχής.

Αρχές της ευέλικτης δοκιμής

Ακολουθούν οι βασικές αρχές της ευέλικτης δοκιμής:

  • Σε αυτό το μοντέλο δοκιμών Agile, το λειτουργικό λογισμικό είναι το κύριο μέτρο προόδου.
  • Το καλύτερο αποτέλεσμα μπορούν να επιτευχθούν από τις αυτοοργανωμένες ομάδες.
  • Η έγκαιρη και συνεχής παράδοση πολύτιμου λογισμικού είναι η ύψιστη προτεραιότητά μας.
  • Οι προγραμματιστές λογισμικού πρέπει να ενεργούν ώστε να συγκεντρώνονται καθημερινά σε όλο το έργο.
  • Βελτίωση της ευελιξίας μέσω της συνεχούς τεχνικής βελτίωσης και του καλού σχεδιασμού.
  • Το Agile Testing διασφαλίζει ότι το τελικό προϊόν ανταποκρίνεται στις προσδοκίες της επιχείρησης παρέχοντας συνεχή ανατροφοδότηση.
  • Στη διαδικασία Agile Test, πρέπει να εκτελέσουμε τη διαδικασία δοκιμής κατά την υλοποίηση, γεγονός που μειώνει τον χρόνο ανάπτυξης.
  • Η διαδικασία δοκιμών στο Agile θα πρέπει να λειτουργεί με σταθερό ρυθμό ανάπτυξης
  • Παρέχετε τακτικές σκέψεις σχετικά με το πώς να γίνετε πιο αποτελεσματικοί.
  • Οι καλύτερες αρχιτεκτονικές, απαιτήσεις και σχέδια προκύπτουν από αυτοοργανωμένες ομάδες.
  • Κάθε φορά που η ομάδα συναντάται, αναθεωρεί και προσαρμόζει τη συμπεριφορά της προκειμένου να γίνει πιο αποτελεσματική.
  • Η πρόσωπο με πρόσωπο συνομιλία με την ομάδα ανάπτυξης είναι η πιο αποτελεσματική και αποδοτική μέθοδος μετάδοσης πληροφοριών εντός της ομάδας.

Το Agile Testing περιλαμβάνει διάφορες αρχές που μας βοηθούν να αυξήσουμε την παραγωγικότητα του Λογισμικού.

Agile Testing Cycle Life

Ο κύκλος ζωής του agile Testing ολοκληρώνεται σε πέντε διαφορετικές φάσεις, όπως μπορούμε να δούμε στην παρακάτω εικόνα:

Agile Testing Cycle Life

Ακολουθούν τα βήματα δοκιμής της διαδικασίας Agile:

Φάση 1: Εκτίμηση Επιπτώσεων: Σε αυτήν την αρχική φάση, συλλέγουμε στοιχεία από ενδιαφερόμενους φορείς και χρήστες. Αυτή η φάση ονομάζεται επίσης φάση ανάδρασης, καθώς βοηθά τους μηχανικούς δοκιμής να θέσουν τους στόχους για τον επόμενο κύκλο ζωής.

Φάση 2: Σχεδιασμός ευέλικτων δοκιμών: Είναι η δεύτερη φάση του κύκλου ζωής των δοκιμών Agile, όπου όλα τα ενδιαφερόμενα μέρη συγκεντρώνονται για να σχεδιάσουν το χρονοδιάγραμμα της διαδικασίας δοκιμών και των παραδοτέων.

Φάση 3: Ετοιμότητα απελευθέρωσης: Σε αυτό το στάδιο, εξετάζουμε τις δυνατότητες που έχουν αναπτυχθεί/ έχουν εφαρμοστεί είναι έτοιμες να κυκλοφορήσουν ή όχι. Σε αυτό το στάδιο, αποφασίζεται επίσης ποιο πρέπει να επιστρέψει στην προηγούμενη φάση ανάπτυξης.

Φάση 4: Καθημερινά Scrums: Αυτό το στάδιο περιλαμβάνει κάθε πρωινή συνάντηση standup για να ενημερωθείτε για την κατάσταση των δοκιμών και να ορίσετε τον στόχο για ολόκληρη την ημέρα.

Φάση 5: Δοκιμαστική ευκινησία Revδες: Η τελευταία φάση του κύκλου ζωής Agile είναι η ευκινησία Review Συνάντηση. Περιλαμβάνει εβδομαδιαίες συναντήσεις με ενδιαφερόμενα μέρη για την τακτική αξιολόγηση και αξιολόγηση της προόδου σε σχέση με τους στόχους.

Ευέλικτο σχέδιο δοκιμής

Ευέλικτο σχέδιο δοκιμής περιλαμβάνει τύπους δοκιμών που γίνονται σε αυτήν την επανάληψη, όπως απαιτήσεις δεδομένων δοκιμής, υποδομή, δοκιμαστικά περιβάλλοντακαι τα αποτελέσματα των δοκιμών. Σε αντίθεση με το μοντέλο καταρράκτη, σε ένα ευέλικτο μοντέλο, γράφεται και ενημερώνεται ένα σχέδιο δοκιμής για κάθε κυκλοφορία. Τα τυπικά σχέδια δοκιμών στο agile περιλαμβάνουν

  • Πεδίο δοκιμής
  • Νέες λειτουργίες που δοκιμάζονται
  • Επίπεδο ή Τύποι δοκιμών με βάση την πολυπλοκότητα των χαρακτηριστικών
  • Δοκιμή φορτίου και απόδοσης
  • Εξέταση υποδομής
  • Σχέδιο Μετριασμού ή Κινδύνων
  • Διαθεσιμότητα
  • Παραδοτέα και ορόσημα

Στρατηγικές Agile Testing

Ο κύκλος ζωής της ευέλικτης δοκιμής εκτείνεται σε τέσσερα στάδια

Στρατηγικές Agile Testing

Επανάληψη 0

Κατά τη διάρκεια του πρώτου σταδίου ή της επανάληψης 0, εκτελείτε εργασίες αρχικής ρύθμισης. Περιλαμβάνει τον εντοπισμό ατόμων για δοκιμές, την εγκατάσταση εργαλείων δοκιμών, τον προγραμματισμό πόρων (εργαστήριο δοκιμών ευχρηστίας) κ.λπ. Τα ακόλουθα βήματα πρέπει να επιτευχθούν στην Επανάληψη 0

  • Δημιουργία επιχειρηματικής υπόθεσης για το έργο
  • Καθορίστε τις οριακές συνθήκες και το πεδίο εφαρμογής του έργου
  • Περιγράψτε τις βασικές απαιτήσεις και τις περιπτώσεις χρήσης που θα οδηγήσουν σε συμβιβασμούς στο σχεδιασμό
  • Περιγράψτε μια ή περισσότερες υποψήφιες αρχιτεκτονικές
  • Προσδιορισμός του κινδύνου
  • Εκτίμηση κόστους και προετοιμασία προκαταρκτικού έργου

Κατασκευαστικές Επαναλήψεις

Η δεύτερη φάση της ευέλικτης μεθοδολογίας δοκιμών είναι οι Επαναλήψεις Κατασκευών, η πλειοψηφία των δοκιμών πραγματοποιείται κατά τη διάρκεια αυτής της φάσης. Αυτή η φάση παρατηρείται ως ένα σύνολο επαναλήψεων για τη δημιουργία μιας αύξησης της λύσης. Για να γίνει αυτό, σε κάθε επανάληψη, υλοποιεί η ομάδα ένα υβρίδιο πρακτικών από XP, Scrum, Agile modeling και agile data και ούτω καθεξής.

Στην επανάληψη κατασκευής, η ευέλικτη ομάδα ακολουθεί την πρακτική απαιτήσεων με προτεραιότητα: Με κάθε επανάληψη, παίρνει τις πιο βασικές απαιτήσεις που απομένουν από τη στοίβα αντικειμένων εργασίας και τις εφαρμόζει.

Η επανάληψη της κατασκευής ταξινομείται σε δύο, την επιβεβαιωτική δοκιμή και τη διερευνητική δοκιμή. Συμπυκνώματα επιβεβαιωτικών δοκιμών σχετικά με την επαλήθευση ότι το σύστημα εκπληρώνει την πρόθεση των ενδιαφερομένων, όπως περιγράφεται στην ομάδα μέχρι σήμερα, και ότι εκτελείται από την ομάδα. Ενώ η διερευνητική δοκιμή εντοπίζει το πρόβλημα που η ομάδα επιβεβαίωσης έχει παραβλέψει ή αγνοήσει. Στη διερευνητική δοκιμή, ο ελεγκτής καθορίζει τα πιθανά προβλήματα με τη μορφή ιστοριών ελαττωμάτων. Οι διερευνητικές δοκιμές ασχολούνται με κοινά ζητήματα όπως οι δοκιμές ενοποίησης, οι δοκιμές φορτίου/καταπόνησης και οι δοκιμές ασφαλείας.

Και πάλι, οι επιβεβαιωτικές δοκιμές υπάρχουν δύο πτυχές δοκιμή προγραμματιστή και ευέλικτη δοκιμή αποδοχής. Και οι δύο είναι αυτοματοποιημένα για να επιτρέπουν τη συνεχή δοκιμή παλινδρόμησης καθ' όλη τη διάρκεια του κύκλου ζωής. Η επιβεβαιωτική δοκιμή είναι το ευέλικτο ισοδύναμο της δοκιμής με την προδιαγραφή.

Η ευέλικτη δοκιμή αποδοχής είναι ένας συνδυασμός παραδοσιακών λειτουργικών δοκιμών και παραδοσιακών δοκιμών αποδοχής ως ομάδα ανάπτυξης, και τα ενδιαφερόμενα μέρη το κάνουν μαζί. Ενώ η δοκιμή προγραμματιστών είναι ένας συνδυασμός παραδοσιακών δοκιμών μονάδων και παραδοσιακών δοκιμών ενοποίησης υπηρεσιών. Η δοκιμή προγραμματιστή επαληθεύει τόσο τον κώδικα εφαρμογής όσο και το σχήμα της βάσης δεδομένων.

Έκδοση Τελικού παιχνιδιού ή Μεταβατικής Φάσης

Ο στόχος του "Release, End Game" είναι να αναπτύξει το σύστημά σας με επιτυχία στην παραγωγή. Οι δραστηριότητες που περιλαμβάνονται σε αυτή τη φάση είναι η εκπαίδευση τελικών χρηστών, η υποστήριξη ατόμων και επιχειρησιακών ατόμων. Επίσης, περιλαμβάνει μάρκετινγκ της κυκλοφορίας του προϊόντος, δημιουργία αντιγράφων ασφαλείας και αποκατάσταση, οριστικοποίηση του συστήματος και της τεκμηρίωσης χρήστη.

Το τελικό στάδιο δοκιμών μεθοδολογίας ευέλικτης περιλαμβάνει πλήρη δοκιμή συστήματος και δοκιμή αποδοχής. Για να ολοκληρώσετε το τελικό στάδιο δοκιμών σας χωρίς κανένα εμπόδιο, θα πρέπει να δοκιμάσετε το προϊόν πιο αυστηρά ενώ βρίσκεται σε επαναλήψεις κατασκευής. Κατά τη διάρκεια του τέλους παιχνιδιού, οι δοκιμαστές θα εργάζονται στις ιστορίες ελαττωμάτων του.

Παραγωγή

Μετά το στάδιο της απελευθέρωσης, το προϊόν θα περάσει στο στάδιο της παραγωγής.

Τα ευέλικτα τεταρτημόρια δοκιμών

Τα ευέλικτα τεταρτημόρια δοκιμών

Τα ευέλικτα τεταρτημόρια δοκιμών χωρίζουν την όλη διαδικασία σε τέσσερα τεταρτημόρια και βοηθούν στην κατανόηση του τρόπου με τον οποίο εκτελείται η ευέλικτη δοκιμή.

Ευκίνητο τεταρτημόριο Ι

Η ποιότητα του εσωτερικού κώδικα είναι η κύρια εστίαση σε αυτό το τεταρτημόριο, και αποτελείται από περιπτώσεις δοκιμών που βασίζονται στην τεχνολογία και εφαρμόζονται για την υποστήριξη της ομάδας.

  • Δοκιμές Μονάδων
  • Δοκιμές συστατικών

Agile Quadrant II

Περιέχει δοκιμαστικές περιπτώσεις που είναι επιχειρηματικές και υλοποιούνται για την υποστήριξη της ομάδας. Αυτό το τεταρτημόριο εστιάζει στις απαιτήσεις. Το είδος της δοκιμής που εκτελείται σε αυτή τη φάση είναι

  • Δοκιμή παραδειγμάτων πιθανών σεναρίων και ροών εργασίας
  • Δοκιμή εμπειρίας χρήστη, όπως πρωτότυπα
  • Δοκιμή ζευγαριού

Agile Quadrant III

Αυτό το τεταρτημόριο παρέχει ανατροφοδότηση στα τεταρτημόρια ένα και δύο. Οι περιπτώσεις δοκιμής μπορούν να χρησιμοποιηθούν ως βάση για την εκτέλεση δοκιμών αυτοματισμού. Σε αυτό το τεταρτημόριο, πραγματοποιούνται πολλοί γύροι επαναληπτικών αναθεωρήσεων που ενισχύουν την εμπιστοσύνη στο προϊόν. Το είδος της δοκιμής που γίνεται σε αυτό το τεταρτημόριο είναι

  • Δοκιμές Ευχρηστίας
  • Διερευνητικές δοκιμές
  • Δοκιμή ζεύξης με πελάτες
  • Συνεργατική δοκιμή
  • Δοκιμή αποδοχής χρήστη

Ευκίνητο τεταρτημόριο IV

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

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

Προκλήσεις QA με την ευέλικτη ανάπτυξη λογισμικού

  • Οι πιθανότητες λάθους είναι πιο ευέλικτες, καθώς η τεκμηρίωση έχει λιγότερη προτεραιότητα, τελικά ασκεί μεγαλύτερη πίεση στην ομάδα QA
  • Νέες λειτουργίες εισάγονται γρήγορα, γεγονός που μειώνει τον διαθέσιμο χρόνο για τις ομάδες δοκιμών να προσδιορίσουν εάν οι πιο πρόσφατες λειτουργίες είναι σύμφωνα με τις απαιτήσεις και αν ανταποκρίνονται πραγματικά στις επαγγελματικές στολές
  • Συχνά απαιτείται από τους δοκιμαστές να παίξουν ρόλο ημι-προγραμματιστή
  • Οι κύκλοι εκτέλεσης της δοκιμής είναι εξαιρετικά συμπιεσμένοι
  • Πολύ λιγότερος χρόνος για την προετοιμασία του σχεδίου δοκιμής
  • Για τη δοκιμή παλινδρόμησης, θα έχουν ελάχιστο χρόνο
  • Αλλαγή του ρόλου τους από φύλακας ποιότητας σε συνεργάτη στην Ποιότητα
  • Οι αλλαγές και οι ενημερώσεις απαιτήσεων είναι εγγενείς σε μια ευέλικτη μέθοδο, γεγονός που γίνεται η μεγαλύτερη πρόκληση για την QA

Κίνδυνος αυτοματισμού στην ευέλικτη διαδικασία

  • Η αυτοματοποιημένη διεπαφή χρήστη παρέχει υψηλό επίπεδο εμπιστοσύνης, αλλά είναι αργή στην εκτέλεση, εύθραυστη στη συντήρηση και δαπανηρή κατασκευή. Ο αυτοματισμός ενδέχεται να μην βελτιώσει σημαντικά την παραγωγικότητα των δοκιμών, εκτός εάν οι δοκιμαστές γνωρίζουν πώς να κάνουν δοκιμές
  • Οι αναξιόπιστες δοκιμές είναι μια σημαντική ανησυχία στις αυτοματοποιημένες δοκιμές. Η διόρθωση των δοκιμών που αποτυγχάνουν και η επίλυση ζητημάτων που σχετίζονται με εύθραυστα τεστ θα πρέπει να αποτελούν κορυφαία προτεραιότητα για την αποφυγή ψευδών θετικών
  • Εάν η αυτοματοποιημένη δοκιμή εκκινηθεί με μη αυτόματο τρόπο και όχι μέσω CI (Συνεχής Ενσωμάτωση), τότε υπάρχει κίνδυνος να μην εκτελούνται τακτικά και επομένως μπορεί να προκαλέσουν αποτυχία των δοκιμών
  • Οι αυτοματοποιημένες δοκιμές δεν αντικαθιστούν μια διερευνητική χειροκίνητη δοκιμή. Για να επιτευχθεί η αναμενόμενη ποιότητα του προϊόντος, απαιτείται ένας συνδυασμός τύπων και επιπέδων δοκιμής
  • Πολλά εργαλεία αυτοματισμού που διατίθενται στο εμπόριο παρέχουν απλές δυνατότητες, όπως η αυτοματοποίηση της λήψης και της επανάληψης χειροκίνητων δοκιμαστικών περιπτώσεων. Ένα τέτοιο εργαλείο ενθαρρύνει τη δοκιμή μέσω της διεπαφής χρήστη και οδηγεί σε εγγενώς εύθραυστες και δύσκολες στη διατήρηση δοκιμές. Επίσης, η αποθήκευση δοκιμών εκτός του συστήματος ελέγχου έκδοσης δημιουργεί περιττή πολυπλοκότητα
  • Προκειμένου να εξοικονομηθεί χρόνος, πολλές φορές το σχέδιο δοκιμής αυτοματισμού είναι κακώς σχεδιασμένο ή μη προγραμματισμένο, γεγονός που οδηγεί στην αποτυχία της δοκιμής
  • Οι διαδικασίες ρύθμισης και κατάρριψης δοκιμής συνήθως παραλείπονται κατά τη διάρκεια του αυτοματισμού δοκιμής, ενώ η εκτέλεση χειροκίνητων δοκιμών, οι διαδικασίες ρύθμισης και κατάρριψης δοκιμής ακούγονται απρόσκοπτα
  • Οι μετρήσεις παραγωγικότητας, όπως ένας αριθμός δοκιμαστικών περιπτώσεων που δημιουργούνται ή εκτελούνται ανά ημέρα, μπορεί να είναι τρομερά παραπλανητικές και θα μπορούσαν να οδηγήσουν σε μια μεγάλη επένδυση στην εκτέλεση άχρηστων δοκιμών
  • Τα μέλη της ομάδας ευέλικτου αυτοματισμού πρέπει να είναι αποτελεσματικοί σύμβουλοι: προσιτοί, συνεργάσιμοι και πολυμήχανοι, διαφορετικά αυτό το σύστημα θα αποτύχει γρήγορα
  • Η αυτοματοποίηση μπορεί να προτείνει και να προσφέρει λύσεις δοκιμών που απαιτούν υπερβολική συνεχή συντήρηση σε σχέση με την παρεχόμενη τιμή
  • Οι αυτοματοποιημένες δοκιμές ενδέχεται να μην διαθέτουν την τεχνογνωσία για τη σύλληψη και την παροχή αποτελεσματικών λύσεων
  • Οι αυτοματοποιημένες δοκιμές μπορεί να είναι τόσο επιτυχείς ώστε να ξεμείνουν από σημαντικά προβλήματα προς επίλυση και, επομένως, να στραφούν σε ασήμαντα προβλήματα.

Συμπέρασμα

Η ευέλικτη μεθοδολογία στη δοκιμή λογισμικού περιλαμβάνει δοκιμές όσο το δυνατόν νωρίτερα στο κύκλος ζωής ανάπτυξης λογισμικού. Απαιτεί υψηλή συμμετοχή των πελατών και έλεγχος κώδικα μόλις γίνει διαθέσιμος. Ο κώδικας πρέπει να είναι αρκετά σταθερός για να τον μεταφέρει σε δοκιμή συστήματος. Μπορεί να γίνει εκτενής δοκιμή παλινδρόμησης για να βεβαιωθείτε ότι τα σφάλματα έχουν διορθωθεί και δοκιμαστεί. Κυρίως, η επικοινωνία μεταξύ των ομάδων κάνει τις δοκιμές ευέλικτων μοντέλων επιτυχία!!!