Agile Methodology in Software Testing

Ευέλικτη μεθοδολογία

Τι είναι η Agile Methodology in Testing;

Agile Methodology που σημαίνει μια πρακτική που promotes συνεχής επανάληψη ανάπτυξης και δοκιμών σε όλο τον κύκλο ζωής ανάπτυξης λογισμικού του έργου. Στο μοντέλο Agile στη δοκιμή λογισμικού, οι δραστηριότητες ανάπτυξης και δοκιμής είναι ταυτόχρονες, σε αντίθεση με το μοντέλο Waterfall.

Ευέλικτη μεθοδολογία
Ευέλικτη μεθοδολογία

Τι είναι το Agile Software Development;

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

Η ευέλικτη ανάπτυξη λογισμικού δίνει έμφαση σε τέσσερις βασικές αξίες.

  1. Ατομικές και ομαδικές αλληλεπιδράσεις πάνω από διαδικασίες και εργαλεία
  2. Λογισμικό εργασίας πάνω από ολοκληρωμένη τεκμηρίωση
  3. Συνεργασία πελατών για διαπραγμάτευση συμβολαίου
  4. Ανταπόκριση στην αλλαγή over following ένα σχέδιο

Agile Model Vs Model Waterfall

Το Agile και το Waterfall είναι δύο διαφορετικές μέθοδοι για τη διαδικασία ανάπτυξης λογισμικού. Αν και διαφέρουν στην προσέγγισή τους, και οι δύο μέθοδοι είναι χρήσιμες κατά καιρούς, ανάλογα με την απαίτηση και τον τύπο του έργου.

Ευκίνητο μοντέλο Μοντέλο καταρράκτη
Ορισμός ευέλικτη μεθοδολογία στη δοκιμή λογισμικού: Οι ευέλικτες μεθοδολογίες προτείνουν σταδιακή και επαναληπτική προσέγγιση στο σχεδιασμό λογισμικού Μοντέλο Καταρράκτη: Η ανάπτυξη του λογισμικού ρέει διαδοχικά από το σημείο εκκίνησης στο τελικό σημείο.
Η Ευκίνητη διαδικασία στη δοκιμή λογισμικού χωρίζεται σε μεμονωμένα μοντέλα στα οποία εργάζονται οι σχεδιαστές Η διαδικασία σχεδιασμού δεν χωρίζεται σε μεμονωμένα μοντέλα
Ο πελάτης έχει πρώιμες και συχνές ευκαιρίες να κοιτάξει το προϊόν και να λάβει αποφάσεις και αλλαγές στο έργο Ο πελάτης μπορεί να δει το προϊόν μόνο στο τέλος του έργου
Το ευέλικτο μοντέλο στη δοκιμή θεωρείται μη δομημένο σε σύγκριση με το μοντέλο καταρράκτη Τα μοντέλα καταρράκτη είναι πιο ασφαλή επειδή είναι τόσο προσανατολισμένα στο σχέδιο
Τα μικρά έργα μπορούν να υλοποιηθούν πολύ γρήγορα. Για μεγάλα έργα, είναι δύσκολο να εκτιμηθεί ο χρόνος ανάπτυξης. Όλα τα είδη του έργου μπορούν να εκτιμηθούν και να ολοκληρωθούν.
Το σφάλμα μπορεί να διορθωθεί στη μέση του έργου. Μόνο στο τέλος δοκιμάζεται ολόκληρο το προϊόν. Εάν εντοπιστεί το σφάλμα απαίτησης ή πρέπει να γίνουν οποιεσδήποτε αλλαγές, το έργο πρέπει να ξεκινήσει από την αρχή
Η διαδικασία ανάπτυξης είναι επαναληπτική και το έργο εκτελείται σε σύντομες (2-4) επαναλήψεις εβδομάδων. Ο προγραμματισμός είναι πολύ μικρότερος. Η διαδικασία ανάπτυξης είναι σταδιακή και η φάση είναι πολύ μεγαλύτερη από την επανάληψη. Κάθε φάση τελειώνει με τη λεπτομερή περιγραφή της επόμενης φάσης.
Η τεκμηρίωση έχει λιγότερη προτεραιότητα από ανάπτυξη λογισμικού Η τεκμηρίωση αποτελεί κορυφαία προτεραιότητα και μπορεί να χρησιμοποιηθεί ακόμη και για την εκπαίδευση του προσωπικού και upgrade το λογισμικό με άλλη ομάδα
Κάθε επανάληψη έχει τη δική της δοκιμαστική φάση. Επιτρέπει την εφαρμογή δοκιμών παλινδρόμησης κάθε φορά που απελευθερώνονται νέες συναρτήσεις ή λογική. Μόνο μετά τη φάση ανάπτυξης, η φάση δοκιμής εκτελείται επειδή τα ξεχωριστά μέρη δεν είναι πλήρως λειτουργικά.
Σε ευέλικτες δοκιμές όταν τελειώνει μια επανάληψη, παραδίδονται στον πελάτη χαρακτηριστικά του προϊόντος με δυνατότητα αποστολής. Τα νέα χαρακτηριστικά μπορούν να χρησιμοποιηθούν αμέσως μετά την αποστολή. Είναι χρήσιμο όταν έχετε καλή επαφή με πελάτες. Όλα τα χαρακτηριστικά που αναπτύχθηκαν παραδίδονται αμέσως μετά τη μακρά φάση υλοποίησης.
Οι δοκιμαστές και οι προγραμματιστές συνεργάζονται Οι δοκιμαστές λειτουργούν χωριστά από τους προγραμματιστές
Στο τέλος κάθε sprint, πραγματοποιείται αποδοχή από τον χρήστη Η αποδοχή του χρήστη είναι εκτελούνται στο τέλος του έργου.
Απαιτεί στενή επικοινωνία με προγραμματιστές και από κοινού ανάλυση των απαιτήσεων και προγραμματισμού Ο προγραμματιστής δεν εμπλέκεται στη διαδικασία απαιτήσεων και σχεδιασμού. Συνήθως, χρονικές καθυστερήσεις μεταξύ των δοκιμών και της κωδικοποίησης

