system testing vs end end testing
Μια επισκόπηση του Δοκιμή συστήματος και δοκιμές End-to-end:
Οι δοκιμές από άκρο σε άκρο και οι δοκιμές συστήματος συμβαδίζουν πάντοτε, αλλά ακόμη και ένας έμπειρος επαγγελματίας δοκιμών μπορεί να μπερδευτεί για τα τεράστια οφέλη που κάθε προσφορά προσφέρει και να επιλέξει μόνο ένα.
Σε αυτό το άρθρο, θα προσπαθήσουμε να συζητήσουμε μεταξύ δοκιμών από άκρο σε άκρο και δοκιμής συστήματος. Για να κατανοήσουμε τη διαφορά μεταξύ αυτών, πρώτα θα καταλάβουμε ποια είναι τα διαφορετικά στάδια που περνάει κάθε αναπτυσσόμενο προϊόν.
Στη βιομηχανία λογισμικού, είμαστε πάντα σε δίλημμα να επιλέξουμε μεταξύ μιας ταχύτερης κυκλοφορίας και μιας ποιοτικής έκδοσης, αλλά υπάρχει πάντα μια λεπτή ισορροπία μεταξύ τους. Όλοι περιμένουμε ταχύτητα και ποιότητα ταυτόχρονα, κάτι που είναι πολύ πιο δύσκολο.
Τι θα μάθετε:
- Η διάρκεια ζωής ενός προϊόντος λογισμικού υπό δοκιμή
- Τι είναι η δοκιμή συστήματος;
- Γιατί είναι σημαντική η δοκιμή συστήματος;
- Πότε να ξεκινήσετε τη δοκιμή συστήματος;
- Τι είναι η δοκιμή End-to-End;
- Γιατί είναι σημαντική η δοκιμή End to End;
- Πότε πρέπει να ξεκινήσετε τις δοκιμές;
- Διαφορά μεταξύ δοκιμής συστήματος και δοκιμών από άκρο σε άκρο
- Έλεγχος συστήματος ή Δοκιμή από άκρο σε άκρο ή και τα δύο;
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Η διάρκεια ζωής ενός προϊόντος λογισμικού υπό δοκιμή
Ο κύκλος ζωής ενός προϊόντος ξεκινά μόλις ληφθούν οι επιχειρηματικές απαιτήσεις από τον πελάτη. Η ενδιαφερόμενη ομάδα που είναι υπεύθυνη για αυτήν θα κάνει μια διεξοδική ανάλυση του ίδιου και θα σχεδιάσει περαιτέρω τις τεχνικές προδιαγραφές.
Αυτές οι προδιαγραφές θα βοηθήσουν τους τεχνικούς ή τους προγραμματιστές να ξεκινήσουν τη δουλειά τους στην ανάπτυξη λογισμικού. Τα βήματα που ακολουθούν περιγράφονται παρακάτω για την εύκολη κατανόησή σας.
Βήμα 1: Με βάση την περιγραφή προϊόντος υψηλού επιπέδου, ένα προϊόν λογισμικού κατηγοριοποιείται σε διαφορετικές ενότητες και στη συνέχεια σε συστατικά ή μονάδες. Αυτές οι μονάδες αναπτύσσονται ανεξάρτητα έτσι ώστε η ανάπτυξή τους να μπορεί να συνεχιστεί παράλληλα με τη συμμετοχή πολλών προγραμματιστών.
Μόλις αναπτυχθούν, αυτές οι μονάδες δοκιμάζονται μεμονωμένα, οι οποίες θα εμπίπτουν στο Test Unit.
Βήμα 2: Η εξατομικευμένη επικύρωση διασφαλίζει ότι όλες οι μονάδες ενός συστήματος λειτουργούν όπως αναμένεται σε λειτουργικούς και σκοπούς σκοπιμότητας. Αυτά τα στοιχεία, μονάδες ή υποσυστήματα ενσωματώνονται στο επόμενο επίπεδο και στη συνέχεια δοκιμάζονται ως ολοκληρωμένη μονάδα στη δοκιμή ενοποίησης.
Βήμα # 3: Το System Testing έρχεται στην εικόνα σε αυτό το βήμα όπου το ολοκληρωμένο προϊόν θα δοκιμαζόταν για πρώτη φορά στο σύνολό του σε ένα ψευδο-παραγωγικό περιβάλλον. Αυτό το επίπεδο δοκιμών πραγματοποιείται για τον έλεγχο της συμμόρφωσης έναντι λειτουργικών και μη λειτουργικών επιχειρηματικών απαιτήσεων.
Βήμα # 4: Είναι ένα επίπεδο δοκιμών που εκτελείται για αποδοχή από τον πελάτη και ως εκ τούτου, ονομάζεται Δοκιμή αποδοχής. Αυτό θα πραγματοποιηθεί λίγο πριν από το χειρισμό του λογισμικού στον πελάτη, το οποίο είναι το περιβάλλον παραγωγής.
Τι είναι η δοκιμή συστήματος;
Δοκιμή συστήματος είναι κάτι, το οποίο γίνεται μετά τον Έλεγχο Ενσωμάτωσης και πριν από τον Έλεγχο αποδοχής οποιουδήποτε υλικού ή λογισμικού είναι διαθέσιμο.
Η δοκιμή συστήματος πραγματοποιείται για την ανάλυση του συντονισμού των παρακείμενων στοιχείων ως ένα σύστημα, ώστε να διασφαλιστεί εάν πληροί τα πρότυπα ποιότητας ή όχι. Η πρωταρχική εστίαση είναι η ανίχνευση των ελαττωμάτων εντός των συγκροτημάτων πραγματοποιώντας λειτουργικές και μη λειτουργικές δοκιμές στο ενσωματωμένο προϊόν.
Πραγματοποιούνται μη λειτουργικές δοκιμές για να διασφαλιστεί εάν το αναπτυσσόμενο προϊόν θα ανταποκριθεί στις επιχειρηματικές προσδοκίες ή όχι. Διεξάγονται για τον προσδιορισμό του χρόνου απόκρισης μιας εφαρμογής ή για τον έλεγχο της συμβατότητας ή του χειρισμού της εγκατάστασης, της απόδοσης, της παλινδρόμησης, της κλιμάκωσης, της ασφάλειας και λίγων άλλων τομέων.
Ως εκ τούτου, μια εφαρμογή πρέπει να εκκαθαρίσει τόσο λειτουργικά όσο και μη λειτουργικά επίπεδα για να διασφαλίσει ότι αν πληροί τα πρότυπα της αγοράς, μπορεί να χαλάσει τη φήμη της εταιρείας.
Επιτρέψτε μου να εξηγήσω με τη βοήθεια ενός παραδείγματος μιας εφαρμογής για κινητά που κάνει κράτηση με ταξί, όπως το Uber:
Η Uber παρέχει τη δυνατότητα κράτησης ταξί στο διαδίκτυο και διαθέτει διάφορες ενότητες όπως παρακολούθηση τοποθεσίας, πύλες πληρωμής, ναύλος καμπίνας και προφίλ οδηγού που μπορούν να δοκιμαστούν ανεξάρτητα ως μέρος της δοκιμής μονάδας .
Μόλις αυτές οι ενότητες λειτουργούν ανεξάρτητα, ενσωματώνονται για να ελέγχουν και να διασφαλίζουν εάν λειτουργούν μεταξύ τους κάτω Δοκιμή ολοκλήρωσης.
Επιπλέον, οι απαιτήσεις του πελάτη θα αρχίσουν να επικυρώνονται μόνο σε δοκιμές συστήματος, όπως εάν ο πελάτης μπορεί να βρει μια καμπίνα πλησιέστερη στην τοποθεσία του ή εάν είναι σε θέση να πραγματοποιήσει την πληρωμή στην Uber χρησιμοποιώντας την επιλογή τρόπων πληρωμής κ.λπ.
Η επικύρωση αυτών των σεναρίων καλύπτεται στο Δοκιμή συστήματος .
Γιατί είναι σημαντική η δοκιμή συστήματος;
Απαιτείται δοκιμή συστήματος, καθώς οι προγραμματιστές / δοκιμαστές πρέπει να ελέγξουν τις λίγες πτυχές πριν προχωρήσουν στο επόμενο επίπεδο.
Λίγες πτυχές περιλαμβάνουν:
- Πρέπει να είστε σίγουροι για τη λειτουργία του λογισμικού ως μονάδα.
- Πρέπει να ελέγξετε εάν ένα προϊόν δεν παραλείπει λειτουργικές και μη λειτουργικές απαιτήσεις.
- Πρέπει να δοκιμάσετε το προϊόν σε περιβάλλον παραγωγής.
- Πρέπει να ελέγξετε το προϊόν με δεδομένα που μοιάζουν με την παραγωγή.
Το System Testing περιλαμβάνει σενάρια που βασίζονται σε επιχειρηματικούς κινδύνους, περιπτώσεις χρήσης ή περιγραφή υψηλού επιπέδου της συμπεριφοράς του προϊόντος. Περιπτώσεις που σχετίζονται με αλληλεπιδράσεις με διαφορετικούς πόρους συστήματος θα πρέπει επίσης να αποτελούν μέρος της δοκιμής του συστήματος.
Ως εκ τούτου, πρέπει να διεξάγεται από κάποιον που έχει πλήρη γνώση του απαιτούμενου προϊόντος τόσο σε επίπεδο αρχιτεκτονικής όσο και σε επιχειρηματικό επίπεδο. Δεν απαιτείται εσωτερική γνώση σε επίπεδο κωδικοποίησης, αλλά η γνώση του συστήματος είναι υποχρεωτική για τον υπεύθυνο δοκιμών.
Σε γενικές γραμμές, μια ξεχωριστή ομάδα θα ανατεθεί με το έργο της δοκιμής συστήματος και η ομάδα θα σχεδιάσει τα δικά τους σχέδια δοκιμών συστήματος & περιπτώσεις δοκιμών συστήματος, τα οποία θα είναι διαφορετικά από αυτά που είχαν εκτελεστεί νωρίτερα όσον αφορά την κάλυψη των δοκιμών. Εάν απαιτείται, μπορούν να πραγματοποιηθούν πολλαπλές επαναλήψεις των δοκιμών συστήματος σε πολλά περιβάλλοντα.
Πότε να ξεκινήσετε τη δοκιμή συστήματος;
Η δοκιμή συστήματος μπορεί να ξεκινήσει όταν:
- Ο έλεγχος μονάδας έκλεισε με επιτυχία για όλες τις μονάδες χωρίς ανοιχτά ελαττώματα.
- Όλα τα συστατικά που έχουν δοκιμαστεί σε μονάδα είναι καλά ενσωματωμένα και η ολοκλήρωση των δοκιμών έχει πραγματοποιηθεί με επιτυχία.
- Ένα ψευδο-παραγωγικό περιβάλλον είναι διαθέσιμο για τη δοκιμή του προϊόντος του συστήματος.
- Το System Tester γνωρίζει όλα τα εισερχόμενα / έξω του συστήματος και είναι έτοιμο με τα δοκιμαστικά αντικείμενα.
Τι είναι η δοκιμή End-to-End;
Ο έλεγχος ενός λογισμικού είναι μια σημαντική παράμετρος της Διασφάλισης Ποιότητας Λογισμικού. Ένα προϊόν καλής ποιότητας δίνει πάντα υψηλότερο επίπεδο ικανοποίησης τόσο στους εφευρέτες όσο και στον αγοραστή. Για να το πούμε, με άλλα λόγια, ένα εξειδικευμένο προϊόν ή ένα προϊόν υψηλής ποιότητας είναι αποτέλεσμα διεξοδικής παλινδρόμησης και απομάκρυνσης του ελαττώματος σε κάθε επίπεδο.
Όπως εξηγείται από το ίδιο το όνομα, δοκιμή από άκρο σε άκρο είναι ένα από τα επίπεδα δοκιμών όπου μια ροή εφαρμογής ελέγχεται σε συνδυασμό με τα εξαρτώμενα συστήματα. Αυτό γίνεται για να εξασφαλιστεί η ομαλή αλληλεπίδραση με τις εφαρμογές backend & front-end όπως βάσεις δεδομένων ή GUI χρησιμοποιώντας κανάλια δικτύου και ως εκ τούτου αναφέρεται ως Δοκιμή αλυσίδας επισης.
Σε αντίθεση με τις δοκιμές συστήματος, οι δοκιμές διεπαφής χρήστη δεν διαδραματίζουν σημαντικό ρόλο εδώ, αλλά ο έλεγχος αφορά τα υποκείμενα δεδομένα που θέτουν τη διεπαφή σε λειτουργία. Ο έλεγχος από άκρο σε άκρο πραγματοποιείται συνήθως όταν το προϊόν πληροί τις προϋποθέσεις Δοκιμή συστήματος.
Συνεχίζοντας το Παράδειγμά μας του Uber στη φάση δοκιμών από άκρο σε άκρο, θα επικυρώσουμε την πλήρη διαδρομή των πελατών
Άνοιγμα της εφαρμογής στο κινητό του χρήστη -> εύρεση καμπίνας για τον προορισμό που εισήλθε -> Παρακολούθηση της καμπίνας πριν ή κατά τη διάρκεια της διαδρομής-> ολοκλήρωση της διαδρομής και πληρωμή χρησιμοποιώντας μία από τις επιλογές πληρωμής -> τελικά πίστωση στο λογαριασμό του οδηγού.
Διατρέχοντας αυτή τη ροή από άκρο σε άκρο διασφαλίζει ότι ο πελάτης είναι σε θέση να ικανοποιήσει τις ανάγκες του. Αυτή η δοκιμή είναι σημαντική για τον εντοπισμό ζητημάτων εμπειρίας πελατών που σχετίζονται ιδίως με πολλαπλά συστήματα που ενώνονται.
Γιατί είναι σημαντική η δοκιμή End to End;
Οι δοκιμές από άκρο σε άκρο διαδραματίζουν σημαντικό ρόλο όταν το ανεπτυγμένο προϊόν πρέπει να είναι ένα κατανεμημένο σύστημα και απαιτείται να λειτουργεί συλλογικά με τα άλλα συστήματα σε διάφορα περιβάλλοντα. Σε τέτοια σενάρια, απαιτείται έλεγχος 360 μοιρών για να διασφαλιστεί η ακριβής αλληλεπίδραση σε διαφορετικές πλατφόρμες και περιβάλλοντα.
Οι κύριοι στόχοι των δοκιμών από άκρο σε άκρο περιλαμβάνουν:
ποιο είναι το καλύτερο δωρεάν πρόγραμμα λήψης mp3 για Android
- Για να βεβαιωθείτε ότι το ανεπτυγμένο προϊόν είναι καλά συντονισμένο με οποιοδήποτε από τα υποσυστήματα του, τα οποία μπορεί να ανήκουν ή όχι σε εμάς.
- Για τον έλεγχο όλων των συστημάτων ρέει από τα συστήματα προέλευσης προς τα συστήματα προορισμού.
- Για την επικύρωση των απαιτήσεων από την οπτική γωνία του τελικού χρήστη.
- Για τον εντοπισμό ζητημάτων στα περιβάλλοντα που είναι ετερογενή.
Εάν απαιτείται, θα πρέπει να πραγματοποιούνται επαναλαμβανόμενες δοκιμές για να ελέγχεται η υγεία της εφαρμογής. Μερικές φορές μπορεί να προκύψει κατάσταση όπου βλέπουμε μια διένεξη μεταξύ του προγραμματιστή και του υπεύθυνου δοκιμών για λόγους κατανόησης των περιοχών εφαρμογής που επηρεάζονται λόγω μικρών αλλαγών κώδικα.
Οι προγραμματιστές μπορεί να πιστεύουν ότι η αλλαγή είναι ελάχιστη, αλλά αυτή η εξέλιξη είναι αρκετά σημαντική για την εκ νέου εκτέλεση των σεναρίων δοκιμών από άκρο σε άκρο για ένα πλήρες σύστημα. Ωστόσο, αυτό πιθανώς ωθεί τις ημερομηνίες παράδοσης και μπορεί επίσης να αυξήσει το κόστος.
Πότε πρέπει να ξεκινήσετε τις δοκιμές;
Η δοκιμή End to End συνήθως εκτελείται-
- Μόλις ένα προϊόν πληροί τις προϋποθέσεις Δοκιμή Συστήματος όπου καλύπτονται όλες οι λειτουργικές πτυχές.
- Όταν τα εξαρτώμενα περιβάλλοντα εντοπίζονται και είναι διαθέσιμα για την εκτέλεση της εκτέλεσης στάθμης ροής.
- Όταν ένας δοκιμαστής είναι εφοδιασμένος με τις απαιτούμενες γνώσεις και δοκιμαστικά αντικείμενα.
- Όταν ο ελεγκτής διαθέτει τα κατάλληλα εργαλεία που μπορούν να αναλύσουν τη ροή δεδομένων.
Διαφορά μεταξύ δοκιμής συστήματος και δοκιμών από άκρο σε άκρο
Παρακάτω δίνονται μερικές διαφορές μεταξύ δοκιμής συστήματος και δοκιμών από άκρο σε άκρο:
Δοκιμή συστήματος | Δοκιμή από άκρο σε τέλος |
---|---|
Το ανεπτυγμένο προϊόν δοκιμάζεται έναντι των τεχνικών απαιτήσεων για συγκεκριμένα προϊόντα που προσδιορίζονται με βάση τις επιχειρηματικές απαιτήσεις. | Το αναπτυγμένο προϊόν δοκιμάζεται μαζί με εξαρτημένα συστήματα σύμφωνα με τις επιχειρηματικές απαιτήσεις. |
Καλύπτει λειτουργικές καθώς και μη λειτουργικές πτυχές των δοκιμών. | Καλύπτει διεπαφές-επίπεδα δοκιμών λαμβάνοντας υπόψη όλα τα συστήματα προέλευσης και προορισμού. |
Πραγματοποιήθηκε προς το τέλος του κύκλου ζωής ανάπτυξης λογισμικού. | Εκτελείται μόλις το προϊόν πληροί τις προϋποθέσεις δοκιμής ενοποίησης. |
Όλες οι λειτουργίες που εφαρμόστηκαν για το προϊόν θα ελέγχονταν για να αποκαλυφθούν μη αναμενόμενα αποτελέσματα. | Οι ροές διεργασιών θα ελεγχθούν μαζί με συστήματα front-end & backend & mid-tier. |
Ο ελεγκτής θα πρέπει να κατανοεί καλά τη λειτουργικότητα του ανεπτυγμένου προϊόντος. | Ο ελεγκτής θα πρέπει να έχει ισχυρή κατανόηση των ροών δεδομένων και των ροών εργασίας εντός του συστήματος. |
Ο ελεγκτής συστήματος δεν χρειάζεται να νοιάζεται για τα στάδια του κύκλου ζωής ανάπτυξης προϊόντων. | Ο δοκιμαστής από άκρο σε άκρο πρέπει να κατανοήσει όλα τα στάδια. |
Έλεγχος συστήματος ή Δοκιμή από άκρο σε άκρο ή και τα δύο;
Συχνά, οι δοκιμές συστήματος και οι δοκιμές από άκρο σε άκρο θεωρούνται ίδιες, αλλά αυτό δεν ισχύει. Και οι δύο είναι διαφορετικές μορφές δοκιμών με διαφορετική κάλυψη δοκιμών.
Ενώ η δοκιμή End-to-End ελέγχει τη ροή δραστηριοτήτων από το μηδέν έως το τέλος του συστήματος που καλύπτει όλα τα εξαρτώμενα συστήματα, η Δοκιμή συστήματος θα ελέγξει την ίδια λειτουργικότητα με ένα διαφορετικό σύνολο εισόδων για την αξιολόγηση της απόκρισης.
Ως εκ τούτου, το κάλυψη δοκιμών και για τους δύο τύπους δοκιμών θα είναι διαφορετικοί.
συμπέρασμα
Ένας υπεύθυνος δοκιμών συστήματος πρέπει να έχει τη νοοτροπία των πραγματικών χρηστών, ενώ ένας δοκιμαστής από άκρο σε άκρο πρέπει να κατανοεί εξίσου τα συστήματα ανάντη και κατάντη.
Όπως εξηγήθηκε παραπάνω, και οι δύο τύποι δοκιμών έχουν ίση σημασία στον κύκλο ανάπτυξης προϊόντων και, ως εκ τούτου, απαιτούνται για να ανακαλυφθούν τα ελαττώματα διαφορετικών κατηγοριών.
Ελπίζω να έχετε μια ξεκάθαρη ιδέα για ποιες δοκιμές να επιλέξετε; Εν τω μεταξύ, μπορείτε να μοιραστείτε τις εμπειρίες σας στην παρακάτω ενότητα σχολίων.
Συνιστώμενη ανάγνωση
- Τα καλύτερα εργαλεία δοκιμής λογισμικού 2021 (QA Test Automation Tools)
- Testing Primer eBook Λήψη
- Δοκιμή άλφα και δοκιμή beta (Ένας πλήρης οδηγός)
- Λειτουργική δοκιμή εναντίον μη λειτουργική δοκιμή
- Φόρτωση δοκιμής με HP LoadRunner Tutorials
- Διαφορά μεταξύ Desktop, Client Server Testing και Web Testing
- Τι είναι το Gamma Testing; Το τελικό στάδιο δοκιμών
- Πλήρης οδηγός δοκιμής επαλήθευσης έκδοσης (BVT Testing)