what is software quality assurance
Τι είναι η Διασφάλιση Ποιότητας Λογισμικού;
Διασφάλιση ποιότητας λογισμικού (SQA) είναι μια διαδικασία που διασφαλίζει ότι όλες οι διαδικασίες μηχανικής λογισμικού, οι μέθοδοι, οι δραστηριότητες και τα αντικείμενα εργασίας παρακολουθούνται και συμμορφώνονται με τα καθορισμένα πρότυπα. Αυτά τα καθορισμένα πρότυπα θα μπορούσαν να είναι ένα ή συνδυασμό οποιουδήποτε τύπου ISO 9000, CMMI, ISO15504 κ.λπ.
Το SQA ενσωματώνει όλες τις διαδικασίες ανάπτυξης λογισμικού, ξεκινώντας από τον καθορισμό απαιτήσεων έως την κωδικοποίηση έως την κυκλοφορία. Πρωταρχικός στόχος του είναι να διασφαλίσει την ποιότητα.
Τι θα μάθετε:
- Σχέδιο διασφάλισης ποιότητας λογισμικού
- Δραστηριότητες SQA
- Πρότυπα διασφάλισης ποιότητας λογισμικού
- Στοιχεία Διασφάλισης Ποιότητας Λογισμικού
- Τεχνικές SQA
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Σχέδιο διασφάλισης ποιότητας λογισμικού
Συντομευμένο ως SQAP, το πρόγραμμα διασφάλισης ποιότητας λογισμικού περιλαμβάνει τις διαδικασίες, τις τεχνικές και τα εργαλεία που χρησιμοποιούνται για να διασφαλιστεί ότι ένα προϊόν ή μια υπηρεσία ευθυγραμμίζεται με τις απαιτήσεις που ορίζονται στο SRS (προδιαγραφή απαιτήσεων λογισμικού).
Το σχέδιο προσδιορίζει τις αρμοδιότητες SQA μιας ομάδας, απαριθμεί τους τομείς που πρέπει να επανεξεταστούν και να ελεγχθούν. Προσδιορίζει επίσης τα προϊόντα εργασίας SQA.
Το έγγραφο προγράμματος SQA αποτελείται από τις παρακάτω ενότητες:
- Ενότητα σκοπού
- Ενότητα αναφοράς
- Ενότητα διαχείρισης διαμόρφωσης λογισμικού
- Αναφορά προβλημάτων και ενότητα διορθωτικών ενεργειών
- Ενότητα Εργαλεία, τεχνολογίες και μεθοδολογίες
- Ενότητα ελέγχου κώδικα
- Εγγραφές: Τμήμα συλλογής, συντήρησης και διατήρησης
- Μεθοδολογία δοκιμών
Δραστηριότητες SQA
Παρακάτω δίνεται η λίστα των δραστηριοτήτων SQA:
# 1) Δημιουργία προγράμματος διαχείρισης SQA:
Η κύρια δραστηριότητα περιλαμβάνει τον καθορισμό ενός κατάλληλου σχεδίου σχετικά με τον τρόπο εκτέλεσης του SQA στο έργο σας.
Μαζί με την προσέγγιση SQA που θα ακολουθήσετε, ποιες μηχανικές δραστηριότητες θα πραγματοποιηθούν και περιλαμβάνει επίσης τη διασφάλιση ότι έχετε το σωστό μείγμα ταλέντων στην ομάδα σας.
# 2) Ρύθμιση σημείων ελέγχου:
Η ομάδα SQA δημιουργεί διαφορετικά σημεία ελέγχου σύμφωνα με τα οποία αξιολογεί την ποιότητα των δραστηριοτήτων του έργου σε κάθε σημείο ελέγχου / έργου. Αυτό εξασφαλίζει τακτική επιθεώρηση ποιότητας και λειτουργεί σύμφωνα με το πρόγραμμα.
# 3) Εφαρμογή τεχνικών τεχνικής λογισμικού:
Η εφαρμογή ορισμένων τεχνικών λογισμικού βοηθά έναν σχεδιαστή λογισμικού στην επίτευξη προδιαγραφών υψηλής ποιότητας. Για τη συλλογή πληροφοριών, ένας σχεδιαστής μπορεί να χρησιμοποιήσει τεχνικές όπως συνεντεύξεις και FAST (Τεχνική λειτουργικού συστήματος ανάλυσης).
Αργότερα, με βάση τις πληροφορίες που συγκεντρώθηκαν, ο σχεδιαστής λογισμικού μπορεί να προετοιμάσει την εκτίμηση του έργου χρησιμοποιώντας τεχνικές όπως WBS (δομή ανάλυσης εργασίας), SLOC (γραμμή κώδικα πηγών) και εκτίμηση FP (λειτουργικό σημείο).
# 4) Εκτέλεση επίσημων τεχνικών ανασκοπήσεων:
Γίνεται ένα FTR για την αξιολόγηση της ποιότητας και του σχεδιασμού του πρωτοτύπου.
Σε αυτήν τη διαδικασία, πραγματοποιείται συνάντηση με το τεχνικό προσωπικό για να συζητηθούν σχετικά με τις πραγματικές απαιτήσεις ποιότητας του λογισμικού και την ποιότητα σχεδιασμού του πρωτοτύπου. Αυτή η δραστηριότητα βοηθά στον εντοπισμό σφαλμάτων στην αρχική φάση του SDLC και μειώνει την προσπάθεια επανεπεξεργασίας στις μεταγενέστερες φάσεις.
# 5) Έχοντας μια στρατηγική πολλαπλών δοκιμών:
Με τη στρατηγική πολλαπλών δοκιμών, εννοούμε ότι δεν πρέπει να βασίζουμε σε καμία προσέγγιση δοκιμών, αντίθετα, θα πρέπει να εκτελούνται πολλαπλοί τύποι δοκιμών έτσι ώστε το προϊόν λογισμικού να μπορεί να δοκιμαστεί καλά από όλες τις οπτικές γωνίες για να εξασφαλιστεί καλύτερη ποιότητα.
# 6) Επιβολή της διαδικασίας συμμόρφωσης:
Αυτή η δραστηριότητα επιμένει στην ανάγκη τήρησης της διαδικασίας κατά τη διαδικασία ανάπτυξης λογισμικού. Η διαδικασία ανάπτυξης πρέπει επίσης να ακολουθεί τις καθορισμένες διαδικασίες.
Αυτή η δραστηριότητα είναι ένα μείγμα δύο επιμέρους δραστηριοτήτων που εξηγούνται παρακάτω λεπτομερώς:
(i) Αξιολόγηση προϊόντων:
Αυτή η δραστηριότητα επιβεβαιώνει ότι το προϊόν λογισμικού πληροί τις απαιτήσεις που ανακαλύφθηκαν στο σχέδιο διαχείρισης έργου. Διασφαλίζει ότι τα καθορισμένα πρότυπα για το έργο τηρούνται σωστά.
(ii) Παρακολούθηση διαδικασίας:
Αυτή η δραστηριότητα επαληθεύει εάν έχουν ληφθεί τα σωστά βήματα κατά την ανάπτυξη λογισμικού. Αυτό γίνεται συνδυάζοντας τα πραγματικά ληφθέντα βήματα με τα τεκμηριωμένα βήματα.
# 7) Έλεγχος αλλαγής:
Σε αυτήν τη δραστηριότητα, χρησιμοποιούμε ένα συνδυασμό μη αυτόματων διαδικασιών και αυτοματοποιημένων εργαλείων για να έχουμε έναν μηχανισμό ελέγχου αλλαγών.
Με την επικύρωση των αιτημάτων αλλαγής, την αξιολόγηση της φύσης της αλλαγής και τον έλεγχο του αποτελέσματος αλλαγής, διασφαλίζεται ότι η ποιότητα του λογισμικού διατηρείται κατά τη διάρκεια των φάσεων ανάπτυξης και συντήρησης.
# 8) Αντίκτυπος μέτρησης αλλαγής:
Εάν έχει αναφερθεί κάποιο ελάττωμα από την ομάδα QA, τότε η ενδιαφερόμενη ομάδα διορθώνει το ελάττωμα.
Μετά από αυτό, η ομάδα QA θα πρέπει να καθορίσει τον αντίκτυπο της αλλαγής που επιφέρει αυτή η διόρθωση ελαττωμάτων. Πρέπει να ελέγξουν όχι μόνο εάν η αλλαγή έχει διορθώσει το ελάττωμα, αλλά και εάν η αλλαγή είναι συμβατή με ολόκληρο το έργο.
Για το σκοπό αυτό, χρησιμοποιούμε μετρήσεις ποιότητας λογισμικού που επιτρέπουν στους διαχειριστές και τους προγραμματιστές να παρακολουθούν τις δραστηριότητες και τις προτεινόμενες αλλαγές από την αρχή έως το τέλος του SDLC και να ξεκινήσουν διορθωτικές ενέργειες όπου απαιτείται.
# 9) Εκτέλεση ελέγχων SQA:
Ο έλεγχος SQA επιθεωρεί ολόκληρη την πραγματική διαδικασία SDLC ακολουθούμενη από τη σύγκριση με την καθιερωμένη διαδικασία.
Ελέγχει επίσης ό, τι αναφέρθηκε από την ομάδα στις αναφορές κατάστασης που πραγματοποιήθηκαν ή όχι. Αυτή η δραστηριότητα εκθέτει επίσης τυχόν προβλήματα μη συμμόρφωσης.
# 10) Διατήρηση αρχείων και εκθέσεων:
Είναι ζωτικής σημασίας να διατηρήσετε την απαραίτητη τεκμηρίωση που σχετίζεται με το SQA και να μοιραστείτε τις απαιτούμενες πληροφορίες SQA με τα ενδιαφερόμενα μέρη. Τα αποτελέσματα των δοκιμών, τα αποτελέσματα ελέγχου, οι αναφορές επανεξέτασης, η τεκμηρίωση αιτημάτων αλλαγών κ.λπ. πρέπει να φυλάσσονται για μελλοντική αναφορά.
# 11) Διαχείριση καλών σχέσεων:
Στην πραγματικότητα, είναι πολύ σημαντικό να διατηρηθεί η αρμονία μεταξύ του QA και της ομάδας ανάπτυξης.
Ακούμε συχνά ότι οι υπεύθυνοι δοκιμών και οι προγραμματιστές συχνά αισθάνονται ανώτεροι μεταξύ τους. Αυτό πρέπει να αποφευχθεί, καθώς μπορεί να επηρεάσει τη συνολική ποιότητα του έργου.
Πρότυπα διασφάλισης ποιότητας λογισμικού
Γενικά, το SQA μπορεί να απαιτήσει συμμόρφωση με ένα ή περισσότερα πρότυπα.
Μερικά από τα πιο δημοφιλή πρότυπα αναφέρονται παρακάτω:
ISO 9000: Αυτό το πρότυπο βασίζεται σε επτά αρχές διαχείρισης ποιότητας που βοηθούν τους οργανισμούς να διασφαλίσουν ότι τα προϊόντα ή οι υπηρεσίες τους ευθυγραμμίζονται με τις ανάγκες των πελατών ».
Στην αρχή της εικόνας απεικονίζονται 7 αρχές του ISO 9000:
Επίπεδο CMMI: Το CMMI σημαίνει Ενσωμάτωση μοντέλου ωριμότητας ικανότητας . Αυτό το μοντέλο δημιουργήθηκε στη μηχανική λογισμικού. Μπορεί να χρησιμοποιηθεί για να κατευθύνει τη βελτίωση της διαδικασίας σε ένα έργο, τμήμα ή έναν ολόκληρο οργανισμό.
5 επίπεδα CMMI και τα χαρακτηριστικά τους περιγράφονται στην παρακάτω εικόνα:
πώς να διαβάσετε αρχεία .dat
Ένας οργανισμός αξιολογείται και απονέμεται βαθμολογία επιπέδου ωριμότητας (1-5) με βάση τον τύπο της αξιολόγησης.
Δοκιμή ολοκλήρωσης μοντέλου ωριμότητας (TMMi): Με βάση το CMMi, αυτό το μοντέλο εστιάζει σε επίπεδα ωριμότητας στη διαχείριση και τον έλεγχο ποιότητας λογισμικού.
5 επίπεδα TMMi απεικονίζονται στην παρακάτω εικόνα:
Καθώς ένας οργανισμός κινείται σε υψηλότερο επίπεδο ωριμότητας, επιτυγχάνει υψηλότερη ικανότητα παραγωγής προϊόντων υψηλής ποιότητας με λιγότερα ελαττώματα και πληροί στενά τις επιχειρηματικές απαιτήσεις.
Στοιχεία Διασφάλισης Ποιότητας Λογισμικού
Υπάρχουν 10 βασικά στοιχεία του SQA τα οποία αναφέρονται παρακάτω για την αναφορά σας:
- Πρότυπα μηχανικής λογισμικού
- Τεχνικές κριτικές και έλεγχοι
- Δοκιμή λογισμικού για έλεγχο ποιότητας
- Συλλογή και ανάλυση σφαλμάτων
- Διαχείριση αλλαγών
- Εκπαιδευτικά προγράμματα
- Διαχείριση προμηθευτή
- Διαχείριση ασφάλειας
- Ασφάλεια
- Διαχείριση κινδύνου
Τεχνικές SQA
Υπάρχουν πολλές τεχνικές για το SQA. Ο έλεγχος είναι η κύρια τεχνική που χρησιμοποιείται ευρέως. Ωστόσο, έχουμε και μερικές άλλες σημαντικές τεχνικές.
Διάφορες τεχνικές SQA περιλαμβάνουν:
- Έλεγχος: Ο έλεγχος περιλαμβάνει επιθεώρηση των προϊόντων εργασίας και των σχετικών πληροφοριών του για να προσδιοριστεί εάν ακολουθήθηκε ή όχι το σύνολο των τυπικών διαδικασιών.
- Ανασκόπηση : Μια συνάντηση στην οποία το προϊόν λογισμικού εξετάζεται τόσο από τους εσωτερικούς όσο και από εξωτερικούς ενδιαφερόμενους για να ζητήσουν τα σχόλιά τους και την έγκρισή τους.
- Επιθεώρηση κώδικα: Είναι το πιο επίσημο είδος αναθεώρησης που κάνει στατικές δοκιμές για να εντοπίσει σφάλματα και να αποφύγει την ανάπτυξη ελαττωμάτων στα επόμενα στάδια. Αυτό γίνεται από έναν εκπαιδευμένο μεσολαβητή / ομότιμο και βασίζεται σε κανόνες, λίστα ελέγχου, κριτήρια εισόδου και εξόδου. Ο κριτικός δεν πρέπει να είναι ο συντάκτης του κώδικα.
- Επιθεώρηση σχεδιασμού: Η επιθεώρηση σχεδιασμού γίνεται χρησιμοποιώντας μια λίστα ελέγχου που ελέγχει τους παρακάτω τομείς σχεδιασμού λογισμικού:
- Γενικές απαιτήσεις και σχεδιασμός
- Λειτουργικές προδιαγραφές και προδιαγραφές διασύνδεσης
- Συμβάσεις
- Ιχνηλασιμότητα απαίτησης
- Δομές και διεπαφές
- Λογική
- Εκτέλεση
- Σφάλμα χειρισμού και ανάκτησης
- Δοκιμή, επεκτασιμότητα
- Σύζευξη και συνοχή
- Προσομοίωση: Η προσομοίωση είναι ένα εργαλείο που διαμορφώνει την πραγματική κατάσταση προκειμένου να εξετάσει ουσιαστικά τη συμπεριφορά του υπό μελέτη συστήματος.
- Λειτουργική δοκιμή: Είναι μια τεχνική QA που επαληθεύει τι κάνει το σύστημα χωρίς να λαμβάνει υπόψη του πώς λειτουργεί. Αυτός ο τύπος δοκιμή μαύρου κουτιού εστιάζει κυρίως στη δοκιμή των προδιαγραφών ή των χαρακτηριστικών του συστήματος.
- Τυποποίηση: Η τυποποίηση παίζει καθοριστικό ρόλο στη διασφάλιση ποιότητας. Μειώνει την ασάφεια και την εικασία, διασφαλίζοντας έτσι την ποιότητα.
- Στατική Ανάλυση: Είναι μια ανάλυση λογισμικού που γίνεται από ένα αυτοματοποιημένο εργαλείο χωρίς να εκτελείται πραγματικά το πρόγραμμα. Αυτή η τεχνική χρησιμοποιείται ιδιαίτερα για διασφάλιση ποιότητας σε ιατρικό, πυρηνικό και αεροπορικό λογισμικό. Οι μετρήσεις λογισμικού και η αντίστροφη μηχανική είναι μερικές δημοφιλείς μορφές στατικής ανάλυσης.
- Περιηγήσεις: Η αναλυτική παρουσίαση λογισμικού ή η αναδρομή κώδικα είναι ένα είδος αξιολόγησης από ομοτίμους όπου ο προγραμματιστής καθοδηγεί τα μέλη της ομάδας ανάπτυξης για να διαβάσουν το προϊόν και να υποβάλουν ερωτήματα, να προτείνουν εναλλακτικές λύσεις, να κάνουν σχόλια σχετικά με πιθανά σφάλματα, τυπικές παραβιάσεις ή άλλα ζητήματα.
- Δοκιμή διαδρομής: Είναι ένα τεχνική δοκιμής λευκού κουτιού όπου η πλήρης κάλυψη κλάδου διασφαλίζεται με την εκτέλεση κάθε ανεξάρτητης διαδρομής τουλάχιστον μία φορά.
- Δοκιμή στρες: Αυτός ο τύπος δοκιμών γίνεται για να ελέγξει πόσο ισχυρό είναι ένα σύστημα δοκιμάζοντας το υπό βαρύ φορτίο, δηλαδή πέρα από τις κανονικές συνθήκες.
- Εξι Σίγμα: Το Six Sigma είναι μια προσέγγιση διασφάλισης ποιότητας που στοχεύει σε σχεδόν τέλεια προϊόντα ή υπηρεσίες. Εφαρμόζεται ευρέως σε πολλούς τομείς, συμπεριλαμβανομένου του λογισμικού. Ο κύριος στόχος του έξι sigma είναι η βελτίωση της διαδικασίας, έτσι ώστε το παραγόμενο λογισμικό να είναι 99,76% χωρίς ελαττώματα.
συμπέρασμα
Το SQA είναι μια δραστηριότητα ομπρέλας που χρησιμοποιείται καθ 'όλη τη διάρκεια ζωής του λογισμικού.
Η διασφάλιση ποιότητας λογισμικού είναι πολύ σημαντική για το προϊόν ή την υπηρεσία λογισμικού σας να πετύχει στην αγορά και να επιβιώσει σύμφωνα με τις προσδοκίες του πελάτη.
Υπάρχουν διάφορες δραστηριότητες, πρότυπα και τεχνικές που πρέπει να ακολουθήσετε για να βεβαιωθείτε ότι το παραδοτέο λογισμικό είναι υψηλής ποιότητας και ευθυγραμμίζεται στενά με τις επιχειρηματικές ανάγκες.
Ελπίζω να έχετε μια σαφή ιδέα για την έννοια της Διασφάλισης Ποιότητας Λογισμικού μέσω αυτού του ενημερωτικού άρθρου !!
Συνιστώμενη ανάγνωση
- Δοκιμές λογισμικού και πιστοποιήσεις διασφάλισης ποιότητας - Μέρος 2
- Ποια είναι τα ποιοτικά χαρακτηριστικά;
- Ψεύτικος Θεός Ποιότητας έναντι Αληθινών Ανθρώπων - Ποιος είναι υπεύθυνος για την ποιότητα του λογισμικού;
- Διαφορά μεταξύ διασφάλισης ποιότητας και ποιοτικού ελέγχου (QA έναντι QC)
- Οδηγός περίληψης δοκιμών τέλειου λογισμικού (με δείγμα βιογραφικού ελέγχου δοκιμής)
- Τρόπος χρήσης της τεχνικής Poka-Yoke (Mistake Proofing) για τη βελτίωση της ποιότητας του λογισμικού
- Αμοιβαία κατανόηση στις δοκιμές: Ένα κλειδί για την παροχή ενός ποιοτικού λογισμικού
- Δοκιμή λογισμικού QA Assistant Job