Ελέγξτε επίσης: - Agile Vs Waterfall: Γνωρίστε τη διαφορά μεταξύ των μεθοδολογιών

Ευκίνητη Διαδικασία

Ελέγξτε τα παρακάτω Εύκαμπτη μεθοδολογία διαδικασία για την γρήγορη παράδοση επιτυχημένων συστημάτων.

Ευέλικτο μοντέλο διαδικασίας
Ευέλικτο μοντέλο διαδικασίας

Υπάρχουν διάφορες Ευέλικτες μέθοδοι υπάρχουν σε ευέλικτες δοκιμές και αυτές παρατίθενται παρακάτω:

Ράγκμπι

Το SCRUM είναι μια ευέλικτη μέθοδος ανάπτυξης που επικεντρώνεται ειδικά στον τρόπο διαχείρισης εργασιών μέσα σε ένα περιβάλλον ανάπτυξης που βασίζεται στην ομάδα. Βασικά, το Scrum προέρχεται από δραστηριότητα που εμφανίζεται κατά τη διάρκεια ενός αγώνα ράγκμπι. Το Scrum πιστεύει στην ενδυνάμωση της ομάδας ανάπτυξης και υποστηρίζει την εργασία σε μικρές ομάδες (ας πούμε - 7 έως 9 μέλη). Το Agile και το Scrum αποτελούνται από τρεις ρόλους και οι ευθύνες τους εξηγούνται ως εξής:

Μέθοδος Scrum
Μέθοδος Scrum
  • Ράγκμπι Δάσκαλος
    • Ράγκμπι Δάσκαλος είναι υπεύθυνος για τη συγκρότηση της ομάδας, sprint συνάντηση και αίρει τα εμπόδια στην πρόοδο
  • Ιδιοκτήτης προϊόντος
    • Ο κάτοχος προϊόντος δημιουργεί ανεκτέλεστο προϊόν, δίνει προτεραιότητα στο ανεκτέλεστο και είναι υπεύθυνος για την παράδοση της λειτουργικότητας σε κάθε επανάληψη
  • Ομάδα Scrum
    • Η ομάδα διαχειρίζεται τη δική της εργασία και οργανώνει την εργασία για να την ολοκληρώσει sprint ή κύκλου

Προϊόν Backlog

Αυτό είναι ένα αποθετήριο όπου οι απαιτήσεις παρακολουθούνται με details σχετικά με τον αριθμό απαιτήσεων (ιστορίες χρήστη) που πρέπει να συμπληρωθούν για κάθε κυκλοφορία. Θα πρέπει να διατηρηθεί και να δοθεί προτεραιότητα από τον Κάτοχο Προϊόντος και θα πρέπει να διανεμηθεί στην ομάδα scrum. Η ομάδα μπορεί επίσης να ζητήσει μια νέα προσθήκη ή τροποποίηση ή διαγραφή απαίτησης

