
ΕΙΣΑΓΩΓΗ ΣΤΗ ΔΙΑΣΦΑΛΙΣΗ ΠΟΙΟΤΗΤΑΣ ΛΟΓΙΣΜΙΚΟΥ
Έχετε ορίσει το τοπίο και τον προορισμό σας. Ο χάρτης σας σχεδιάστηκε. Έχετε ξεκινήσει το ταξίδι σας και νομίζετε ότι βρίσκεστε στον προορισμό σας, αλλά πώς ξέρετε πότε έχετε φτάσει με ένα πλήρως λειτουργικό προϊόν; Είναι σημαντικό να διεξάγετε ανάλυση δοκιμασιμότητας νωρίς στη διάρκεια ζωής του προϊόντος για να αποφύγετε να φτάσετε στον προορισμό σας με ένα ελαττωματικό προϊόν. Ο εντοπισμός πιθανών ελαττωμάτων μέσω ανάλυσης, ειδικά κατά τον καθορισμό απαιτήσεων, είναι πολύ λιγότερο δαπανηρός από ό,τι αν εντοπιστεί ένα σφάλμα αργότερα στον κύκλο ανάπτυξης, αφού έχει γραφτεί το μεγαλύτερο μέρος του κώδικα.
ΑΝΑΛΥΣΗ ΔΟΚΙΜΟΤΗΤΑΣ
Τι είναι η δυνατότητα δοκιμής; Η δυνατότητα δοκιμής είναι το επίπεδο δυσκολίας εκτέλεσης της δοκιμής ενός συγκεκριμένου εξαρτήματος ή προϊόντος με βάση τη γνωστή/άγνωστη κατάσταση του εξαρτήματος ή του προϊόντος. Το υλικολογισμικό/λογισμικό θα χρησιμοποιηθεί εσωτερικά ή θα παραδοθεί σε πελάτη; Υπάρχουν σαφείς οδηγίες στην εφαρμογή για την προώθηση της σωστής ροής εργασιών και ακολουθιών διεργασιών; Ένα δυνατό ξεκίνημα υποστηρίζει ένα δυνατό τελείωμα. Ορίζονται καλές απαιτήσεις για τη διευκόλυνση των δοκιμών, οι οποίες διασφαλίζουν ότι ο κώδικας υψηλής ποιότητας γράφεται και ενσωματώνεται στη βάση κώδικα.
Η διεξαγωγή ανάλυσης δοκιμασιμότητας στα στάδια σχεδιασμού του προϊόντος μπορεί να ελαχιστοποιήσει τον αριθμό των ελαττωμάτων που εντοπίζονται αργότερα στον κύκλο ανάπτυξης. Η ανάλυση της δυνατότητας δοκιμής είναι ένας άλλος τρόπος που χρησιμοποιεί η ομάδα ανάπτυξης υλικολογισμικού/λογισμικού ΣΙΓΜΑΗ DESIGN ενσωματώνει την ποιότητα στα προϊόντα μας από την αρχή.
ΚΑΘΟΡΙΣΜΟΣ ΣΤΟΧΩΝ ΔΟΚΙΜΩΝ
Από πού ξεκινάτε όταν ορίζετε στόχους δοκιμών; Οι στόχοι των δοκιμών συνδέονται άμεσα με τις απαιτήσεις. Οι μη τεκμηριωμένες απαιτήσεις είναι μια κοινή αιτία κακής επικοινωνίας, η οποία οδηγεί σε αλλαγές, σφάλματα και εκ νέου εργασία. Αυτό μπορεί συχνά να προκαλέσει χαμένες προθεσμίες και υπερβάσεις προϋπολογισμού. Λεπτομέρειες σχετικά με τον καθορισμό απαιτήσεων υλικολογισμικού/λογισμικού παρέχονται Μέρος 1: Απαιτήσεις: Καθορισμός του τοπίου. Κάθε φορά που γράφετε μια νέα απαίτηση, πρέπει να αναρωτιέστε: «Πώς θα επαληθευτεί η επιτυχής εφαρμογή αυτής της απαίτησης;» Μια επιτυχής υλοποίηση υποβοηθείται σε μεγάλο βαθμό από ισχυρές απαιτήσεις.
Όταν αυτές οι ερωτήσεις σχετικά με τις απαιτήσεις μπορούν να απαντηθούν με ικανοποιητικό τρόπο, είναι δυνατό να τεθούν οι βάσεις για τον προσδιορισμό και τον καθορισμό των συνολικών στόχων δοκιμών. Συνιστάται ιδιαίτερα η εισαγωγή μηχανικών QA κατά το στάδιο του έργου στο οποίο καθορίζονται οι απαιτήσεις. Είναι εξίσου σημαντικό να διατηρείτε τους μηχανικούς QA ενήμερους κατά τη διαδικασία ανάπτυξης. Οι αλλαγές στις απαιτήσεις ανάπτυξης οδηγούν σε αλλαγές στις απαιτήσεις δοκιμών.
ΤΡΟΠΟΙ ΒΕΛΤΙΩΣΗΣ UIS ΓΙΑ ΠΙΟ ΔΟΚΙΜΑΣΜΕΝΟ
Ως διεπαφή χρήστη (UI) ορίζεται η αλληλεπίδραση μεταξύ ενός χρήστη και ενός υπολογιστή, ενός ιστότοπου ή μιας εφαρμογής. Πώς βελτιώνουμε τις διεπαφές χρήστη ώστε να είναι πιο ελεγχόμενες; Μπορούμε να ξεκινήσουμε σχεδιάζοντας ένα UI έχοντας κατά νου τον χρήστη. Ποιος θα αλληλεπιδράσει με αυτήν την εφαρμογή; Πώς θα χρησιμοποιηθεί αυτή η εφαρμογή; Σκεφτείτε όλες τις πιθανές ροές εργασίας που μπορεί να χρειαστεί να ακολουθήσει ο χρήστης. Είναι σημαντικό να δοκιμάσετε όλες τις δυνατότητες ροής εργασιών.
Οι απαντήσεις σε αυτές τις ερωτήσεις και τις πιθανές περιπτώσεις χρήσης μπορούν να χρησιμοποιηθούν για τη δημιουργία μιας σχετικής διεπαφής χρήστη. Ο σχεδιασμός πρέπει να είναι σαφής και συνεπής. Η διεπαφή χρήστη πρέπει να είναι εύκολη στην πλοήγηση όλων των επιπέδων χρηστών. Πρέπει να περιλαμβάνει παρατηρήσιμες καταστάσεις και σαφώς καθορισμένες εισόδους, εξόδους και περιορισμούς. Η συμπεριφορά ελέγχου πρέπει επίσης να είναι καλά καθορισμένη. Μια σχετική διεπαφή χρήστη παρέχει πρόσβαση σε σημαντικούς πόρους και υποστηρίζει την καταγραφή συμβάντων.
Συνεπής σχεδιασμός
Η τοποθέτηση και η μορφοποίηση των στοιχείων διεπαφής χρήστη (κουμπιά, πεδία κειμένου, γραμματοσειρά κ.λπ.) πρέπει να είναι συνεπής. Αυτό βοηθά στην ανάπτυξη δοκιμών και στην ανάπτυξη αυτοματισμού δοκιμών. Η χρήση συντομογραφιών στα ονόματα των κουμπιών και στα ονόματα πεδίων πρέπει να αποφεύγεται όποτε είναι δυνατόν. Οι συντομογραφίες, ειδικά οι ασυνήθιστες ή αυθαίρετες, μπορεί να προκαλέσουν σύγχυση. Ο συνολικός σχεδιασμός μιας οθόνης στο περιβάλλον χρήστη πρέπει να είναι καθαρός και συνοπτικός. Οι υπερφορτωμένες (απασχολημένες) οθόνες είναι δύσκολο να χρησιμοποιηθούν. Πάρα πολλά στοιχεία μπορεί να κάνουν τις δοκιμές προβληματικές και τα σφάλματα θα είναι πιο δύσκολο να βρεθούν.
Παρατηρήσιμες καταστάσεις

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

