Σφήνα πληκτρολογίου και εξομοιωτής γραμμωτού κώδικα: βασικές διαφορές
Η σφήνα πληκτρολογίου και ο εξομοιωτής γραμμωτού κώδικα αναφέρονται συχνά στις ίδιες συζητήσεις, και γι' αυτό ακριβώς οι ομάδες τους μπερδεύουν. Σχετίζονται, αλλά δεν είναι το ίδιο πράγμα. Η σφήνα πληκτρολογίου περιγράφει πώς ένας σαρωτής στέλνει δεδομένα στο λογισμικό σας. Ο εξομοιωτής γραμμωτού κώδικα είναι εργαλείο που χρησιμοποιείται για να αναπαράγει αυτή τη συμπεριφορά χωρίς τον φυσικό σαρωτή.
Τι σημαίνει σφήνα πληκτρολογίου
Ένας σαρωτής σφήνας πληκτρολογίου συμπεριφέρεται σαν πληκτρολόγιο. Όταν διαβάζει έναν γραμμωτό κώδικα, στέλνει χαρακτήρες στο ενεργό πεδίο σαν να τους πληκτρολόγησε κάποιος πολύ γρήγορα. Αυτός είναι ένας λόγος που οι σαρωτές σφήνας είναι δημοφιλείς: πολλές εφαρμογές μπορούν να δεχτούν εισαγωγή σαρωτή χωρίς ειδική ενσωμάτωση συσκευής.
Από τη σκοπιά της εφαρμογής, ακούγεται απλό. Στην πράξη, φέρνει μαζί του σημαντική συμπεριφορά:
γρήγορη διαδοχική εισαγωγή χαρακτήρων
εξάρτηση από την τρέχουσα εστίαση
προαιρετικά πλήκτρα κατάληξης όπως Enter ή Tab
διαφορές χρονισμού σε σχέση με τη χειροκίνητη πληκτρολόγηση
Αυτές οι λεπτομέρειες είναι ο λόγος που η δοκιμή σαρωτή γραμμωτού κώδικα συχνά αποκαλύπτει σφάλματα που η συνηθισμένη δοκιμή φορμών δεν αποκαλύπτει.
Τι κάνει ένας εξομοιωτής γραμμωτού κώδικα
Ο εξομοιωτής γραμμωτού κώδικα αναπαράγει εισαγωγή σαν σαρωτή από λογισμικό. Αντί να πάρετε έναν φυσικό σαρωτή, ρυθμίζετε μια τιμή γραμμωτού κώδικα και ενεργοποιείτε τη συμπεριφορά σάρωσης από την επιφάνεια εργασίας. Τα καλά εργαλεία σας αφήνουν να αλλάζετε τον χρονισμό και τους κανόνες κατάληξης, ώστε το αποτέλεσμα να μοιάζει πολύ περισσότερο με εισαγωγή σφήνας πληκτρολογίου παρά με χειροκίνητη πληκτρολόγηση ή αντιγραφή και επικόλληση.
Η εισαγωγή σφήνας πληκτρολογίου και η εξομοίωση γραμμωτού κώδικα λύνουν συγγενικά αλλά διαφορετικά προβλήματα σε μια ροή δοκιμής.
Αυτό κάνει τον εξομοιωτή εργαλείο ανάπτυξης και QA. Δεν αντικαθιστά τον ορισμό της σφήνας πληκτρολογίου. Σας βοηθά να προσομοιώνετε τη συμπεριφορά σαρωτή γραμμωτού κώδικα όταν το υλικό δεν είναι διαθέσιμο, είναι άβολο ή απλώς πιο αργό από την εργασία στην οποία δουλεύετε.
Η πιο σημαντική διαφορά
Ο καθαρότερος τρόπος να το σκεφτείτε είναι αυτός:
η σφήνα πληκτρολογίου είναι λειτουργία εισαγωγής του σαρωτή
ο εξομοιωτής γραμμωτού κώδικα είναι εργαλείο λογισμικού που μιμείται αυτή τη λειτουργία
Μόλις χωρίσετε αυτές τις δύο ιδέες, μεγάλη σύγχυση εξαφανίζεται. Σταματάτε να ρωτάτε αν ο εξομοιωτής «είναι» σφήνα και αρχίζετε να ρωτάτε αν αναπαράγει τη συμπεριφορά σφήνας από την οποία εξαρτάται η εφαρμογή σας.
Γιατί αυτή η διαφορά μετράει σε έργα λογισμικού
Δεν είναι μόνο διαφωνία ορολογίας. Οι ομάδες παίρνουν κακές αποφάσεις δοκιμής όταν μπερδεύουν αυτές τις έννοιες. Είτε υποθέτουν ότι χρειάζεται σαρωτής υλικού για κάθε μικρή αλλαγή ροής, είτε υποθέτουν ότι ένας εξομοιωτής γραμμωτού κώδικα μπορεί να αντικαταστήσει κάθε εργασία επικύρωσης υλικού.
Καμία από τις δύο προσεγγίσεις δεν είναι καλή. Η πρώτη επιβραδύνει την ανάπτυξη. Η δεύτερη δίνει ψεύτικη αίσθηση σιγουριάς. Η κατανόηση της διάκρισης σας βοηθά να διαλέξετε το σωστό εργαλείο για το σωστό επίπεδο δοκιμής.
Πότε ο εξομοιωτής είναι η καλύτερη επιλογή
Αν χτίζετε μια φόρμα, αποσφαλματώνετε τον χειρισμό εστίασης, ελέγχετε τη συμπεριφορά κατάληξης Enter ή κάνετε γρήγορες δοκιμές POS σε σταθμό εργασίας, ο εξομοιωτής είναι συνήθως η καλύτερη επιλογή. Ρυθμίζεται ταχύτερα, επαναλαμβάνεται ευκολότερα και είναι πρακτικότερος για την καθημερινή ανάπτυξη.
Γι' αυτό εργαλεία όπως το Barcode Scanner Emulator είναι χρήσιμα. Σας αφήνουν να προσομοιώνετε τη συμπεριφορά σαρωτή γραμμωτού κώδικα κατά την κανονική ανάπτυξη αντί να μετατρέπετε κάθε αναπαραγωγή σφάλματος σε πρόβλημα προγραμματισμού υλικού.
Πότε ο πραγματικός σαρωτής σφήνας πληκτρολογίου εξακολουθεί να κερδίζει
Χρησιμοποιήστε τον πραγματικό σαρωτή όταν πρέπει να επικυρώσετε την ίδια τη διαδρομή της συσκευής:
αίσθηση σκανδάλης και εμπειρία χειριστή
διαμόρφωση και ζεύξη σαρωτή
προβλήματα καλωδίου ή διανομέα USB
περιορισμοί τερματικού
ιδιαιτερότητες περιβάλλοντος καταστήματος ή αποθήκης
Ένας εξομοιωτής γραμμωτού κώδικα δεν μπορεί να σας πει αν ένα συγκεκριμένο μοντέλο σαρωτή αποσυνδέεται μετά την αναστολή ή αν ένα κλειδωμένο τερματικό POS μπλοκάρει αλλαγή λειτουργίας συσκευής. Δεν είναι ελάττωμα του εξομοιωτή. Σημαίνει απλώς ότι τα δύο εργαλεία απαντούν σε διαφορετικά ερωτήματα.
Μια γρήγορη σύγκριση σε απλή γλώσσα
Αν προσπαθείτε να απαντήσετε «Συμπεριφέρεται σωστά αυτή η οθόνη όταν σαρώνεται ένας γραμμωτός κώδικας;», ξεκινήστε με τον εξομοιωτή.
Αν προσπαθείτε να απαντήσετε «Συμπεριφέρονται σωστά αυτός ακριβώς ο σαρωτής και αυτό το περιβάλλον σε συνθήκες παραγωγής;», χρησιμοποιήστε τον πραγματικό σαρωτή σφήνας.
Αυτός ο απλός διαχωρισμός συνήθως αρκεί για να κάνει τη δοκιμή σαρωτή γραμμωτού κώδικα και τη δοκιμή POS πολύ πιο προβλέψιμες.
Ο συμβιβασμός που πρέπει να κάνουν οι περισσότερες ομάδες
Για τις περισσότερες ομάδες, ο σωστός διαχωρισμός είναι ευθύς:
χρησιμοποιήστε εξομοιωτή γραμμωτού κώδικα για την καθημερινή ανάπτυξη και τις επαναλήψεις QA
χρησιμοποιήστε σαρωτές υλικού για επικύρωση έκδοσης και ελέγχους ειδικούς για το περιβάλλον
κρατήστε τα ίδια fixtures γραμμωτού κώδικα και στα δύο περιβάλλοντα
Αυτό σας δίνει ταχύτητα χωρίς να προσποιείστε ότι το υλικό δεν μετράει πια. Κάνει επίσης πολυτιμότερες τις συνεδρίες υλικού, γιατί εστιάζουν σε ζητήματα που μόνο το υλικό μπορεί να αποκαλύψει.
Ένα πρακτικό παράδειγμα
Υποθέστε ότι ένα πεδίο αναζήτησης προϊόντος POS δουλεύει όταν πληκτρολογείτε χειροκίνητα, αλλά αποτυγχάνει όταν οι σαρωμένες τιμές φτάνουν γρήγορα με Enter. Είναι κλασική περίπτωση για εξομοιωτή, γιατί μπορείτε να δοκιμάζετε επανειλημμένα τον χρονισμό και τη συμπεριφορά της κατάληξης.
Φανταστείτε τώρα ότι η ίδια ροή δουλεύει στον φορητό υπολογιστή ανάπτυξης, αλλά αποτυγχάνει στο πραγματικό τερματικό ταμείου γιατί η διαμόρφωση του σαρωτή είναι διαφορετική. Εκεί ο φυσικός σαρωτής σφήνας πληκτρολογίου γίνεται ο απαραίτητος τελικός έλεγχος. Και τα δύο εργαλεία μετρούν, απλώς σε διαφορετικά σημεία της ροής.
Συμπέρασμα
Η σφήνα πληκτρολογίου και ο εξομοιωτής γραμμωτού κώδικα δεν είναι ανταγωνιστικές ιδέες. Η μία περιγράφει πώς συμπεριφέρονται πολλοί σαρωτές. Ο άλλος σας δίνει έναν πρακτικό τρόπο να αναπαράγετε αυτή τη συμπεριφορά για δοκιμές. Μόλις χωρίσετε αυτούς τους ρόλους, η στρατηγική δοκιμής σαρωτή γραμμωτού κώδικα γίνεται πολύ ευκολότερη στη σκέψη και πολύ ευκολότερη στη συντήρηση.
Χρήσιμο επόμενο βήμα
Αν θέλετε να δοκιμάσετε αυτές τις ροές στην πράξη, ξεκινήστε με το εργαλείο Barcode Scanner Emulator και έπειτα επιστρέψτε στο υπόλοιπο ιστολόγιο για περισσότερα μοτίβα δοκιμών.
Ένας πρακτικός οδηγός για δοκιμές POS χωρίς πραγματικό υλικό, με δοκιμές σαρωτή γραμμωτού κώδικα, σταδιακές ροές και τα όρια της επικύρωσης χωρίς υλικό.