Πρακτικές Scrum

Οι πρακτικές περιγράφονται αναλυτικά:

Πρακτικές Scrum
Πρακτικές Scrum

Ροή διαδικασίας των Μεθοδολογιών Scrum:

Ροή διαδικασίας του δοκιμή scrum είναι όπως ακολουθεί:

  • Κάθε επανάληψη ενός scrum είναι γνωστή ως Sprint
  • Το ανεκτέλεστο προϊόν είναι μια λίστα όπου όλα ντεtails εισάγονται για να λάβετε το τελικό προϊόν
  • Κατά τη διάρκεια κάθε Sprint, επιλέγονται και μετατρέπονται κορυφαίες ιστορίες χρηστών για το ανεκτέλεστο προϊόν Sprint απόθεμα
  • Η ομάδα εργάζεται στα καθορισμένα sprint απόθεμα
  • Ομαδικοί έλεγχοι για την καθημερινή εργασία
  • Στο τέλος του sprint, η ομάδα παρέχει λειτουργικότητα προϊόντος

Extreme Programming (XP)

Η τεχνική Extreme Programming είναι πολύ χρήσιμη όταν υπάρχουν συνεχώς μεταβαλλόμενες απαιτήσεις ή απαιτήσεις από τους πελάτες ή όταν δεν είναι σίγουροι για τη λειτουργικότητα του συστήματος. Υποστηρίζει τις συχνές «κυκλοφορίες» του προϊόντος σε σύντομους κύκλους ανάπτυξης, γεγονός που βελτιώνει εγγενώς την παραγωγικότητα του συστήματος και εισάγει επίσης ένα σημείο ελέγχου όπου οι απαιτήσεις του πελάτη μπορούν να υλοποιηθούν εύκολα. Το XP αναπτύσσει λογισμικό κρατώντας τον πελάτη στο στόχο.

Ακραίος προγραμματισμός
Ακραίος προγραμματισμός

Οι επιχειρηματικές απαιτήσεις συγκεντρώνονται με όρους ιστοριών. Όλες αυτές οι ιστορίες αποθηκεύονται σε ένα μέρος που ονομάζεται πάρκινγκ.

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

Φάσεις ακραίου προγραμματισμού:

Υπάρχουν 6 διαθέσιμες φάσεις στη μέθοδο Agile XP και αυτές εξηγούνται ως εξής:

Σχεδιασμός

  • Προσδιορισμός ενδιαφερομένων και χορηγών
  • Απαιτήσεις υποδομής
  • Ασφάλεια σχετικές πληροφορίες και συλλογή
  • Συμφωνίες επιπέδου υπηρεσιών και οι όροι τους

Ανάλυση

  • Αποτύπωση ιστοριών σε πάρκινγκ
  • Δώστε προτεραιότητα στις ιστορίες στο Parking
  • Καθαρισμός ιστοριών για εκτίμηση
  • Ορισμός επανάληψης SPAN (Ώρα)
  • Σχεδιασμός πόρων τόσο για την ανάπτυξη όσο και για τις ομάδες QA

Υπηρεσίες

  • Ανάλυση εργασιών
  • Προετοιμασία σεναρίου δοκιμής για κάθε εργασία
  • Πλαίσιο Αυτοματισμού Παλινδρόμησης

Εκτέλεση

  • Κωδικοποίηση
  • Εκτέλεση χειροκίνητων σεναρίων δοκιμών
  • Δημιουργία αναφοράς ελαττωμάτων
  • Μετατροπή περιπτώσεων δοκιμών παλινδρόμησης Εγχειριδίου σε Αυτοματισμό
  • Ανασκόπηση Mid Iteration
  • Τέλος επανάληψης αναθεώρησης

Τύλιγμα

  • Μικρές εκδόσεις
  • Demos και κριτικές
  • Αναπτύξτε νέες ιστορίες με βάση την ανάγκη
  • Βελτιώσεις διαδικασίας με βάση τα σχόλια επανεξέτασης στο τέλος της επανάληψης