Σαφώς καθορισμένη συμπεριφορά ελέγχου
Η συμπεριφορά ελέγχου πρέπει να ορίζεται σαφώς στις απαιτήσεις. Παραδείγματα στοιχείων ελέγχου περιλαμβάνουν γραμμές ολίσθησης, κουμπιά, πλαίσια κειμένου, μετρητές κ.λπ.
Πρόσβαση σε σημαντικούς πόρους που σχετίζονται με το έργο
Ο πηγαίος κώδικας είναι χρήσιμος για την ανάπτυξη αυτοματοποιημένων δοκιμών. Τα διαγράμματα ακολουθίας και τα διαγράμματα ροής είναι ωφέλιμα για την ανάπτυξη δοκιμαστικών περιπτώσεων και την εκτέλεση της σωστής ροής εργασίας. Αυτό δείχνει επίσης τη σχέση μεταξύ των στοιχείων μέσα στη διεπαφή χρήστη.
Καταγραφή συμβάντων
Αυτή η λειτουργία είναι πολύ χρήσιμη για τη δοκιμή μηχανικών που επαληθεύουν αναμενόμενες ή μη φυσιολογικές συμπεριφορές προϊόντος. Τα αρχεία καταγραφής συμβάντων παρακολουθούν τα στάδια της ροής εργασιών σε περίπτωση που είναι απαραίτητο να αναπαραχθεί ένα σφάλμα στο μέλλον.
Η τήρηση αυτών των οδηγιών θα οδηγήσει σε μια πραγματικά σταθερή και αξιόπιστη διεπαφή χρήστη. Σκεφτείτε πώς θα χρησιμοποιηθούν οι εφαρμογές για την εύρεση όλων των πιθανών περιπτώσεων χρήσης για την εξάλειψη τυχόν σφαλμάτων.
ΥΠΟΣΤΗΡΙΞΗ ΑΥΤΟΜΑΤΙΣΜΟΥ, ΕΡΓΑΛΕΙΩΝ ΚΑΙ ΠΟΡΩΝ ΔΟΚΙΜΩΝ
Ποια είναι τα οφέλη των αυτοματοποιημένων δοκιμών; Οποιαδήποτε διαδικασία δοκιμής είναι πολύ επαναλαμβανόμενη και έχει μικρή διαφοροποίηση είναι καλή υποψήφια για αυτοματοποίηση. Οι αυτοματοποιημένες δοκιμές εξοικονομούν χρόνο, μπορούν να είναι διεξοδικές και συχνά παράγουν γρήγορα αποτελέσματα. Αυτό το είδος δοκιμών μπορεί να είναι πολύ αποτελεσματικό και αξιόπιστο. Οι αυτοματοποιημένες δοκιμές είναι επαναλαμβανόμενες και μπορούν να προσαρμοστούν για να αποκαλύψουν συγκεκριμένα προβλήματα. Η επανάληψη είναι ευκολότερη για τις μηχανές παρά για τους ανθρώπους. Η αυτοματοποιημένη δοκιμή είναι ένα πολύ χρήσιμο βοήθημα ανάπτυξης και μπορεί να χρησιμοποιηθεί κατά την αναθεώρηση κώδικα. Οι δοκιμές μπορούν να διαμορφωθούν για να επαληθευτεί ότι πληρούνται συγκεκριμένες απαιτήσεις.
Τι μπορεί να αυτοματοποιηθεί; Οι δοκιμές διεπαφής χρήστη, ιδιαίτερα οι επαναλαμβανόμενες και πολύπλοκες δοκιμές πλοήγησης διεπαφής χρήστη και εφαρμογών για κινητά, προσφέρονται για αυτοματοποίηση. Ο παλίνδρομος έλεγχος σφαλμάτων, ειδικά μέσω πολλαπλών εκδόσεων του υλικολογισμικού/λογισμικού ή των περιπτώσεων χρήσης μπορεί να αυτοματοποιηθεί και αυτό απελευθερώνει τους μηχανικούς QA να επικεντρωθούν σε άλλες εργασίες. Οι δοκιμές μονάδων υλικολογισμικού μπορούν να αυτοματοποιηθούν για να διασφαλιστεί ότι τα τμήματα κώδικα λειτουργούν σύμφωνα με τις απαιτήσεις. Η δοκιμή API είναι ένας άλλος καλός υποψήφιος για αυτοματοποίηση. Υπάρχει μεγάλη αξία στην ανάπτυξη εφαρμογών που δημιουργούν κλήσεις API. Οι ενσωματωμένες δοκιμές, όπως οι κλήσεις απομακρυσμένων διαδικασιών (RPC) για την αξιοπιστία και τα FAT, είναι φυσικά στοιχεία για την αυτοματοποίηση. Τα FAT μπορούν να αυτοματοποιηθούν και να ρυθμιστούν με ακρίβεια για να διασφαλιστεί ότι τα νέα προϊόντα λειτουργούν όπως προβλέπεται και πληρούν ή υπερβαίνουν τα κριτήρια αποδοχής. Υπάρχουν πολλά εργαλεία που είναι διαθέσιμα για αυτοματοποιημένες δοκιμές. Μερικά από αυτά είναι:
- Πλαίσιο δοκιμής Google (C++),
- xUnit πλαίσιο (π.χ. JUnit),
- Katalon Studios,
- Προσαρμοσμένη ΝΔ.
Τα εργαλεία και ο εξοπλισμός υποστήριξης είναι απαραίτητα για την αποτελεσματική δοκιμή. Υπάρχουν πολλά εργαλεία για τη δοκιμή υλικολογισμικού/λογισμικού. Μερικές φορές είναι απαραίτητο να αναπτυχθούν εξειδικευμένα εργαλεία για τη δοκιμή ενός νέου προϊόντος. Ορισμένα εργαλεία και εξοπλισμός δοκιμής περιλαμβάνουν:
- Bluetooth sniffer κυκλοφορίας,
- Ανιχνευτής κυκλοφορίας δικτύου,
- Προσομοιωτής μπαταρίας,
- Προσαρμοσμένο λογισμικό ή/και υλικό.
Οι πόροι για καλή δοκιμή είναι πολύ παρόμοιοι με εκείνους για τη σύνταξη καλών απαιτήσεων για ανάπτυξη υλικολογισμικού/λογισμικού. Η κατανόηση των περιπτώσεων χρήσης και των απαιτήσεων οδηγεί στην κατανόηση της προβλεπόμενης χρήσης του παραδοτέου, γεγονός που οδηγεί σε δοκιμές που αντικατοπτρίζουν τη συμπεριφορά του χρήστη. Πρέπει να διατεθούν οι σωστοί πόροι για την υποστήριξη της πρόθεσης της δοκιμής. Οι δοκιμές δεδομένων πραγματικής ζωής επικεντρώνονται σε δοκιμές που αντικατοπτρίζουν την πραγματική ζωή. Η δοκιμή περιβάλλοντος βοηθά στην επίλυση της ασάφειας. Οι αρνητικές δοκιμές είναι απαραίτητες για να καθοριστεί τι δεν πρέπει να μπορεί να κάνει ένας χρήστης.
Τα περιβάλλοντα δοκιμής μπορεί να είναι τόσο σημαντικά όσο και η ίδια η δοκιμή. Οι προσομοιώσεις είναι καλές για γρήγορη ανάπτυξη. Η μερική δοκιμή υλικού είναι αρθρωτή και μπορεί να αφορά συγκεκριμένο προϊόν ή σύνολο χαρακτηριστικών πριν από την ενσωμάτωση. Η πλήρης δοκιμή υλικού/στο στόχο περιλαμβάνει πλήρη ενσωμάτωση χαρακτηριστικών. Πέρα από τη δοκιμή στόχου είναι η δοκιμή του τελικού προϊόντος σε πραγματικό περιβάλλον.
ΣΥΜΠΕΡΑΣΜΑ
Πώς ξέρετε πότε το ταξίδι ανάπτυξής σας έχει τελειώσει και έχετε φτάσει με ένα πλήρως λειτουργικό προϊόν; ο ΣΙΓΜΑΗ ομάδα ανάπτυξης υλικολογισμικού/λογισμικού DESIGN διεξάγει ανάλυση δοκιμασιμότητας κατά τα στάδια σχεδιασμού ενός έργου. Αυτό εξοικονομεί χρόνο και χρήμα και βοηθά στην πρόληψη της εμφάνισης σφαλμάτων. Είμαστε συνεχώς σε επιφυλακή για τρόπους βελτίωσης των διαδικασιών μας. Στο ΣΙΓΜΑΣΧΕΔΙΑΣΜΟΣ, κάνουμε όλες τις απαραίτητες δοκιμές στα κατάλληλα περιβάλλοντα δοκιμών με τους κατάλληλους πόρους, συμπεριλαμβανομένων των αυτοματοποιημένων δοκιμών, για να επαληθεύσουμε ότι το προϊόν που παραδίδεται πληροί ή υπερβαίνει τις απαιτήσεις και τα κριτήρια αποδοχής.
Ακολουθεί η εισαγωγή στις βέλτιστες πρακτικές υλικολογισμικού και λογισμικού
Μπορείτε να διαβάσετε εδώ: Μέρος 1: Απαιτήσεις των βέλτιστων πρακτικών υλικολογισμικού και λογισμικού
Διαβάστε το Μέρος 2 εδώ: Μέρος 2: Αρχιτεκτονική Λογισμικού | Δημιουργία του χάρτη
Διαβάστε το Μέρος 3 εδώ: Μέρος 3: Κριτικές κώδικα λογισμικού