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

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

Δοκιμή λευκού κουτιού

Δοκιμή χρηστικότητας

Α) Δοκιμή φορτίου

Δοκιμή απόδοσης

Λειτουργική δοκιμή

Δοκιμή λογισμικού

Η δοκιμή είναι η διαδικασία εκτέλεσης ενός προγράμματος (ή μέρους ενός προγράμματος) με σκοπό (ή στόχο) την εύρεση σφαλμάτων.

Υπάρχουν πολλά κριτήρια βάσει των οποίων συνηθίζεται να ταξινομούνται οι τύποι δοκιμών. Συνήθως εντοπίζονται τα ακόλουθα συμπτώματα:

Θ) Κατά αντικείμενο δοκιμής:

(καθορισμός ή συλλογή δεικτών απόδοσης και χρόνου απόκρισης ενός συστήματος ή συσκευής λογισμικού και υλικού ως απόκριση σε εξωτερικό αίτημα προκειμένου να διαπιστωθεί η συμμόρφωση με τις απαιτήσεις για ένα δεδομένο σύστημα)

β) Τεστ καταπόνησης

(αξιολογεί την αξιοπιστία και τη σταθερότητα του συστήματος σε περίπτωση υπέρβασης των ορίων κανονικής λειτουργίας.)

γ) Δοκιμή σταθερότητας

4) Δοκιμή διεπαφής χρήστη

5) Δοκιμές ασφαλείας

6) Δοκιμή εντοπισμού

7) Δοκιμή συμβατότητας

II) Με γνώση του συστήματος:

1) Δοκιμή μαύρου κουτιού

(δοκιμάζεται ένα αντικείμενο του οποίου η εσωτερική δομή είναι άγνωστη)

(ελέγχεται η εσωτερική δομή του προγράμματος, τα δεδομένα δοκιμής λαμβάνονται με ανάλυση της λογικής του προγράμματος)

III) Κατά βαθμό αυτοματισμού:

1) Χειροκίνητη δοκιμή

2) Αυτοματοποιημένη δοκιμή

3) Ημιαυτόματη δοκιμή

IV) Σύμφωνα με το βαθμό απομόνωσης των συστατικών:

1) Έλεγχος εξαρτημάτων (μονάδας).

2) Έλεγχος ολοκλήρωσης

3) Δοκιμή συστήματος

V) Με το χρόνο δοκιμής:

1) Άλφα δοκιμή– μια κλειστή διαδικασία δοκιμής ενός προγράμματος από προγραμματιστές ή δοκιμαστές πλήρους απασχόλησης. Ένα προϊόν άλφα τις περισσότερες φορές είναι πλήρες μόνο κατά 50% ο κωδικός του προγράμματος υπάρχει, αλλά ένα σημαντικό μέρος του σχεδιασμού λείπει.

2) Δοκιμή beta– εντατική χρήση μιας σχεδόν ολοκληρωμένης έκδοσης του προγράμματος για τον εντοπισμό του μέγιστου αριθμού σφαλμάτων στη λειτουργία του για την επακόλουθη εξάλειψή τους πριν από την τελική κυκλοφορία στην αγορά, στον μαζικό καταναλωτή. Προσλαμβάνονται εθελοντές από απλούς μελλοντικούς χρήστες για δοκιμή.

Η επαλήθευση λογισμικού είναι μια γενικότερη έννοια από τη δοκιμή. Ο σκοπός της επαλήθευσης είναι να διασφαλιστεί ότι το αντικείμενο που επαληθεύεται (απαιτήσεις ή κωδικός προγράμματος) πληροί τις απαιτήσεις, υλοποιείται χωρίς ακούσιες λειτουργίες και ότι πληροί τις προδιαγραφές και τα πρότυπα σχεδιασμού. ISO 9000-2000). Η διαδικασία επαλήθευσης περιλαμβάνει επιθεωρήσεις, δοκιμές κωδικών, ανάλυση αποτελεσμάτων δοκιμών, δημιουργία και ανάλυση αναφορών προβλημάτων. Έτσι, είναι γενικά αποδεκτό ότι η διαδικασία δοκιμής αποτελεί αναπόσπαστο μέρος της διαδικασίας επαλήθευσης.

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

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

Η επαλήθευση απαντά στο ερώτημα εάν το σύστημα δημιουργήθηκε σωστά.

Η πιστοποίηση απαντά στο ερώτημα εάν το σύστημα λειτουργεί σωστά.

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

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

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

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

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

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

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

Ρύζι. 20.1. Στατική και δυναμική επαλήθευση και πιστοποίηση

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

Διαφορετικοί τύποι δοκιμών χρησιμοποιούνται σε διαφορετικά στάδια της διαδικασίας ανάπτυξης λογισμικού.

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

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

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

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

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

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

