how use poka yoke technique improve software quality
Η Μηχανική Λογισμικού είναι ένας κλάδος που στοχεύει στην παραγωγή λογισμικού υψηλής ποιότητας μέσω μιας συστηματικής, καλά σχεδιασμένης προσέγγισης για την ανάπτυξη λογισμικού.
Περιέχει πολλές καλές πρακτικές, ακολουθώντας τα πρότυπα για την επίτευξη του ποιοτικού προϊόντος. Οι τρεις κύριες φάσεις της ανάπτυξης λογισμικού είναι η ανάλυση - σχεδιασμός - εφαρμογή. Η επίτευξη λογισμικού υψηλής ποιότητας είναι απαραίτητη για την παραγωγή ενός προϊόντος χωρίς ελαττώματα.
Τι θα μάθετε:
καλύτερο λογισμικό αποκατάστασης δεδομένων για Windows
Μηχανική Διαδικασίας Λογισμικού
Διαχείριση ελαττωμάτων
Το ελάττωμα είναι η απροσδόκητη ή ανεπιθύμητη συμπεριφορά που εμφανίζεται στο προϊόν. Οτιδήποτε σχετίζεται με το ελάττωμα είναι μια συνεχής διαδικασία, όχι μια συγκεκριμένη κατάσταση.
Η εύρεση και η διόρθωση του ελαττώματος στο αρχικό στάδιο της ανάπτυξης λογισμικού μειώνει τον χρόνο, την επανεργασία και τα χρήματα. Η εύρεση του ελαττώματος σε μεταγενέστερα στάδια κοστίζει πάντα πολλές φορές από τα πρώτα στάδια. Βελτιώνει την ποιότητα προσθέτοντας αξιοπιστία, φορητότητα, συντήρηση κ.λπ.
Ως εκ τούτου, συνιστάται κάθε εταιρεία να πάει με ένα Διαχείριση ελαττωμάτων ομάδα διαχείρισης συστημάτων και ελαττωμάτων σε κάθε στάδιο της ανάπτυξης για την επίτευξη καλής ποιότητας στα προϊόντα και την απόκτηση εμπιστοσύνης των πελατών.
Μία από αυτές τις τεχνικές προστασίας από λάθη είναι το POKA-YOKE,
Τι είναι το Poka-Yoke;
Πρόκειται για μια διαδικασία διασφάλισης ποιότητας που εισήγαγε ο Ιάπωνας μηχανικός Shigeo Shingo. Αυτός ο όρος χρησιμοποιείται στην ιαπωνική γλώσσα ως 'Poka' που σημαίνει λάθος και 'Yoke' που σημαίνει πρόληψη, δηλαδή αποτροπή λαθών ή τεχνική προστασίας από λάθη.
Ο σκοπός του Poka-Yoke είναι η ανάπτυξη διαδικασιών για τη μείωση των ελαττωμάτων με την αποφυγή ή τη διόρθωση (σχεδιασμός για εμφάνιση ειδοποιήσεων ή προειδοποιητικών μηνυμάτων στον χρήστη) λαθών σε πρώιμες φάσεις σχεδιασμού και ανάπτυξης. Αυτή η τεχνική χρησιμοποιείται κυρίως στις μεταποιητικές βιομηχανίες, αλλά τώρα αυτή η αποτελεσματική τεχνική προσαρμόζεται και στις διαδικασίες ανάπτυξης λογισμικού.
Παράδειγμα Poka-Yoke από μια μεταποιητική βιομηχανία
Ένα καλό παράδειγμα σχεδιασμού Poka-Yoke από τη μεταποιητική βιομηχανία - η υποδοχή κάρτας SIM σε κινητά τηλέφωνα έχει σχεδιαστεί με τέτοιο τρόπο ώστε ο χρήστης να επιτρέπεται να τοποθετεί την κάρτα SIM μόνο με σωστό τρόπο. Δεν υπάρχει πιθανότητα ο χρήστης να κάνει λάθος τοποθετώντας την κάρτα SIM σε κινητό τηλέφωνο. Αυτό καθιστά το σχέδιο λάθος απόδειξη.
Παράδειγμα Poka-Yoke από μια εφαρμογή λογισμικού
mysql vs oracle vs sql server
Το τέλειο παράδειγμα της διαδικασίας Poka-yoke στην εφαρμογή λογισμικού είναι - λειτουργία συνημμένων email Gmail - όταν πληκτρολογείτε τη λέξη «εύρεση συνημμένου» ενώ συνθέτετε ένα νέο email και προσπαθείτε να το στείλετε χωρίς να επισυνάψετε ένα αρχείο, η Google θα σας δείξει μια αναδυόμενη υπενθύμιση που λέει ότι χρησιμοποιημένες λέξεις 'εύρεση συνημμένου' στο email σας αλλά δεν επισύναψαν αρχεία, θέλετε ακόμα να συνεχίσετε να στέλνετε;
Πώς λειτουργεί η τεχνική Poka-Yoke;
Βήματα για την εφαρμογή μιας διαδικασίας Poka-Yoke:
Ακολουθούν μερικά βήματα για το σχεδιασμό και την εφαρμογή μιας διαδικασίας για την αποτροπή ελαττωμάτων λογισμικού:
- Καταγράψτε όλα τα σενάρια χρήστη ή τις δοκιμασίες από άκρο σε άκρο για την εφαρμογή.
- Αναλύστε όλα αυτά τα σενάρια χρήστη ρωτώντας 5-γιατί ερωτήσεις για την κατανόηση των τρόπων αποτυχίας αυτών των σεναρίων.
- Μόλις προσδιορίσετε τους τρόπους με τους οποίους αυτά τα σενάρια χρήστη μπορεί να είναι λανθασμένα, σχεδιάστε και εφαρμόστε μια τεχνική Poka-Yoke για να αποφύγετε τα πιθανά προβλήματα ( Για παράδειγμα, αυτός ο σχεδιασμός θα μπορούσε να είναι ένας απλός έλεγχος μονάδας για να ελέγξει αν κάποια λειτουργία γράφτηκε λειτουργεί σωστά ή όχι).
- Βεβαιωθείτε ότι η τεχνική που έχει σχεδιαστεί για την αποφυγή του ελαττώματος λειτουργεί σωστά δίνοντας σφάλματα ή το προειδοποιητικό μήνυμα για εσφαλμένη εισαγωγή ή χειρισμό του σεναρίου χρήστη.
- Μόλις περάσει η δοκιμή, προσθέστε αυτήν την τεχνική στη λίστα των διεργασιών Poka-Yoke που θα εκτελούνται κάθε φορά σε νέα έκδοση / έκδοση. (Στο παραπάνω παράδειγμα δοκιμής μονάδας, μόλις γραφτεί η δοκιμή μονάδας για να ελέγξει τον κωδικό λειτουργίας, ελέγξτε αν λειτουργεί για θετικές και αρνητικές τιμές. Όταν περάσει αυτή η δοκιμή, προσθέστε το στο αποθετήριο 'Δοκιμές μονάδας' για εκτέλεση κάθε φορά οποιασδήποτε αλλαγής γίνεται σε σχετικές ενότητες)
- Μετρήστε την επιτυχία αυτής της διαδικασίας Poka-Yoke. Ελέγξτε εάν αυτή η τεχνική έχει πραγματικά αποτρέψει ή πιάσει ελαττώματα όταν συμβαίνει.
Κατηγορίες Poka-Yoke
- Πρόληψη ελαττωμάτων
- Ανίχνευση ελαττωμάτων
Πρόληψη ελαττωμάτων είναι η πιο σημαντική δραστηριότητα στο SDLC. Αυτή η μέθοδος χρησιμοποιείται για τον εντοπισμό όλων των πιθανών ζητημάτων και ενεργειών που απαιτούνται για την εξάλειψη αυτών των ζητημάτων. Πολλά ελαττώματα λογισμικού μπορούν να προληφθούν στην ίδια τη φάση σχεδιασμού.
Η ομάδα Διασφάλισης Ποιότητας μπορεί να βοηθήσει στην πρόληψη αυτών των ελαττωμάτων εξετάζοντας το Έγγραφα προδιαγραφής απαιτήσεων λογισμικού . Όλα τα ζητήματα που εντοπίζονται σε αυτό το στάδιο αντιμετωπίζονται σε φάση κωδικοποίησης λογισμικού και εμποδίζονται να μεταφερθούν σε μεταγενέστερα στάδια.
Τα παραδείγματα της βιομηχανίας κατασκευής και του λογισμικού που παρέχονται παραπάνω είναι καλά παραδείγματα τεχνικών πρόληψης ελαττωμάτων.
Ανίχνευση ελαττωμάτων είναι το πιο κοινό καθήκον για ομάδες διασφάλισης ποιότητας. Οι ομάδες QA χρησιμοποιούν διάφορες προσεγγίσεις και στρατηγικές για την αποτελεσματική εκτέλεση δοκιμαστικών περιπτώσεων. Τα ελαττώματα εντοπίζονται από πολλές άλλες μεθόδους δοκιμής όπως Καπνός και διερευνητικές δοκιμές.
Ποιες είναι οι ιδιότητες μιας καλής διαδικασίας Poka-Yoke;
- Το Poka-Yoke πρέπει να είναι απλό στη δημιουργία και τη συντήρηση. Πρέπει να είναι εύκολο στο χειρισμό και οικονομικά αποδοτικό. Η διατήρηση ενός σύνθετου Poka-Yoke είναι χρονοβόρα και συχνά οδηγεί σε ζητήματα, εάν δεν συντηρείται σωστά.
- Το Poka-Yoke πρέπει να σχεδιαστεί νωρίς στο SDLC έτσι ώστε να μπορεί να εντοπίζει γρήγορα προβλήματα.
- Ένα καλό Poka-Yoke θα πρέπει να είναι αρκετά ακριβές για να εντοπίζει προβλήματα όταν συμβαίνουν.
- Ένα καλό Poka-Yoke θα πρέπει να σχεδιαστεί με τέτοιο τρόπο ώστε να σταματά τα πιο συνηθισμένα ζητήματα που εμφανίζονται στο λογισμικό.
- Θα πρέπει να είναι μέρος της διαδικασίας σχεδιασμού και κωδικοποίησης λογισμικού.
Ανάγκη Poka-Yoke στη φάση σχεδιασμού λογισμικού
Για να αναπτύξετε ποιοτικό λογισμικό, είναι σημαντικό να το σχεδιάσετε σύμφωνα με τις προσδοκίες του χρήστη. Ο χρήστης θα πρέπει να μπορεί να χρησιμοποιεί / χειρίζεται το λογισμικό με ευκολία χωρίς να κάνει δαπανηρά λάθη.
Παραδείγματα Poka-Yoke στο σχεδιασμό και την ποιότητα
# 1) Ένα παράδειγμα λείπουν αρχεία συνημμένων κατά τη σύνταξη ενός email χρησιμοποιώντας το Gmail.
# 2) Ορισμένοι ιστότοποι εμφανίζουν την ένδειξη ισχύος κωδικού πρόσβασης για την εμφάνιση ισχύος κωδικού πρόσβασης. Καθοδηγεί επίσης τους χρήστες να χρησιμοποιούν έναν ισχυρό κωδικό πρόσβασης με συνδυασμούς χαρακτήρων και αριθμών.
# 3) Λειτουργία μηχανής αναζήτησης Google για αυτόματη πρόταση ορθογραφικών διορθώσεων για το ερώτημα αναζήτησης χρήστη. Αυτό βοηθά τους χρήστες να αποφεύγουν να κάνουν λάθη.
# 4) Οι τραπεζικοί ιστότοποι χρησιμοποιούν τη λειτουργία πεδίου διπλού κειμένου για να δέχονται ευαίσθητες πληροφορίες όπως κωδικούς πρόσβασης ή αριθμούς λογαριασμού. Το δεύτερο πεδίο κειμένου συνήθως κρυπτογραφείται για να αποφευχθεί τυχόν λάθος παρέχοντας την τιμή εισαγωγής και για να ελέγξετε αν και οι δύο τιμές πεδίου κειμένου ταιριάζουν.
Η ανάγκη για Poka-Yoke στην ανάπτυξη λογισμικού
Από αμέτρητα παραδείγματα βιομηχανίας, είναι πλέον γνωστό ότι το κόστος διόρθωσης ενός ελαττώματος μετά την κυκλοφορία του προϊόντος είναι πολλές φορές μεγαλύτερο από το να το διορθώσουμε στον κύκλο ανάπτυξης.
Περαιτέρω ανάγνωση = >> Ποιο είναι το κόστος ποιότητας (COQ);
Η καλύτερη λύση για την αποφυγή προβλημάτων μετά την απελευθέρωση είναι η εισαγωγή τεχνικών Poka-Yoke που θα μπορούσαν να εντοπίσουν ελαττώματα σε πρώιμες φάσεις ανάπτυξης καθιστώντας την φθηνότερη διόρθωση. Η εφαρμογή της διαδικασίας Poka-Yoke εξαρτάται σε μεγάλο βαθμό από το Δυνατότητα του Tester να συλλάβει και να εξαλείψει τα ζητήματα.
Παραδείγματα Poka-Yoke στην ανάπτυξη λογισμικού
- Δοκιμή μονάδας είναι ένα από τα πιο αποτελεσματικά μέσα για την ανάπτυξη λογισμικού προστασίας από λάθη.
- Η επικύρωση του Poka-Yoke στο κιτ είναι πάντα μια καλή πρόταση για προγραμματιστές. Τα λάθη επικύρωσης πρέπει να αντιμετωπίζονται στον κωδικό σας. Αυτά τα ζητήματα επικύρωσης πρέπει να επανεξετάζονται και να ενημερώνονται περιοδικά.
- Ένα κοινό και πιο αποτελεσματικό Poka-Yoke είναι να προσλάβετε τους σωστούς υποψήφιους για να αποδείξετε λάθος το λογισμικό σας.
συμπέρασμα
Κάνοντας λάθη είναι εντάξει. απλά μην κάνετε το ίδιο λάθος ξανά και ξανά . Και για να αποφύγετε να κάνετε τα ίδια λάθη ξανά θα πρέπει να υπάρχουν ορισμένοι έλεγχοι ή διαδικασίες. Οι τεχνικές Poka-Yoke αναπτύσσονται για την επίλυση αυτού του προβλήματος.
δωρεάν λογισμικό δημιουργίας αντιγράφων ασφαλείας υπολογιστή σε εξωτερικό σκληρό δίσκοΑναφορές άρθρου:
- Shigeo Shingo, Μηδενικός ποιοτικός έλεγχος
- Βικιπαίδεια αναφορά
- Boris Beizer, Τεχνικές δοκιμής λογισμικού, 2η έκδοση. Van Nostrand Reinhold
Σχετικά με τον συγγραφέα: Αυτή είναι μια θέση επισκεπτών από Νατάρατζ Καντσιάνη. Εργάζεται ως Senior Engineer-Testing στο Centurylink Technologies India Pvt Ltd, Bangalore.
Έχετε κάποια εμπειρία στην εργασία αυτής της τεχνικής; Ή έχετε εργαστεί ποτέ στην ανάπτυξη τέτοιων διαδικασιών πρόληψης και ανίχνευσης ελαττωμάτων; Ενημερώστε μας στα σχόλια παρακάτω.
Συνιστώμενη ανάγνωση
- Ποια είναι τα ποιοτικά χαρακτηριστικά;
- Ψεύτικος Θεός Ποιότητας έναντι Αληθινών Ανθρώπων - Ποιος είναι υπεύθυνος για την ποιότητα του λογισμικού;
- Τι είναι η διασφάλιση ποιότητας λογισμικού (SQA): Ένας οδηγός για αρχάριους
- Αμοιβαία κατανόηση στις δοκιμές: Ένα κλειδί για την παροχή ενός ποιοτικού λογισμικού
- Δοκιμές λογισμικού και πιστοποιήσεις διασφάλισης ποιότητας - Μέρος 2