Κλείσιμο

  • Πιλοτική εκτόξευση
  • Εκπαίδευση
  • Έναρξη παραγωγής
  • Εγγύηση SLA
  • Επανεξέταση στρατηγικής SOA
  • Υποστήριξη Παραγωγής

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

  • Story Cardboard
    • Αυτός είναι ένας παραδοσιακός τρόπος συλλογής όλων των ιστοριών σε έναν πίνακα με τη μορφή σημειώσεων για να παρακολουθείτε τις καθημερινές δραστηριότητες XP. Καθώς αυτή η χειρωνακτική δραστηριότητα απαιτεί περισσότερη προσπάθεια και χρόνο, είναι προτιμότερο να μεταβείτε σε μια ηλεκτρονική φόρμα.
  • Online Storyboard
    • Το διαδικτυακό εργαλείο Storyboard μπορεί να χρησιμοποιηθεί για την αποθήκευση των ιστοριών. Πολλές ομάδες μπορούν να το χρησιμοποιήσουν για διαφορετικούς σκοπούς.

Κρυσταλλικές Μεθοδολογίες

Η Κρυσταλλική Μεθοδολογία βασίζεται σε τρία concepts

  1. Ναύλωση: Διάφορες δραστηριότητες που εμπλέκονται σε αυτή τη φάση είναι η δημιουργία μιας ομάδας ανάπτυξης, η εκτέλεση μιας προκαταρκτικής ανάλυσης σκοπιμότητας, η ανάπτυξη ενός αρχικού σχεδίου και η τελειοποίηση της μεθοδολογίας ανάπτυξης
  2. Κυκλική παράδοση: Η κύρια φάση ανάπτυξης αποτελείται από δύο ή περισσότερους κύκλους παράδοσης, κατά τους οποίους η
    1. Η ομάδα ενημερώνει και βελτιώνει το σχέδιο κυκλοφορίας
    2. Υλοποιεί ένα υποσύνολο απαιτήσεων μέσω μιας ή περισσότερων δοκιμαστικών επαναλήψεων ενοποίησης προγράμματος
    3. Το ολοκληρωμένο προϊόν παραδίδεται σε πραγματικούς χρήστες
    4. Ανασκόπηση του σχεδίου έργου και υιοθετηθείσα μεθοδολογία ανάπτυξης
  3. Τύλιξε: Οι δραστηριότητες που εκτελούνται σε αυτή τη φάση είναι η ανάπτυξη στο περιβάλλον χρήστη, οι αναθεωρήσεις μετά την ανάπτυξη και οι προβληματισμοί πραγματοποιούνται.

Δυναμική Μέθοδος Ανάπτυξης Λογισμικού (DSDM)

Το DSDM είναι α Ταχεία ανάπτυξη εφαρμογών (RAD) προσέγγιση για την ανάπτυξη λογισμικού και παρέχει ένα ευέλικτο πλαίσιο παράδοσης έργου. Η σημαντική πτυχή του DSDM είναι ότι απαιτείται από τους χρήστες να συμμετέχουν ενεργά και δίνεται στις ομάδες η εξουσία να λαμβάνουν αποφάσεις. Η συχνή παράδοση του προϊόντος γίνεται η ενεργή εστίαση με το DSDM. Οι τεχνικές που χρησιμοποιούνται στο DSDM είναι

  1. Χρόνος BoxING
  2. Κανόνες MosCoW
  3. Πρωτότυπα

Το έργο DSDM αποτελείται από 7 φάσεις

  1. Προεργασία
  2. Μελέτη σκοπιμότητας
  3. Επιχειρησιακή Μελέτη
  4. Επανάληψη λειτουργικού μοντέλου
  5. Σχεδιασμός και κατασκευή Επανάληψης
  6. Εκτέλεση
  7. Μετά το έργο

Ανάπτυξη βάσει λειτουργιών (FDD)

Αυτή η μέθοδος επικεντρώνεται γύρω από τα χαρακτηριστικά «σχεδιασμός και κατασκευή». Σε αντίθεση με άλλες μεθόδους Agile στη μηχανική λογισμικού, το FDD περιγράφει πολύ συγκεκριμένες και σύντομες φάσεις εργασίας που πρέπει να πραγματοποιηθούν ξεχωριστά ανά χαρακτηριστικό. Περιλαμβάνει αναλυτική παρουσίαση τομέα, επιθεώρηση σχεδίασης, promoγια την κατασκευή, επιθεώρηση κώδικα και σχεδιασμό. Η FDD αναπτύσσει τη διατήρηση προϊόντων following πράγματα στον στόχο

  1. Μοντελοποίηση αντικειμένου τομέα
  2. Ανάπτυξη ανά χαρακτηριστικό
  3. Συστατικό/ Κατηγορία ιδιοκτησίας
  4. Ομάδες χαρακτηριστικών
  5. επιθεωρήσεις
  6. Διαχείριση Διαμόρφωση
  7. Κανονικές Κατασκευές
  8. Ορατότητα προόδου και αποτελεσμάτων

