Δοκιμή αξιοπιστίας
Η Αξιοπιστία Δοκιμή είναι μια διαδικασία δοκιμής λογισμικού που ελέγχει εάν το λογισμικό μπορεί να εκτελέσει μια λειτουργία χωρίς σφάλματα για μια καθορισμένη χρονική περίοδο σε ένα συγκεκριμένο περιβάλλον. Ο σκοπός της δοκιμής αξιοπιστίας είναι να διασφαλιστεί ότι το προϊόν λογισμικού είναι χωρίς σφάλματα και αρκετά αξιόπιστο για τον αναμενόμενο σκοπό του.
Αξιοπιστία σημαίνει "απόδοση του ίδιου", με άλλους όρους, η λέξη "αξιόπιστο" σημαίνει ότι κάτι είναι αξιόπιστο και ότι θα δίνει το ίδιο αποτέλεσμα κάθε φορά. Το ίδιο ισχύει και για τον έλεγχο αξιοπιστίας.
Σε αυτό το σεμινάριο, θα μάθετε-
- Τι είναι ο έλεγχος αξιοπιστίας;
- Παράδειγμα δοκιμής αξιοπιστίας
- Παράγοντες που επηρεάζουν την αξιοπιστία του λογισμικού
- Γιατί να κάνετε δοκιμή αξιοπιστίας
- Τύποι αξιοπιστίας Δοκιμή
- Πώς να κάνετε τον έλεγχο αξιοπιστίας
- Παράδειγμα μέθοδοι για δοκιμή αξιοπιστίας
- Εργαλεία δοκιμής αξιοπιστίας
Παράδειγμα δοκιμής αξιοπιστίας
Η πιθανότητα λειτουργίας ενός υπολογιστή σε ένα κατάστημα για οκτώ ώρες χωρίς διακοπή λειτουργίας είναι 99%. αυτό αναφέρεται ως αξιοπιστία.
Η δοκιμή αξιοπιστίας μπορεί να κατηγοριοποιηθεί σε τρία τμήματα,
- Πρίπλασμα
- Μέτρηση
- Βελτίωση
Ο ακόλουθος τύπος είναι για τον υπολογισμό της πιθανότητας αστοχίας.
Πιθανότητα = Αριθμός αποτυχημένων περιπτώσεων / Συνολικός αριθμός υπό εξέταση υποθέσεων
Παράγοντες που επηρεάζουν την αξιοπιστία του λογισμικού
- Ο αριθμός των σφαλμάτων που εμφανίζονται στο λογισμικό
- Ο τρόπος με τον οποίο οι χρήστες λειτουργούν το σύστημα
- Το Reliability Testing είναι ένα από τα κλειδιά για καλύτερη ποιότητα λογισμικού. Αυτή η δοκιμή βοηθά στην ανακάλυψη πολλών προβλημάτων στη σχεδίαση και τη λειτουργικότητα του λογισμικού.
- Ο κύριος σκοπός της δοκιμής αξιοπιστίας είναι να ελέγξει εάν το λογισμικό πληροί τις απαιτήσεις της αξιοπιστίας του πελάτη.
- Ο έλεγχος αξιοπιστίας θα πραγματοποιηθεί σε διάφορα επίπεδα. Τα σύνθετα συστήματα θα δοκιμαστούν σε επίπεδο μονάδας, συναρμολόγησης, υποσυστήματος και συστήματος.
Γιατί να κάνετε δοκιμή αξιοπιστίας
Ο έλεγχος αξιοπιστίας γίνεται για να ελέγξετε την απόδοση του λογισμικού υπό τις δεδομένες συνθήκες.
Ο στόχος πίσω από την εκτέλεση δοκιμών αξιοπιστίας είναι,
- Για να βρείτε τη δομή των επαναλαμβανόμενων αποτυχιών.
- Για να βρείτε τον αριθμό των αστοχιών που εμφανίζονται είναι ο καθορισμένος χρόνος.
- Για να ανακαλύψετε την κύρια αιτία της αποτυχίας
- Για τη διενέργεια δοκιμών απόδοσης διαφόρων ενοτήτων εφαρμογής λογισμικού μετά την επιδιόρθωση ελαττώματος
Μετά την κυκλοφορία του προϊόντος, μπορούμε να ελαχιστοποιήσουμε την πιθανότητα εμφάνισης ελαττωμάτων και έτσι να βελτιώσουμε την αξιοπιστία του λογισμικού. Μερικά από τα εργαλεία που είναι χρήσιμα για αυτό είναι: Ανάλυση τάσεων, Ορθογώνια ταξινόμηση ελαττωμάτων και επίσημες μέθοδοι κ.λπ…
Τύποι αξιοπιστίας Δοκιμή
Ο έλεγχος αξιοπιστίας λογισμικού περιλαμβάνει δοκιμή λειτουργιών, δοκιμή φορτίου και δοκιμή παλινδρόμησης
Δοκιμή χαρακτηριστικών: -
Επιλεγμένες δοκιμές ελέγξτε τη δυνατότητα που παρέχεται από το λογισμικό και εκτελείται στα ακόλουθα βήματα: -
- Κάθε λειτουργία στο λογισμικό εκτελείται τουλάχιστον μία φορά.
- Η αλληλεπίδραση μεταξύ των δύο λειτουργιών μειώνεται.
- Κάθε λειτουργία πρέπει να ελέγχεται για την ορθή εκτέλεση.
Δοκιμή φορτίου: -
Συνήθως, το λογισμικό θα έχει καλύτερη απόδοση στην αρχή της διαδικασίας και μετά από αυτό, θα αρχίσει να υποβαθμίζεται. Η δοκιμή φορτίου πραγματοποιείται για τον έλεγχο της απόδοσης του λογισμικού υπό το μέγιστο φορτίο εργασίας.
Δοκιμή παλινδρόμησης: -
Ο έλεγχος παλινδρόμησης χρησιμοποιείται κυρίως για να ελέγξει αν έχουν εισαχθεί νέα σφάλματα λόγω της διόρθωσης προηγούμενων σφαλμάτων. Το Regression Testing πραγματοποιείται μετά από κάθε αλλαγή ή ενημέρωση των δυνατοτήτων του λογισμικού και των λειτουργιών τους.
Πώς να κάνετε τον έλεγχο αξιοπιστίας
Η δοκιμή αξιοπιστίας είναι δαπανηρή σε σύγκριση με άλλους τύπους δοκιμών. Επομένως, απαιτείται σωστός προγραμματισμός και διαχείριση κατά τη διεξαγωγή δοκιμών αξιοπιστίας. Αυτό περιλαμβάνει τη διαδικασία δοκιμής που θα εφαρμοστεί, δεδομένα για περιβάλλον δοκιμών, πρόγραμμα δοκιμών, σημεία δοκιμής κ.λπ.
Για να ξεκινήσετε με τη δοκιμή αξιοπιστίας, ο ελεγκτής πρέπει να συνεχίσει να παρακολουθεί τα πράγματα,
- Καθορίστε στόχους αξιοπιστίας
- Ανάπτυξη επιχειρησιακού προφίλ
- Σχεδιάστε και εκτελέστε δοκιμές
- Χρησιμοποιήστε τα αποτελέσματα των δοκιμών για να λάβετε αποφάσεις
Όπως συζητήσαμε νωρίτερα, υπάρχουν τρεις κατηγορίες στις οποίες μπορούμε να πραγματοποιήσουμε τον Έλεγχο Αξιοπιστίας, - Μοντελοποίηση, Μέτρηση και Βελτίωση .
Οι βασικές παράμετροι που εμπλέκονται στη δοκιμή αξιοπιστίας είναι:
- Πιθανότητα λειτουργίας χωρίς αστοχία
- Διάρκεια λειτουργίας χωρίς βλάβες
- Το περιβάλλον στο οποίο εκτελείται
Βήμα 1) Μοντελοποίηση
Η τεχνική μοντελοποίησης λογισμικού μπορεί να χωριστεί σε δύο υποκατηγορίες:
1. Μοντελοποίηση προβλέψεων
2. Μοντελοποίηση εκτίμησης
- Μπορούν να επιτευχθούν σημαντικά αποτελέσματα με την εφαρμογή κατάλληλων μοντέλων.
- Υποθέσεις και αφαιρέσεις μπορούν να γίνουν για την απλοποίηση των προβλημάτων και κανένα μοντέλο δεν θα είναι κατάλληλο για όλες τις καταστάσεις.
Οι κύριες διαφορές των δύο μοντέλων είναι:
Θέματα | Μοντέλα πρόβλεψης | Μοντέλα εκτίμησης |
---|---|---|
Αναφορά δεδομένων | Χρησιμοποιεί ιστορικά δεδομένα | Χρησιμοποιεί τρέχοντα δεδομένα από την ανάπτυξη λογισμικού. |
Όταν χρησιμοποιείται στον Κύκλο Ανάπτυξης | Συνήθως δημιουργείται πριν από τις φάσεις ανάπτυξης ή δοκιμής. | Θα χρησιμοποιείται συνήθως στο μεταγενέστερο στάδιο του κύκλου ζωής ανάπτυξης λογισμικού. |
Χρονικό πλαίσιο | Θα προβλέψει την αξιοπιστία στο μέλλον. | Θα προβλέψει την αξιοπιστία είτε για το παρόν είτε στο μέλλον. |
Βήμα 2) Μέτρηση
Η αξιοπιστία του λογισμικού δεν μπορεί να μετρηθεί άμεσα και ως εκ τούτου, λαμβάνονται υπόψη άλλοι σχετικοί παράγοντες για την εκτίμηση της αξιοπιστίας του λογισμικού. Οι τρέχουσες πρακτικές της μέτρησης αξιοπιστίας λογισμικού χωρίζονται σε τέσσερις κατηγορίες: -
1. Μετρήσεις προϊόντων: -
Οι μετρήσεις προϊόντων είναι ο συνδυασμός 4 τύπων μετρήσεων:
- Μέγεθος λογισμικού : - Το Line of Code (LOC) είναι μια διαισθητική αρχική προσέγγιση για τη μέτρηση του μεγέθους του λογισμικού. Μόνο ο πηγαίος κώδικας μετράται σε αυτήν τη μέτρηση και τα σχόλια και άλλες μη εκτελέσιμες δηλώσεις δεν θα μετρηθούν.
- Μέτρηση σημείου λειτουργίας : - Η συνάρτηση Pont Metric είναι η μέθοδος για τη μέτρηση της λειτουργικότητας της ανάπτυξης λογισμικού. Θα εξετάσει τον αριθμό των εισόδων, εξόδων, κύριων αρχείων κ.λπ. Μετρά τη λειτουργικότητα που παρέχεται στον χρήστη και είναι ανεξάρτητη από τη γλώσσα προγραμματισμού.
- Πολυπλοκότητα : - Συνδέεται άμεσα με την αξιοπιστία του λογισμικού, επομένως είναι σημαντικό να αντιπροσωπεύουμε την πολυπλοκότητα. Η μετρική προσανατολισμένη στην πολυπλοκότητα είναι μια μέθοδος προσδιορισμού της πολυπλοκότητας της δομής ελέγχου ενός προγράμματος, απλοποιώντας τον κώδικα σε γραφική αναπαράσταση.
- Μετρήσεις κάλυψης δοκιμής : - Είναι ένας τρόπος εκτίμησης σφάλματος και αξιοπιστίας εκτελώντας την πλήρη δοκιμή προϊόντων λογισμικού. Η αξιοπιστία λογισμικού σημαίνει ότι είναι η λειτουργία του καθορισμού ότι το σύστημα έχει επαληθευτεί και ελεγχθεί πλήρως.
2. Μετρήσεις διαχείρισης έργου
- Οι ερευνητές έχουν συνειδητοποιήσει ότι η καλή διαχείριση μπορεί να οδηγήσει στα καλύτερα προϊόντα.
- Μια καλή διαχείριση μπορεί να επιτύχει μεγαλύτερη αξιοπιστία χρησιμοποιώντας καλύτερη διαδικασία ανάπτυξης, διαδικασία διαχείρισης κινδύνου, διαδικασία διαχείρισης διαμόρφωσης κ.λπ.
3. Μετρήσεις διεργασίας
Η ποιότητα του προϊόντος σχετίζεται άμεσα με τη διαδικασία. Οι μετρήσεις της διαδικασίας μπορούν να χρησιμοποιηθούν για την εκτίμηση, την παρακολούθηση και τη βελτίωση της αξιοπιστίας και της ποιότητας του λογισμικού.
4. Μετρήσεις σφαλμάτων και αστοχίας
Οι μετρήσεις σφαλμάτων και αστοχίας χρησιμοποιούνται κυρίως για να ελέγξουν εάν το σύστημα είναι εντελώς χωρίς αστοχία. Τόσο οι τύποι βλαβών που εντοπίστηκαν κατά τη διαδικασία δοκιμής (δηλ. Πριν από την παράδοση), καθώς και η αποτυχία που ανέφεραν οι χρήστες μετά την παράδοση συλλέγονται, συνοψίζονται και αναλύονται για την επίτευξη αυτού του στόχου.
Η αξιοπιστία του λογισμικού μετριέται σε όρους μέσου χρόνου μεταξύ αστοχιών (MTBF) . Το MTBF αποτελείται από
- Μέσος όρος αποτυχίας (MTTF): Είναι η διαφορά χρόνου μεταξύ δύο διαδοχικών αποτυχιών
- Μέσος χρόνος για επισκευή (MTTR): Είναι ο χρόνος που απαιτείται για να διορθώσετε την αστοχία.
MTBF = MTTF + MTTR
Η αξιοπιστία για καλό λογισμικό είναι ένας αριθμός μεταξύ 0 και 1.
Η αξιοπιστία αυξάνεται όταν αφαιρούνται σφάλματα ή σφάλματα από το πρόγραμμα.
Βήμα 3) Βελτίωση
Η βελτίωση εξαρτάται πλήρως από τα προβλήματα που προέκυψαν στην εφαρμογή ή το σύστημα, διαφορετικά τα χαρακτηριστικά του λογισμικού. Σύμφωνα με την πολυπλοκότητα της μονάδας λογισμικού, ο τρόπος βελτίωσης θα διαφέρει επίσης. Δύο βασικοί περιορισμοί χρόνου και προϋπολογισμού, οι οποίοι θα περιορίσουν τις προσπάθειες που τίθενται στη βελτίωση της αξιοπιστίας λογισμικού
Παράδειγμα μέθοδοι για δοκιμή αξιοπιστίας
Ο έλεγχος της αξιοπιστίας αφορά την άσκηση μιας εφαρμογής, ώστε να εντοπίζονται και να απομακρύνονται αστοχίες πριν από την ανάπτυξη του συστήματος.
Υπάρχουν κυρίως τρεις προσεγγίσεις που χρησιμοποιούνται για τη δοκιμή αξιοπιστίας
- Αξιοπιστία δοκιμής-επανάληψης
- Αξιοπιστία παράλληλων μορφών
- Συνοχή αποφάσεων
Παρακάτω προσπαθήσαμε να τα εξηγήσουμε όλα αυτά με ένα παράδειγμα.
Αξιοπιστία δοκιμής-επανάληψης
Για την εκτίμηση της αξιοπιστίας δοκιμής, μια μεμονωμένη ομάδα εξεταστών θα εκτελέσει τη διαδικασία δοκιμής μόνο λίγες ημέρες ή εβδομάδες. Ο χρόνος πρέπει να είναι αρκετά μικρός, ώστε να αξιολογούνται οι ικανότητες των εξεταζομένων στην περιοχή. Η σχέση μεταξύ των βαθμολογιών του εξεταζόμενου από δύο διαφορετικές διοικήσεις εκτιμάται μέσω στατιστικής συσχέτισης. Αυτός ο τύπος αξιοπιστίας καταδεικνύει το βαθμό στον οποίο μια δοκιμή μπορεί να παράγει σταθερές, συνεπείς βαθμολογίες με την πάροδο του χρόνου.
Αξιοπιστία παράλληλων μορφών
Πολλές εξετάσεις έχουν πολλές μορφές ερωτημάτων, αυτές οι παράλληλες μορφές εξετάσεων παρέχουν ασφάλεια. Η αξιοπιστία των παράλληλων μορφών εκτιμάται με τη διαχείριση και των δύο μορφών της εξέτασης στην ίδια ομάδα εξεταζομένων. Οι βαθμολογίες των εξεταζόμενων στις δύο φόρμες δοκιμής συσχετίζονται προκειμένου να προσδιοριστεί πώς λειτουργούν παρόμοια τα δύο έντυπα δοκιμών. Αυτή η εκτίμηση αξιοπιστίας είναι ένα μέτρο για το πώς μπορούν να αναμένονται συνεπείς βαθμολογίες εξεταστών σε όλες τις φόρμες δοκιμών.
Συνοχή αποφάσεων
Αφού πραγματοποιήσουμε την αξιοπιστία δοκιμής-δοκιμής και την αξιοπιστία παράλληλης φόρμας, θα έχουμε ένα αποτέλεσμα των εξεταστών είτε θα περάσουν είτε θα αποτύχουν. Η αξιοπιστία αυτής της απόφασης ταξινόμησης εκτιμάται στην αξιοπιστία της συνοχής των αποφάσεων.
Σημασία της δοκιμής αξιοπιστίας
Απαιτείται διεξοδική αξιολόγηση της αξιοπιστίας για τη βελτίωση της απόδοσης του προϊόντος και της διαδικασίας λογισμικού. Ο έλεγχος της αξιοπιστίας του λογισμικού θα βοηθήσει τους διαχειριστές λογισμικού και τους επαγγελματίες σε μεγάλο βαθμό.
Για να ελέγξετε την αξιοπιστία του λογισμικού μέσω δοκιμών: -
- Ένας μεγάλος αριθμός δοκιμαστικών περιπτώσεων θα πρέπει να εκτελεστεί για παρατεταμένο χρονικό διάστημα για να μάθετε πόσο καιρό θα εκτελεστεί το λογισμικό χωρίς αποτυχία.
- Η διανομή των δοκιμαστικών περιπτώσεων πρέπει να ταιριάζει με το πραγματικό ή προγραμματισμένο επιχειρησιακό προφίλ του λογισμικού. Όσο πιο συχνά εκτελείται μια λειτουργία του λογισμικού, τόσο μεγαλύτερο είναι το ποσοστό των δοκιμαστικών περιπτώσεων που πρέπει να εκχωρηθούν σε αυτήν τη λειτουργία ή υποσύνολο.
Εργαλεία δοκιμής αξιοπιστίας
Μερικά από τα εργαλεία δοκιμής αξιοπιστίας που χρησιμοποιούνται για την αξιοπιστία λογισμικού είναι:
1. WEIBULL ++: - Ανάλυση δεδομένων αξιοπιστίας ζωής
2. RGA: - Ανάλυση ανάπτυξης αξιοπιστίας
3. RCM: -Αξιοπιστία στο κέντρο συντήρησης
Περίληψη:
Το Reliability Testing είναι το σημαντικό μέρος ενός προγράμματος μηχανικής αξιοπιστίας. Πιο σωστά, είναι το πνεύμα του προγράμματος μηχανικής αξιοπιστίας
Επιπλέον, οι δοκιμές αξιοπιστίας έχουν σχεδιαστεί κυρίως για να αποκαλύψουν συγκεκριμένους τρόπους αστοχίας και άλλα προβλήματα κατά τη διάρκεια δοκιμών λογισμικού.
Στη Μηχανική Λογισμικού, ο Έλεγχος Αξιοπιστίας μπορεί να κατηγοριοποιηθεί σε τρία τμήματα,
- Πρίπλασμα
- Μέτρηση
- Βελτίωση
Παράγοντες που επηρεάζουν την αξιοπιστία του λογισμικού
- Ο αριθμός των σφαλμάτων που εμφανίζονται στο λογισμικό
- Ο τρόπος με τον οποίο οι χρήστες λειτουργούν το σύστημα