Emulator vs Simulator – Διαφορά μεταξύ τους
Βασική διαφορά μεταξύ εξομοιωτή και προσομοιωτή
- Οι εξομοιωτές είναι γραμμένοι σε γλώσσες συναρμολόγησης σε επίπεδο μηχανής, ενώ οι προσομοιωτές σε γλώσσες υψηλού επιπέδου.
- Οι εξομοιωτές είναι πιο κατάλληλοι όταν πρόκειται για σκοπούς εντοπισμού σφαλμάτων, ενώ οι προσομοιωτές μπορεί να είναι δύσκολοι όσον αφορά τους σκοπούς εντοπισμού σφαλμάτων.
- Ένας εξομοιωτής έρχεται ως πλήρης εκ νέου υλοποίηση του αρχικού λογισμικού, ενώ ένας προσομοιωτής είναι απλώς μια μερική εκ νέου υλοποίηση του αρχικού λογισμικού.
- Τόσο οι εξομοιωτές όσο και οι προσομοιωτές είναι εικονικές συσκευές. Μια εικονική συσκευή δεν είναι το πραγματικό τηλέφωνο, αλλά ένα λογισμικό που παρέχει την ίδια λειτουργικότητα με το πραγματικό τηλέφωνο (εκτός από μερικές λειτουργίες όπως η κάμερα).
Τι είναι η πραγματική συσκευή δοκιμών;
Η δοκιμή σε μια πραγματική συσκευή σάς επιτρέπει να εκτελείτε τις εφαρμογές σας για φορητές συσκευές και ελέγχει τη λειτουργικότητά της. Πραγματική συσκευή Δοκιμές σας διαβεβαιώνει ότι η εφαρμογή σας θα λειτουργεί ομαλά σε συσκευές χειρός πελατών.
Τι είναι το Emulator;
Ο εξομοιωτής είναι ένα πρόγραμμα λογισμικού που επιτρέπει στο κινητό σας να μιμείται τις δυνατότητες άλλου υπολογιστή ή λογισμικού κινητής τηλεφωνίας που θέλετε να μιμηθεί εγκαθιστώντας τα στον υπολογιστή ή στο κινητό σας.
Διαφορά μεταξύ δοκιμών προσομοιωτή και εξομοιωτή
Εδώ είναι η κύρια διαφορά μεταξύ του Simulator και του Emulator Testing
Η δοκιμή που βασίζεται σε προσομοιωτή | Δοκιμή που βασίζεται σε εξομοιωτή |
---|---|
Ο στόχος του προσομοιωτή είναι να προσομοιώσει την εσωτερική κατάσταση ενός αντικειμένου όσο το δυνατόν πιο κοντά στην εσωτερική κατάσταση ενός αντικειμένου. | Ο εξομοιωτής στοχεύει στην εξομοίωση ή τη μίμηση όσο το δυνατόν πλησιέστερα στην εξωτερική συμπεριφορά ενός αντικειμένου |
Οι προσομοιωτές είναι προτιμότεροι κάθε φορά που η ομάδα δοκιμών χρειάζεται να δοκιμάσει την εσωτερική συμπεριφορά του κινητού, όπως το εσωτερικό του υλικό, το υλικολογισμικό και ούτω καθεξής. | Οι εξομοιωτές είναι προτιμότεροι κάθε φορά που η ομάδα δοκιμών χρειάζεται να δοκιμάσει την εξωτερική συμπεριφορά του κινητού, όπως υπολογισμούς, πραγματοποίηση συναλλαγών και ούτω καθεξής. |
Οι προσομοιωτές είναι γραμμένοι σε γλώσσες υψηλού επιπέδου. | Οι εξομοιωτές είναι γραμμένοι σε γλώσσες συναρμολόγησης σε επίπεδο μηχανής. |
Οι προσομοιωτές μπορεί να είναι δύσκολοι όσον αφορά τον σκοπό εντοπισμού σφαλμάτων. | Οι εξομοιωτές είναι πιο κατάλληλοι όταν πρόκειται για σκοπό εντοπισμού σφαλμάτων |
Ένας προσομοιωτής είναι απλώς μια μερική εκ νέου υλοποίηση του αρχικού λογισμικού. | Συχνά ένας εξομοιωτής έρχεται ως πλήρης εκ νέου υλοποίηση του αρχικού λογισμικού. |
Πλεονεκτήματα των δοκιμών που βασίζονται σε πραγματικές συσκευές και εξομοιωτές/προσομοιωτές
Ζήτημα | Δοκιμή εξομοιωτή | Πραγματική δοκιμή συσκευής |
---|---|---|
Εφαρμογή με βάση την κατάσταση | Υπάρχουν συγκεκριμένες περιπτώσεις όπου η προθεσμία για την παραγωγή αποτελεσμάτων εκτέλεσης κειμένου είναι σύντομη και η αγορά των απαιτούμενων φορητών συσκευών ενδέχεται να μην είναι δυνατή. Ως εκ τούτου, μπορεί να είναι απαραίτητο να χρησιμοποιηθεί ο εξομοιωτής/προσομοιωτής σε αυτές τις περιπτώσεις για τον έλεγχο των σχετικών εφαρμογών για κινητές συσκευές που πρέπει να ελεγχθούν. | Η πραγματική συσκευή επιτρέπει στους δοκιμαστές να δοκιμάσουν σχεδόν όλα τα σενάρια σε πραγματικό χρόνο που μπορούν να δοκιμαστούν για τις εφαρμογές για κινητές συσκευές. Αυτές οι συσκευές λειτουργούν με τα δάχτυλα και προσομοιώνουν την πραγματική χρήση. Βοηθούν επίσης στην κατάσταση Πραγματικό πλαίσιο: είναι εύκολο να χρησιμοποιήσετε την εφαρμογή στο τρένο ή ενώ περπατάτε στο δρόμο; Η κατάσταση στο έντονο ηλιακό φως ή στη βροχή; |
Αίσθημα εγγύτητας με τις πραγματικές συσκευές χειρός | Η ευρεία γκάμα των κινητών συσκευών δημιουργεί προβλήματα, με τα οποία οι δοκιμαστές δεν είναι σίγουροι για το ποιες κινητές συσκευές να επενδύσουν για δοκιμή, λαμβάνοντας υπόψη τους περιορισμούς του προϋπολογισμού. Ο εξομοιωτής/εξομοιωτής είναι ειδικά σχεδιασμένος για αυτόν τον τύπο καταστάσεων. | Η πραγματική συσκευή επιτρέπει στους δοκιμαστές να δοκιμάσουν ακόμη και ζητήματα χρηστικότητας όπως η εμφάνιση και η αίσθηση της εφαρμογής, η έγχρωμη ανάλυση της οθόνης, εάν η εικόνα είναι φωτεινή ή όχι τόσο σε συνθήκες ημέρας όσο και σε συνθήκες νύχτας και ούτω καθεξής. |
Ευκολία διαθεσιμότητας | Οι εξομοιωτές/εξομοιωτές είναι στις περισσότερες περιπτώσεις ανοιχτό και δωρεάν λογισμικό το οποίο μπορεί να ληφθεί πολύ εύκολα από το Διαδίκτυο και έτοιμο για δοκιμή. | Οι πραγματικές συσκευές επιτρέπουν αυστηρές Δοκιμές Απόδοσης ζητήματα όπως η εργασία με μια εφαρμογή μεταφοράς σε πραγματικό χρόνο για 15 ώρες συνεχόμενα, η οποία δεν μπορεί να προσομοιωθεί με επιτυχία από τους εξομοιωτές. |
Ευκολία στο άνοιγμα μιας εφαρμογής Web μέσω URL | Είναι ευκολότερο να κάνετε δοκιμή εφαρμογών ιστού όταν πρόκειται να ανοίξετε την εφαρμογή Ιστού. Ο χρήστης πρέπει απλώς να αντιγράψει και να επικολλήσει τη διεύθυνση URL της εφαρμογής. | Η δοκιμή σε πραγματικές συσκευές παρέχει περισσότερα όσον αφορά την αξιοπιστία. |
Λήψη στιγμιότυπων οθόνης των καταστάσεων όπου εμφανίζονται ελαττώματα | Η λήψη του προβλήματος των στιγμιότυπων οθόνης μέσω προσομοιωτή είναι πολύ εύκολη με τον προσομοιωτή, καθώς πρέπει απλώς να το χρησιμοποιήσουμε Microsoft εγκαταστάσεις γραφείου. | Η δοκιμή με συσκευές πραγματικού κόσμου είναι πολύ χρήσιμη όσον αφορά τις δοκιμές διαλειτουργικότητας. |
Προσομοίωση επικύρωσης σεναρίων μπαταρίας | Ο εξομοιωτής/προσομοιωτές δεν μπορούν να προσομοιώσουν τα προβλήματα μπαταρίας. | Οι συσκευές του πραγματικού κόσμου μπορούν εύκολα να κάνουν το ίδιο. |
Επικύρωση εισερχόμενων διακοπών | Ο εξομοιωτής/προσομοιωτές δεν μπορούν να προσομοιώσουν τις εισερχόμενες διακοπές για SMS καθώς και τις εισερχόμενες κλήσεις. | Οι συσκευές του πραγματικού κόσμου μπορούν εύκολα να προσομοιώσουν εισερχόμενες διακοπές. |
Επικύρωση ακριβών έγχρωμων οθονών | Ο εξομοιωτής/εξομοιωτής δεν είναι σε θέση να προσομοιώσει/προσομοιώσει σωστά την ακριβή έγχρωμη οθόνη των συσκευών όταν η πραγματική συσκευή βρίσκεται στο φως του ήλιου ή σε μαύρο χρώμα. | Οι συσκευές του πραγματικού κόσμου μπορούν εύκολα να προσομοιώσουν τις ακριβείς έγχρωμες οθόνες. |
Επικύρωση της απόδοσης | Η απόδοση του εξομοιωτή/προσομοιωτή τείνει να είναι πιο αργή από τις αρχικές συσκευές κατά καιρούς. | Οι αρχικές συσκευές τείνουν να αποδίδουν ταχύτερα από τον εξομοιωτή ή τους προσομοιωτές. |
Προσομοίωση ζητημάτων που σχετίζονται με τη μνήμη | Η διαθέσιμη μνήμη στον εξομοιωτή/προσομοιωτή τείνει να είναι πολύ μεγαλύτερη από τις πραγματικές συσκευές, επομένως αυτό μπορεί να δημιουργήσει παρανόηση στους χρήστες που θα χρησιμοποιούσαν τις ίδιες επικυρώσεις. | Το επίπεδο αποθήκευσης μνήμης των συσκευών τείνει να είναι πολύ μικρότερο από τους εξομοιωτές, επομένως μπορεί |
Μειονεκτήματα του Emulator/Simulators και της Real συσκευής
Εξομοιωτές / Προσομοιωτές | Πραγματική συσκευή |
---|---|
Ο εξομοιωτής/προσομοιωτής δεν είναι πάντα ο καλύτερος τύπος λύσης για σενάρια όπως αυτά όπου η ομάδα δοκιμών πρέπει να επικυρώσει την απόδοση της εφαρμογής για μεγαλύτερο χρονικό διάστημα. | Οι πραγματικές συσκευές είναι δαπανηρές σε σύγκριση με τους εξομοιωτές/προσομοιωτές. Ως εκ τούτου, έργα υπό περιορισμούς προϋπολογισμού και χρονοδιαγράμματος ενδέχεται να διακινδυνεύσουν την κερδοφορία καθώς και τη βιωσιμότητα του συνολικού έργου. |
Ο εξομοιωτής/προσομοιωτής είναι κατάλληλος ως επί το πλείστον για ορισμένους τύπους εκτελέσεων λειτουργικών δοκιμαστικών περιπτώσεων. | Υπάρχει μια πολύ μεγάλη ποικιλία κινητών συσκευών από την Apple έως τη Samsung έως το android και το Symbian, και ούτω καθεξής. Λαμβάνοντας υπόψη αυτό το ευρύ φάσμα κινητών συσκευών, είναι πολύ δύσκολο για την ομάδα δοκιμών να τακτοποιήσει όλα τα είδη κινητών συσκευών ενώ εργάζεται κάτω από ένα σημαντικό ποσό περιορισμών που σχετίζονται με τον προϋπολογισμό και το χρονοδιάγραμμα. |
Ο εξομοιωτής/προσομοιωτής μπορεί μερικές φορές να μην υποστηρίζει ορισμένους τύπους εφαρμογών και σε αυτές τις περιπτώσεις, η ομάδα δοκιμών μπορεί να χρειαστεί να αγοράσει ενημερωμένες εκδόσεις κώδικα λογισμικού που μπορεί να μην είναι πάντα δωρεάν, αλλά ενδέχεται να είναι δαπανηρές κατά καιρούς. | Πραγματικές κινητές συσκευές όταν χρησιμοποιούνται στο στάδιο ανάπτυξης για Δοκιμή μονάδας και παρόμοιοι σκοποί μπορεί να αποδειχθεί ότι είναι πιο δύσκολο να συνδεθούν με το IDE από τους εξομοιωτές, και αυτό προκαλεί τεράστια προβλήματα στον εντοπισμό σφαλμάτων, και σε ένα έργο, με περιορισμούς στο χρονοδιάγραμμα, αυτό μπορεί κάλλιστα να εμποδίσει τη συνολική ολοκλήρωση του έργου. |
Δεν υποστηρίζουν όλοι οι εξομοιωτές/προσομοιωτές την πλήρη γκάμα των εφαρμογών για κινητά. Για παράδειγμα, ο προσομοιωτής bada υποστηρίζει το Maemo (όπως το Nokia N900), το Symbian Touch (όπως το Nokia N8) και το Symbian non-touch (όπως το Nokia E71), αλλά δεν υποστηρίζει άλλες κινητές συσκευές όπως Android. Όσον αφορά τις λειτουργίες δοκιμής εφαρμογών, το bada δεν υποστηρίζει απευθείας δοκιμές περιήγησης στον ιστό, αλλά επιτρέπει στον χρήστη να δοκιμάσει και να δημιουργήσει μόνο webapps και widget. | Για να κάνετε δοκιμή με τις συσκευές του πραγματικού κόσμου, οι συσκευές πρέπει να είναι πάντα συνδεδεμένες στη θύρα USB των μηχανημάτων. Επομένως, εάν οι θύρες USB δεν λειτουργούν σωστά, η δοκιμή δεν θα είναι δυνατή. Χωρίς την παροχή επαρκών μέτρων ασφαλείας, οι φορητές συσκευές (αν τυχαίνει να είναι δαπανηρές όπως το Apple iPhone) μπορεί να χαθούν ή να κλαπούν, παρεμποδίζοντας έτσι τη συνολική προσπάθεια. Η αύξηση της ασφάλειας μπορεί επίσης να συνεχίσει να αυξάνει τις συνολικές δαπάνες που σχετίζονται με το έργο. |
Ο χρήστης πρέπει να πληκτρολογήσει τη διεύθυνση URL με μη αυτόματο τρόπο για να ανοίξει την εφαρμογή Ιστού που χρειάζεται να δοκιμαστεί. Για να λύσει αυτό το συγκεκριμένο πρόβλημα, ο ελεγκτής μπορεί να χρειαστεί να δημιουργήσει σελιδοδείκτες τηλεφώνου, υπηρεσίες σύντομων URL ή να στείλει διευθύνσεις URL στο κινητό χρησιμοποιώντας σύνδεση Bluetooth ή να δημιουργήσει την ιστοσελίδα που περιέχει ορισμένες διευθύνσεις URL. Η υιοθέτηση αυτών των διαδικασιών θα διασφάλιζε ότι μπορεί να καταναλωθεί πολύ σημαντικός χώρος στη μνήμη, επηρεάζοντας έτσι τη συνολική απόδοση της εφαρμογής. |
Εξομοιωτής εναντίον προσομοιωτή έναντι πραγματικών δοκιμών συσκευής: Συμπέρασμα
Λαμβάνοντας υπόψη τον σημαντικό ρόλο που διαδραματίζουν οι εφαρμογές για κινητά, στις μέρες μας, στην καθημερινή μας ζωή, οι δοκιμές αυτών των εφαρμογών πρόκειται να εξελιχθούν και ως εκ τούτου απαιτούν πολλές δοκιμές για να λειτουργήσουν όπως απαιτείται. Η δοκιμή τόσο στον προσομοιωτή/εξομοιωτή όσο και στις συσκευές του πραγματικού κόσμου είναι απαραίτητη για τη διατήρηση ισχυρών προτύπων και διασφάλισης ποιότητας.
Με προσεκτική εξέταση τόσο των πλεονεκτημάτων όσο και των μειονεκτημάτων των εξομοιωτών κινητής τηλεφωνίας και των πραγματικών συσκευών, θα άξιζε τον κόπο να καταλήξουμε στο συμπέρασμα ότι η βέλτιστη λύση δοκιμών για φορητές συσκευές για τις επιχειρήσεις δεν είναι ούτε η τοποθέτηση όλων των αυγών στο καλάθι των πραγματικών συσκευών ούτε η τοποθέτηση τους στο εξομοιωτή αλλά μάλλον αυτό που χρειαζόμαστε είναι ο βέλτιστος συνδυασμός και των δύο.
Οι εξομοιωτές μπορούν να θεωρηθούν πολύ κατάλληλοι για τα αρχικά στάδια ανάπτυξης εφαρμογών.
Ωστόσο, για να αποφευχθεί το δαπανηρό σενάριο της κυκλοφορίας μιας κρίσιμης για τις επιχειρήσεις εφαρμογής με ελαττώματα, οι επιχειρήσεις πρέπει να διασφαλίσουν ότι εκτελούν το μεγαλύτερο μέρος των δοκιμών τους για φορητές συσκευές σε πραγματικές συσκευές πριν η εφαρμογή τεθεί σε παραγωγή.
Κάθε οργανισμός πρέπει να χαράξει στρατηγική και να σχεδιάσει προσεκτικά για να καθορίσει σε ποιο στάδιο θα παρουσιάσει πραγματικές συσκευές. Πρέπει επίσης να αποφασίσουν πόσες συσκευές επαρκούν για να καλύψουν τις ανάγκες της αγοράς και ποια θα μπορούσε να είναι η καλύτερη δυνατή επιλογή για τη διαχείριση αυτών των συσκευών.
Οι καλυτερα πρακτικές θα έδειχναν ότι η πραγματική ανάπτυξη θα πρέπει να χρησιμοποιεί εξομοιωτές (και μερικές πραγματικές συσκευές αναφοράς) προκειμένου να επιταχυνθεί ο εντοπισμός σφαλμάτων της εφαρμογής κατά τη φάση της κωδικοποίησης, ενώ η λογική, Δοκιμή καπνού, απόδοση, διαλειτουργικότητα και σκοπιμότητα δικτύου και Δοκιμή παλινδρόμησης πρέπει να γίνεται σε αληθινά ακουστικά.
Είναι επίσης μια αναδυόμενη πρακτική να διασφαλίζεται ότι οι προγραμματιστές χρησιμοποιούν τον εξομοιωτή για γρήγορη εκτέλεση κατά τη φάση ανάπτυξης, ενώ στη συνέχεια η ομάδα δοκιμών θα πρέπει να δοκιμάσει με την πραγματική συσκευή κατά τη φάση της δοκιμής για να διασφαλίσει τη συνολική Διασφάλιση Ποιότητας στόχους και στόχους. Για εξοικονόμηση κόστους, μπορούν να εξετάσουν το ενδεχόμενο χρήσης εργαλείων Virtual Mobile Testing. Αυτές οι υπηρεσίες προσφέρουν στους προγραμματιστές να δοκιμάσουν την εφαρμογή τους σε μια μεγάλη ποικιλία φορητών συσκευών χρησιμοποιώντας διαφορετικά δίκτυα κινητής τηλεφωνίας που βρίσκονται γεωγραφικά σε όλο τον κόσμο (χρήσιμο για εφαρμογές που χρησιμοποιούν GPS). Τέτοιες υπηρεσίες προσφέρονται σε ωριαία βάση και είναι πολύ οικονομικές σε σύγκριση με την αγορά νέων τηλεφώνων.