Ανάπτυξη λογισμικού Lean

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

  1. Εξάλειψη των αποβλήτων
  2. Ενίσχυση της μάθησης
  3. Αναβολή δέσμευσης (αποφασίζοντας όσο το δυνατόν πιο αργά)
  4. Πρόωρη παράδοση
  5. Ενδυνάμωση της ομάδας
  6. Χτίζοντας την ακεραιότητα
  7. Βελτιστοποιήστε το σύνολο

Kanban

Kanban προέκυψε αρχικά από την ιαπωνική λέξη που σημαίνει, μια κάρτα που περιέχει όλες τις πληροφορίες που απαιτούνται για το προϊόν σε κάθε στάδιο της διαδρομής του προς την ολοκλήρωσή του. Αυτό το πλαίσιο ή μέθοδος έχει υιοθετηθεί αρκετά στη μέθοδο δοκιμής λογισμικού, ειδικά στο Agile concepts.

Scrum Vs Kanban

Ράγκμπι Kanban
Στην τεχνική scrum, η δοκιμή πρέπει να αναλυθεί έτσι ώστε να μπορούν να ολοκληρωθούν μέσα σε ένα sprint Δεν προδιαγράφεται κανένα συγκεκριμένο μέγεθος αντικειμένου
Καθορίζει ένα ανεκτέλεστο προϊόν με προτεραιότητα Η ιεράρχηση είναι προαιρετική
Η ομάδα Scrum δεσμεύεται για συγκεκριμένο όγκο εργασίας για την επανάληψη Η δέσμευση είναι προαιρετική
Το διάγραμμα καύσης προδιαγράφεται Δεν προδιαγράφεται κανένα συγκεκριμένο μέγεθος αντικειμένου
Ανάμεσα στο καθένα sprint, γίνεται επαναφορά μιας πλακέτας scrum Ένας πίνακας Kanban είναι επίμονος. Περιορίζει τον αριθμό των στοιχείων σε κατάσταση ροής εργασίας
Δεν μπορεί να προσθέσει στοιχεία σε συνεχή επανάληψη Μπορεί να προσθέσει στοιχεία όποτε είναι διαθέσιμη χωρητικότητα
Το WIP περιορίζεται έμμεσα Το WIP περιορίζεται άμεσα
Χρόνοςboxed επαναλήψεις που προβλέπονται Χρόνοςboxed επαναλήψεις προαιρετικές

Ελέγξτε επίσης: - Kanban Vs. Scrum: Ποια είναι η διαφορά;

Ευέλικτες μετρήσεις

Οι μετρήσεις που μπορούν να συλλεχθούν για την αποτελεσματική χρήση του Agile είναι:

  • Drag Factor
    • Προσπάθεια σε hours που δεν συμβάλλουν σε sprint γκολ
    • Ο παράγοντας έλξης μπορεί να βελτιωθεί μειώνοντας τον αριθμό των κοινόχρηστων πόρων, μειώνοντας τον όγκο της εργασίας που δεν συνεισφέρει
    • Οι νέες εκτιμήσεις μπορούν να αυξηθούν κατά ποσοστό συντελεστή οπισθέλκουσας -Νέα εκτίμηση = (Παλιά εκτίμηση+συντελεστής οπισθέλκουσας)
  • Ταχύτητα
    • Ποσότητα εκκρεμοτήτων (ιστορίες χρηστών) που μετατράπηκαν σε λειτουργικότητα με δυνατότητα αποστολής sprint
  • Προστέθηκε αριθμός δοκιμών μονάδας
  • Χρονικό διάστημα που απαιτείται για την ολοκλήρωση της ημερήσιας κατασκευής
  • Σφάλματα που εντοπίστηκαν σε μια επανάληψη ή σε προηγούμενες επαναλήψεις
  • Διαρροή ελαττώματος παραγωγής