Κατά κανόνα, κατά την επαλήθευση και την πιστοποίηση, ανακαλύπτονται σφάλματα στο σύστημα. Γίνονται αλλαγές στο σύστημα για τη διόρθωση σφαλμάτων. Αυτό διαδικασία εντοπισμού σφαλμάτωνΣυνήθως ενσωματώνεται με άλλες διαδικασίες επαλήθευσης και πιστοποίησης. Ωστόσο, η δοκιμή (ή γενικότερα, η επαλήθευση και η πιστοποίηση) και ο εντοπισμός σφαλμάτων είναι διαφορετικές διαδικασίες που έχουν διαφορετικούς στόχους.

1. Η επαλήθευση και η πιστοποίηση είναι η διαδικασία εντοπισμού ελαττωμάτων σε ένα σύστημα λογισμικού.

2. Ο εντοπισμός σφαλμάτων είναι η διαδικασία εντοπισμού ελαττωμάτων (σφαλμάτων) και διόρθωσής τους (Εικ. 20.2).

Ρύζι. 20.2. Διαδικασία εντοπισμού σφαλμάτων

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

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

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

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

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

Σχεδιασμός επαλήθευσης και πιστοποίησης

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

Ο προγραμματισμός για επαλήθευση και πιστοποίηση, ως ένα από τα στάδια ανάπτυξης συστημάτων λογισμικού, θα πρέπει να ξεκινήσει όσο το δυνατόν νωρίτερα. Στο Σχ. Το σχήμα 20.3 δείχνει ένα μοντέλο ανάπτυξης λογισμικού που λαμβάνει υπόψη τη διαδικασία σχεδιασμού δοκιμής. Εδώ, ο σχεδιασμός ξεκινά από τα στάδια της προδιαγραφής και του σχεδιασμού του συστήματος. Αυτό το μοντέλο μερικές φορές ονομάζεται μοντέλο V (για να δείτε το γράμμα V, πρέπει να περιστρέψετε το Σχ. 20.3 90°). Αυτό το διάγραμμα δείχνει επίσης τη διαίρεση της διαδικασίας επαλήθευσης και πιστοποίησης σε διάφορα στάδια, με τις αντίστοιχες δοκιμές να εκτελούνται σε κάθε στάδιο.

Ρύζι. 20.3. Σχεδιασμός δοκιμών κατά την ανάπτυξη και τη δοκιμή

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

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

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

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

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

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

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

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

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

Η επαλήθευση είναι η απάντηση στην ερώτηση "Είναι σωστά κατασκευασμένο το λογισμικό και η επικύρωση είναι η απάντηση στο "Είναι το λογισμικό σωστά;"

Όταν αναζητάτε μια απάντηση στις ερωτήσεις που τίθενται, μπορείτε να διαπιστώσετε ότι η επικύρωση (ή η πιστοποίηση) στο περιεχόμενο έχει κάπως ευρύτερο νόημα από την επαλήθευση (επαλήθευση). Ωστόσο, η επαλήθευση σχετίζεται πολύ στενά με τη διασφάλιση του ελέγχου της ποιότητας ενός προϊόντος λογισμικού.

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

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

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

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


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

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

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

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

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

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

Η διαφορά μεταξύ επαλήθευσης και επικύρωσης απεικονίζεται στο Σχήμα 1.

Οι συγκεκριμένοι ορισμοί προκύπτουν από κάποια επέκταση των ορισμών από το πρότυπο IEEE 1012 για διαδικασίες επαλήθευσης και επικύρωσης. Στο τυπικό λεξικό όρων μηχανικής λογισμικού IEEE 610.12 του 1990, ο ορισμός της επαλήθευσης είναι περίπου ο ίδιος, αλλά ο ορισμός της επικύρωσης είναι κάπως διαφορετικός - λέει ότι η επικύρωση πρέπει να ελέγχει τη συμμόρφωση του λογισμικού που λαμβάνεται ως αποτέλεσμα της ανάπτυξης με το πρωτότυπο απαιτήσεις για αυτό. Σε αυτήν την περίπτωση, η επικύρωση θα ήταν μια ειδική περίπτωση επαλήθευσης, η οποία δεν σημειώνεται πουθενά στη βιβλιογραφία της μηχανικής λογισμικού, επομένως, και επίσης επειδή διορθώθηκε στο IEEE 1012 του 2004, αυτός ο ορισμός θα πρέπει να θεωρείται ανακριβής. Συχνή χρήση της φράσης του B. Boehm:

Η επαλήθευση απαντά στην ερώτηση "Κατασκευάζουμε το προϊόν σωστά;" και η επικύρωση απαντά στην ερώτηση "Κατασκευάζουμε το σωστό προϊόν;"

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

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

Βιβλιογραφία

  • V.V. Kulyamin "Μέθοδοι επαλήθευσης λογισμικού". Institute of System Programming RAS 109004, Moscow, st. B. Kommunisticheskaya, αρ.
    http://www.ict.edu.ru/ft/005645/62322e1-st09.pdf
  • Πρότυπο IEEE 1012-2004 για την επαλήθευση και την επικύρωση λογισμικού. IEEE, 2005.
  • IEEE 610.12-1990 Standard Glossary of Software Engineering Terminology, Corrected Edition. IEEE, Φεβρουάριος 1991.
  • B. W. Boehm. Μηχανική Λογισμικού; Τάσεις Ε&Α και αμυντικές ανάγκες. Στο R. Wegner, ed. Ερευνα. Οδηγίες στην Τεχνολογία Λογισμικού. Cambridge, MA:MIT Press, 1979.
  • ISO/IEC 12207 Μηχανική συστημάτων και λογισμικού - Διαδικασίες κύκλου ζωής λογισμικού. Γενεύη, Ελβετία: ISO, 2008.

Αγία Πετρούπολη

Κρατικό Ηλεκτροτεχνείο

Τμήμα ΜΟΕΒΜ

κατά πειθαρχία

«Διαδικασία ανάπτυξης προϊόντων λογισμικού»

"Επαλήθευση λογισμικού"

Αγία Πετρούπολη

    Σκοπός επαλήθευσης………………………………………………………………… σελίδα 3

    Εισαγωγικές Σημειώσεις…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….. σελίδα 3

    Ειδικοί και γενικοί στόχοι…………………………………………….. σελίδα 4

    Αναμενόμενη εξάσκηση στις στοχευόμενες εργασίες…………………………………… σελίδα 4

SG1 Προετοιμασία για επαλήθευση………………………………………………… σελίδα 4

SG2 Διεξαγωγή εξετάσεων (αξιολογήσεις εμπειρογνωμόνων)…………………………… σελίδα 7

SG3 Εκτέλεση επαλήθευσης…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

    Παράρτημα 1. Επισκόπηση των εργαλείων αυτοματοποίησης της διαδικασίας επαλήθευσης………….. σελίδα 11

    Παράρτημα 2. Βασικές σύγχρονες προσεγγίσεις επαλήθευσης……………….. σελίδα 12

    Λίστα χρησιμοποιημένης βιβλιογραφίας …………………………………………………………… .. σελίδα 14

Ολοκληρωμένο μοντέλο αριστείας και ωριμότητας

Επαλήθευση (Επίπεδο ωριμότητας 3)

    Στόχος

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

  1. Νερό σημειώσεις

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

Ο σκοπός της επαλήθευσης συστήματος λογισμικού είναι ο εντοπισμός και η αναφορά σφαλμάτων που μπορεί να προκύψουν σε στάδια του κύκλου ζωής. Κύριες εργασίες επαλήθευσης:

    τον προσδιορισμό του εάν οι απαιτήσεις υψηλού επιπέδου αντιστοιχούν στις απαιτήσεις του συστήματος·

    λαμβάνοντας υπόψη τις απαιτήσεις υψηλού επιπέδου στην αρχιτεκτονική του συστήματος·

    συμμόρφωση με την αρχιτεκτονική και τις απαιτήσεις της στον πηγαίο κώδικα·

    προσδιορίζοντας εάν ο εκτελέσιμος κώδικας πληροί τις απαιτήσεις συστήματος.

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

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

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

Η επαλήθευση των ενδιάμεσων προϊόντων σε κάθε στάδιο της ανάπτυξης και της κατασκευής τους αυξάνει σημαντικά την πιθανότητα το τελικό προϊόν να ικανοποιήσει τις απαιτήσεις του πελάτη, τις απαιτήσεις του τελικού προϊόντος και τις απαιτήσεις των επιμέρους συστατικών του.

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

Για την αξιολόγηση της σχέσης κόστους/αποτελεσματικότητας και της απόδοσης, η επαλήθευση θα πρέπει να εφαρμόζεται όσο το δυνατόν νωρίτερα σε σχετικές διαδικασίες (όπως παράδοση, ανάπτυξη, λειτουργία ή συντήρηση). Αυτή η διαδικασία μπορεί να περιλαμβάνει ανάλυση, επαλήθευση και δοκιμή (δοκιμή).

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

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

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

Οι κύριες μέθοδοι αξιολόγησης εμπειρογνωμόνων είναι:

    επιθεώρηση

    δομικός έλεγχος από άκρο σε άκρο

προβολές