Agile Methodology in Software Testing
Τι είναι η Agile Methodology in Testing;
Agile Methodology που σημαίνει πρακτική που προωθεί συνεχής επανάληψη ανάπτυξης και δοκιμών σε όλο τον κύκλο ζωής ανάπτυξης λογισμικού του έργου. Στο μοντέλο Agile στη δοκιμή λογισμικού, οι δραστηριότητες ανάπτυξης και δοκιμής είναι ταυτόχρονες, σε αντίθεση με το μοντέλο Waterfall.
Τι είναι το Agile Software Development;
Τα Διαχωριστικά Ευέλικτη ανάπτυξη λογισμικού Η μεθοδολογία είναι μια από τις απλούστερες και αποτελεσματικές διαδικασίες για τη μετατροπή ενός οράματος για μια επιχειρηματική ανάγκη σε λύσεις λογισμικού. Το Agile είναι ένας όρος που χρησιμοποιείται για να περιγράψει προσεγγίσεις ανάπτυξης λογισμικού που χρησιμοποιούν συνεχή προγραμματισμό, μάθηση, βελτίωση, ομαδική συνεργασία, εξελικτική ανάπτυξη και έγκαιρη παράδοση. Ενθαρρύνει τις ευέλικτες αντιδράσεις στην αλλαγή.
Η ευέλικτη ανάπτυξη λογισμικού δίνει έμφαση σε τέσσερις βασικές αξίες.
- Ατομικές και ομαδικές αλληλεπιδράσεις πάνω από διαδικασίες και εργαλεία
- Λογισμικό εργασίας πάνω από ολοκληρωμένη τεκμηρίωση
- Συνεργασία πελατών για διαπραγμάτευση συμβολαίου
- Ανταπόκριση στην αλλαγή μετά από ένα σχέδιο
Agile Model Vs Model Waterfall
Το Agile και το Waterfall είναι δύο διαφορετικές μέθοδοι για τη διαδικασία ανάπτυξης λογισμικού. Αν και διαφέρουν στην προσέγγισή τους, και οι δύο μέθοδοι είναι χρήσιμες κατά καιρούς, ανάλογα με την απαίτηση και τον τύπο του έργου.
Ευκίνητο μοντέλο | Μοντέλο καταρράκτη |
---|---|
Ορισμός ευέλικτη μεθοδολογία στη δοκιμή λογισμικού: Οι ευέλικτες μεθοδολογίες προτείνουν σταδιακή και επαναληπτική προσέγγιση στο σχεδιασμό λογισμικού | Μοντέλο Καταρράκτη: Η ανάπτυξη του λογισμικού ρέει διαδοχικά από το σημείο εκκίνησης στο τελικό σημείο. |
Τα Διαχωριστικά Ευκίνητη διαδικασία στη δοκιμή λογισμικού χωρίζεται σε μεμονωμένα μοντέλα στα οποία εργάζονται οι σχεδιαστές | Η διαδικασία σχεδιασμού δεν χωρίζεται σε μεμονωμένα μοντέλα |
Ο πελάτης έχει πρώιμες και συχνές ευκαιρίες να κοιτάξει το προϊόν και να λάβει αποφάσεις και αλλαγές στο έργο | Ο πελάτης μπορεί να δει το προϊόν μόνο στο τέλος του έργου |
Το ευέλικτο μοντέλο στη δοκιμή θεωρείται μη δομημένο σε σύγκριση με το μοντέλο καταρράκτη | Τα μοντέλα καταρράκτη είναι πιο ασφαλή επειδή είναι τόσο προσανατολισμένα στο σχέδιο |
Τα μικρά έργα μπορούν να υλοποιηθούν πολύ γρήγορα. Για μεγάλα έργα, είναι δύσκολο να εκτιμηθεί ο χρόνος ανάπτυξης. | Όλα τα είδη του έργου μπορούν να εκτιμηθούν και να ολοκληρωθούν. |
Το σφάλμα μπορεί να διορθωθεί στη μέση του έργου. | Μόνο στο τέλος δοκιμάζεται ολόκληρο το προϊόν. Εάν εντοπιστεί το σφάλμα απαίτησης ή πρέπει να γίνουν οποιεσδήποτε αλλαγές, το έργο πρέπει να ξεκινήσει από την αρχή |
Η διαδικασία ανάπτυξης είναι επαναληπτική και το έργο εκτελείται σε σύντομες (2-4) επαναλήψεις εβδομάδων. Ο προγραμματισμός είναι πολύ μικρότερος. | Η διαδικασία ανάπτυξης είναι σταδιακή και η φάση είναι πολύ μεγαλύτερη από την επανάληψη. Κάθε φάση τελειώνει με τη λεπτομερή περιγραφή της επόμενης φάσης. |
Η τεκμηρίωση έχει λιγότερη προτεραιότητα από ανάπτυξη λογισμικού | Η τεκμηρίωση είναι κορυφαία προτεραιότητα και μπορεί να χρησιμοποιηθεί ακόμη και για την εκπαίδευση του προσωπικού και την αναβάθμιση του λογισμικού με άλλη ομάδα |
Κάθε επανάληψη έχει τη δική της δοκιμαστική φάση. Επιτρέπει την εφαρμογή δοκιμών παλινδρόμησης κάθε φορά που απελευθερώνονται νέες συναρτήσεις ή λογική. | Μόνο μετά τη φάση ανάπτυξης, η φάση δοκιμής εκτελείται επειδή τα ξεχωριστά μέρη δεν είναι πλήρως λειτουργικά. |
Σε ευέλικτες δοκιμές όταν τελειώνει μια επανάληψη, παραδίδονται στον πελάτη χαρακτηριστικά του προϊόντος με δυνατότητα αποστολής. Τα νέα χαρακτηριστικά μπορούν να χρησιμοποιηθούν αμέσως μετά την αποστολή. Είναι χρήσιμο όταν έχετε καλή επαφή με πελάτες. | Όλα τα χαρακτηριστικά που αναπτύχθηκαν παραδίδονται αμέσως μετά τη μακρά φάση υλοποίησης. |
Οι δοκιμαστές και οι προγραμματιστές συνεργάζονται | Οι δοκιμαστές λειτουργούν χωριστά από τους προγραμματιστές |
Στο τέλος κάθε σπριντ, πραγματοποιείται αποδοχή από τον χρήστη | Η αποδοχή του χρήστη είναι εκτελούνται στο τέλος του έργου. |
Απαιτεί στενή επικοινωνία με προγραμματιστές και από κοινού ανάλυση των απαιτήσεων και προγραμματισμού | Ο προγραμματιστής δεν εμπλέκεται στη διαδικασία απαιτήσεων και σχεδιασμού. Συνήθως, χρονικές καθυστερήσεις μεταξύ των δοκιμών και της κωδικοποίησης |
Ελέγξτε επίσης: - Agile Vs Waterfall: Γνωρίστε τη διαφορά μεταξύ των μεθοδολογιών
Ευκίνητη Διαδικασία
Ελέγξτε τα παρακάτω Εύκαμπτη μεθοδολογία διαδικασία για την γρήγορη παράδοση επιτυχημένων συστημάτων.
Υπάρχουν διάφορες Ευέλικτες μέθοδοι υπάρχουν σε ευέλικτες δοκιμές και αυτές παρατίθενται παρακάτω:
Ράγκμπι
Το SCRUM είναι μια ευέλικτη μέθοδος ανάπτυξης που επικεντρώνεται ειδικά στον τρόπο διαχείρισης εργασιών μέσα σε ένα περιβάλλον ανάπτυξης που βασίζεται στην ομάδα. Βασικά, το Scrum προέρχεται από δραστηριότητα που εμφανίζεται κατά τη διάρκεια ενός αγώνα ράγκμπι. Το Scrum πιστεύει στην ενδυνάμωση της ομάδας ανάπτυξης και υποστηρίζει την εργασία σε μικρές ομάδες (ας πούμε - 7 έως 9 μέλη). Το Agile και το Scrum αποτελούνται από τρεις ρόλους και οι ευθύνες τους εξηγούνται ως εξής:
-
Ράγκμπι Δάσκαλος
- Ράγκμπι Δάσκαλος είναι υπεύθυνος για τη συγκρότηση της ομάδας, τη συνάντηση σπριντ και αφαιρεί τα εμπόδια στην πρόοδο
-
Ιδιοκτήτης προϊόντος
-
Ο κάτοχος προϊόντος δημιουργεί ανεκτέλεστο προϊόν, δίνει προτεραιότητα στο ανεκτέλεστο και είναι υπεύθυνος για την παράδοση της λειτουργικότητας σε κάθε επανάληψη
-
-
Ομάδα Scrum
-
Η ομάδα διαχειρίζεται τη δουλειά της και οργανώνει την εργασία για να ολοκληρώσει το σπριντ ή τον κύκλο
-
Προϊόν Backlog
Αυτό είναι ένα αποθετήριο όπου οι απαιτήσεις παρακολουθούνται με λεπτομέρειες σχετικά με τον αριθμό απαιτήσεων (ιστορίες χρηστών) που πρέπει να συμπληρωθούν για κάθε κυκλοφορία. Θα πρέπει να διατηρηθεί και να δοθεί προτεραιότητα από τον ιδιοκτήτη του προϊόντος και θα πρέπει να διανεμηθεί στην ομάδα scrum. Η ομάδα μπορεί επίσης να ζητήσει μια νέα προσθήκη ή τροποποίηση ή διαγραφή απαίτησης
Πρακτικές Scrum
Οι πρακτικές περιγράφονται αναλυτικά:
Ροή διαδικασίας των Μεθοδολογιών Scrum:
Ροή διαδικασίας του δοκιμή scrum είναι όπως ακολουθεί:
- Κάθε επανάληψη ενός scrum είναι γνωστή ως Sprint
- Το ανεκτέλεστο προϊόν είναι μια λίστα όπου καταχωρούνται όλες οι λεπτομέρειες για να ληφθεί το τελικό προϊόν
- Κατά τη διάρκεια κάθε Sprint, επιλέγονται και μετατρέπονται κορυφαίες ιστορίες χρηστών για το ανεκτέλεστο προϊόν Sprint απόθεμα
- Η ομάδα εργάζεται στο καθορισμένο ανεκτέλεστο σπριντ
- Ομαδικοί έλεγχοι για την καθημερινή εργασία
- Στο τέλος του σπριντ, η ομάδα προσφέρει λειτουργικότητα προϊόντος
Extreme Programming (XP)
Η τεχνική Extreme Programming είναι πολύ χρήσιμη όταν υπάρχουν συνεχώς μεταβαλλόμενες απαιτήσεις ή απαιτήσεις από τους πελάτες ή όταν δεν είναι σίγουροι για τη λειτουργικότητα του συστήματος. Υποστηρίζει τις συχνές «κυκλοφορίες» του προϊόντος σε σύντομους κύκλους ανάπτυξης, γεγονός που βελτιώνει εγγενώς την παραγωγικότητα του συστήματος και εισάγει επίσης ένα σημείο ελέγχου όπου οι απαιτήσεις του πελάτη μπορούν να υλοποιηθούν εύκολα. Το XP αναπτύσσει λογισμικό κρατώντας τον πελάτη στο στόχο.
Οι επιχειρηματικές απαιτήσεις συγκεντρώνονται με όρους ιστοριών. Όλες αυτές οι ιστορίες αποθηκεύονται σε ένα μέρος που ονομάζεται πάρκινγκ.
Σε αυτόν τον τύπο μεθοδολογίας, οι εκδόσεις βασίζονται στους συντομότερους κύκλους που ονομάζονται Επαναλήψεις με χρονικό διάστημα 14 ημερών. Κάθε επανάληψη περιλαμβάνει φάσεις όπως κωδικοποίηση, δοκιμή μονάδας και δοκιμή συστήματος όπου σε κάθε φάση θα ενσωματωθούν κάποιες δευτερεύουσες ή σημαντικές λειτουργίες στην εφαρμογή.
Φάσεις ακραίου προγραμματισμού:
Υπάρχουν 6 διαθέσιμες φάσεις στη μέθοδο Agile XP και αυτές εξηγούνται ως εξής:
Σχεδιασμός
-
Προσδιορισμός ενδιαφερομένων και χορηγών
-
Απαιτήσεις υποδομής
-
Ασφάλεια σχετικές πληροφορίες και συλλογή
-
Συμφωνίες επιπέδου υπηρεσιών και οι όροι τους
Ανάλυση
-
Αποτύπωση ιστοριών σε πάρκινγκ
-
Δώστε προτεραιότητα στις ιστορίες στο Parking
-
Καθαρισμός ιστοριών για εκτίμηση
-
Ορισμός επανάληψης SPAN (Ώρα)
-
Σχεδιασμός πόρων τόσο για την ανάπτυξη όσο και για τις ομάδες QA
Υπηρεσίες
-
Ανάλυση εργασιών
-
Προετοιμασία σεναρίου δοκιμής για κάθε εργασία
-
Πλαίσιο Αυτοματισμού Παλινδρόμησης
Εκτέλεση
-
Κωδικοποίηση
-
Εκτέλεση χειροκίνητων σεναρίων δοκιμών
-
Δημιουργία αναφοράς ελαττωμάτων
-
Μετατροπή περιπτώσεων δοκιμών παλινδρόμησης Εγχειριδίου σε Αυτοματισμό
-
Ανασκόπηση Mid Iteration
-
Τέλος επανάληψης αναθεώρησης
Τύλιγμα
-
Μικρές εκδόσεις
-
Demos και κριτικές
-
Αναπτύξτε νέες ιστορίες με βάση την ανάγκη
-
Βελτιώσεις διαδικασίας με βάση τα σχόλια επανεξέτασης στο τέλος της επανάληψης
Κλείσιμο
-
Πιλοτική εκτόξευση
-
Προπόνηση
-
Έναρξη παραγωγής
-
Εγγύηση SLA
-
Review στρατηγική SOA
-
Υποστήριξη Παραγωγής
Υπάρχουν δύο σενάρια διαθέσιμα για την παρακολούθηση της εργασίας σε καθημερινή βάση και αυτά παρατίθενται παρακάτω για αναφορά.
-
Story Cardboard
-
Αυτός είναι ένας παραδοσιακός τρόπος συλλογής όλων των ιστοριών σε έναν πίνακα με τη μορφή σημειώσεων για να παρακολουθείτε τις καθημερινές δραστηριότητες XP. Καθώς αυτή η χειρωνακτική δραστηριότητα απαιτεί περισσότερη προσπάθεια και χρόνο, είναι προτιμότερο να μεταβείτε σε μια ηλεκτρονική φόρμα.
-
-
Online Storyboard
-
Το διαδικτυακό εργαλείο Storyboard μπορεί να χρησιμοποιηθεί για την αποθήκευση των ιστοριών. Πολλές ομάδες μπορούν να το χρησιμοποιήσουν για διαφορετικούς σκοπούς.
-
Κρυσταλλικές Μεθοδολογίες
Η Κρυσταλλική Μεθοδολογία βασίζεται σε τρεις έννοιες
-
Ναύλωση: Διάφορες δραστηριότητες που εμπλέκονται σε αυτή τη φάση είναι η δημιουργία μιας ομάδας ανάπτυξης, η εκτέλεση μιας προκαταρκτικής ανάλυσης σκοπιμότητας, η ανάπτυξη ενός αρχικού σχεδίου και η τελειοποίηση της μεθοδολογίας ανάπτυξης
-
Κυκλική παράδοση: Η κύρια φάση ανάπτυξης αποτελείται από δύο ή περισσότερους κύκλους παράδοσης, κατά τους οποίους η
- Η ομάδα ενημερώνει και βελτιώνει το σχέδιο κυκλοφορίας
- Υλοποιεί ένα υποσύνολο απαιτήσεων μέσω μιας ή περισσότερων δοκιμαστικών επαναλήψεων ενοποίησης προγράμματος
- Το ολοκληρωμένο προϊόν παραδίδεται σε πραγματικούς χρήστες
- Revεικόνα του σχεδίου έργου και υιοθετηθείσα μεθοδολογία ανάπτυξης
- Τύλιξε: Οι δραστηριότητες που εκτελούνται σε αυτή τη φάση είναι η ανάπτυξη στο περιβάλλον χρήστη, οι αναθεωρήσεις μετά την ανάπτυξη και οι προβληματισμοί πραγματοποιούνται.
Δυναμική Μέθοδος Ανάπτυξης Λογισμικού (DSDM)
Το DSDM είναι α Ταχεία ανάπτυξη εφαρμογών (RAD) προσέγγιση για την ανάπτυξη λογισμικού και παρέχει ένα ευέλικτο πλαίσιο παράδοσης έργου. Η σημαντική πτυχή του DSDM είναι ότι απαιτείται από τους χρήστες να συμμετέχουν ενεργά και δίνεται στις ομάδες η εξουσία να λαμβάνουν αποφάσεις. Η συχνή παράδοση του προϊόντος γίνεται η ενεργή εστίαση με το DSDM. Οι τεχνικές που χρησιμοποιούνται στο DSDM είναι
- Χρόνος BoxING
- Κανόνες MosCoW
- Πρωτότυπα
Το έργο DSDM αποτελείται από 7 φάσεις
- Προεργασία
- Μελέτη σκοπιμότητας
- Επιχειρησιακή Μελέτη
- Επανάληψη λειτουργικού μοντέλου
- Σχεδιασμός και κατασκευή Επανάληψης
- Εκτέλεση
- Μετά το έργο
Ανάπτυξη βάσει λειτουργιών (FDD)
Αυτή η μέθοδος επικεντρώνεται γύρω από τα χαρακτηριστικά «σχεδιασμός και κατασκευή». Σε αντίθεση με άλλες μεθόδους Agile στη μηχανική λογισμικού, το FDD περιγράφει πολύ συγκεκριμένες και σύντομες φάσεις εργασίας που πρέπει να εκτελούνται ξεχωριστά ανά χαρακτηριστικό. Περιλαμβάνει αναλυτική παρουσίαση τομέα, επιθεώρηση σχεδίασης, προώθηση στη δημιουργία, επιθεώρηση κώδικα και σχεδιασμό. Η FDD αναπτύσσει το προϊόν τηρώντας τα ακόλουθα πράγματα στον στόχο
- Μοντελοποίηση αντικειμένου τομέα
- Ανάπτυξη ανά χαρακτηριστικό
- Συστατικό/ Κατηγορία ιδιοκτησίας
- Ομάδες χαρακτηριστικών
- επιθεωρήσεις
- Διαχείριση Διαμόρφωση
- Κανονικές Κατασκευές
- Ορατότητα προόδου και αποτελεσμάτων
Ανάπτυξη λογισμικού Lean
Η λιτή μέθοδος ανάπτυξης λογισμικού βασίζεται στην αρχή «Ακριβώς έγκαιρα παραγωγή». Στοχεύει στην αύξηση της ταχύτητας ανάπτυξης λογισμικού και στη μείωση του κόστους. Η λιτή ανάπτυξη μπορεί να συνοψιστεί σε επτά βήματα.
- Εξάλειψη των αποβλήτων
- Ενίσχυση της μάθησης
- Αναβολή δέσμευσης (αποφασίζοντας όσο το δυνατόν πιο αργά)
- Πρόωρη παράδοση
- Ενδυνάμωση της ομάδας
- Κτίριο Integrity
- Βελτιστοποιήστε το σύνολο
Kanban
Kanban προέκυψε αρχικά από την ιαπωνική λέξη που σημαίνει, μια κάρτα που περιέχει όλες τις πληροφορίες που απαιτούνται για το προϊόν σε κάθε στάδιο της διαδρομής του προς την ολοκλήρωσή του. Αυτό το πλαίσιο ή μέθοδος έχει υιοθετηθεί αρκετά στη μέθοδο δοκιμής λογισμικού, ειδικά στις έννοιες Agile.
Scrum Vs Kanban
Ράγκμπι | Kanban |
---|---|
Στην τεχνική scrum, η δοκιμή πρέπει να αναλυθεί έτσι ώστε να μπορούν να ολοκληρωθούν μέσα σε ένα σπριντ | Δεν προδιαγράφεται κανένα συγκεκριμένο μέγεθος αντικειμένου |
Καθορίζει ένα ανεκτέλεστο προϊόν με προτεραιότητα | Η ιεράρχηση είναι προαιρετική |
Η ομάδα Scrum δεσμεύεται για συγκεκριμένο όγκο εργασίας για την επανάληψη | Η δέσμευση είναι προαιρετική |
Το διάγραμμα καύσης προδιαγράφεται | Δεν προδιαγράφεται κανένα συγκεκριμένο μέγεθος αντικειμένου |
Ανάμεσα σε κάθε σπριντ, γίνεται επαναφορά ενός πίνακα scrum | Ένας πίνακας Kanban είναι επίμονος. Περιορίζει τον αριθμό των στοιχείων σε κατάσταση ροής εργασίας |
Δεν μπορεί να προσθέσει στοιχεία σε συνεχή επανάληψη | Μπορεί να προσθέσει στοιχεία όποτε είναι διαθέσιμη χωρητικότητα |
Το WIP περιορίζεται έμμεσα | Το WIP περιορίζεται άμεσα |
Προδιαγεγραμμένες επαναλήψεις με χρονική θυρίδα | Προαιρετικές επαναλήψεις με χρονική θυρίδα |
Ελέγξτε επίσης: - Kanban Vs. Scrum: Ποια είναι η διαφορά;
Ευέλικτες μετρήσεις
Οι μετρήσεις που μπορούν να συλλεχθούν για την αποτελεσματική χρήση του Agile είναι:
-
Drag Factor
-
Προσπάθεια σε ώρες που δεν συμβάλλουν στον στόχο του σπριντ
-
Ο παράγοντας έλξης μπορεί να βελτιωθεί μειώνοντας τον αριθμό των κοινόχρηστων πόρων, μειώνοντας τον όγκο της εργασίας που δεν συνεισφέρει
-
Οι νέες εκτιμήσεις μπορούν να αυξηθούν κατά ποσοστό συντελεστή οπισθέλκουσας -Νέα εκτίμηση = (Παλιά εκτίμηση+συντελεστής οπισθέλκουσας)
-
-
Ταχύτητα
-
Ποσότητα εκκρεμοτήτων (ιστορίες χρηστών) που μετατράπηκαν σε λειτουργία αποστολής του sprint
-
-
Προστέθηκε αριθμός δοκιμών μονάδας
-
Χρονικό διάστημα που απαιτείται για την ολοκλήρωση της ημερήσιας κατασκευής
-
Σφάλματα που εντοπίστηκαν σε μια επανάληψη ή σε προηγούμενες επαναλήψεις
-
Διαρροή ελαττώματος παραγωγής