Τι είναι η ενσωματωμένη δοκιμή στη δοκιμή λογισμικού;
Τι είναι τα ενσωματωμένα συστήματα;
Τα ενσωματωμένα συστήματα είναι οι ηλεκτρονικά ελεγχόμενες συσκευές όπου το λογισμικό και το υλικό είναι στενά συνδεδεμένα. Τα ενσωματωμένα συστήματα μπορεί να περιέχουν μια ποικιλία υπολογιστικών συσκευών. Αυτοί είναι υπολογιστές που είναι ενσωματωμένοι σε άλλες συσκευές για τη λειτουργία λειτουργιών για συγκεκριμένες εφαρμογές. Ο τελικός χρήστης συνήθως δεν γνωρίζει καν την ύπαρξή τους.
Ενσωματωμένη δοκιμή
Ενσωματωμένη δοκιμή είναι μια διαδικασία δοκιμής για τον έλεγχο λειτουργικών και μη λειτουργικών χαρακτηριστικών τόσο του λογισμικού όσο και του υλικού σε ένα ενσωματωμένο σύστημα και για τη διασφάλιση ότι το τελικό προϊόν δεν έχει ελαττώματα. Ο κύριος σκοπός του Embedded testing είναι να επαληθεύσει και να επικυρώσει εάν το τελικό προϊόν του ενσωματωμένου υλικού και λογισμικού πληροί τις απαιτήσεις του πελάτη ή όχι.
Η δοκιμή του ενσωματωμένου λογισμικού ελέγχει και διασφαλίζει ότι το σχετικό λογισμικό είναι καλής ποιότητας και συμμορφώνεται με όλες τις απαιτήσεις που πρέπει να πληροί. Η δοκιμή ενσωματωμένου λογισμικού είναι μια εξαιρετική προσέγγιση για την εγγύηση της ασφάλειας σε κρίσιμες εφαρμογές όπως ο ιατρικός εξοπλισμός, οι σιδηρόδρομοι, η αεροπορία, η βιομηχανία οχημάτων κ.λπ. Οι αυστηρές και προσεκτικές δοκιμές είναι ζωτικής σημασίας για τη χορήγηση πιστοποίησης λογισμικού.
Πώς να εκτελέσετε τη δοκιμή ενσωματωμένου λογισμικού
Γενικά, κάνετε τεστ για τέσσερις λόγους:
- Για να βρείτε σφάλματα στο λογισμικό
- Βοηθά στη μείωση του κινδύνου τόσο για τους χρήστες όσο και για την εταιρεία
- Μειώστε το κόστος ανάπτυξης και συντήρησης
- Για τη βελτίωση της απόδοσης
Στο Embedded Testing εκτελούνται οι ακόλουθες δραστηριότητες:
1. Το λογισμικό παρέχεται με ορισμένες εισόδους.
2. Εκτελείται ένα κομμάτι του λογισμικού.
3. Παρατηρείται η κατάσταση του λογισμικού και οι έξοδοι ελέγχονται για αναμενόμενες ιδιότητες, όπως εάν η έξοδος ταιριάζει με το αναμενόμενο αποτέλεσμα, συμμόρφωση με τις απαιτήσεις και απουσία σφαλμάτων συστήματος.
Τύποι δοκιμής ενσωματωμένου λογισμικού
Βασικά, υπάρχουν πέντε επίπεδα δοκιμών που μπορούν να εφαρμοστούν σε ενσωματωμένο λογισμικό
Δοκιμή μονάδας λογισμικού
Η μονάδα μονάδας είναι είτε συνάρτηση είτε κλάση. Το Unit Testing εκτελείται από την ομάδα ανάπτυξης, κυρίως από τον προγραμματιστή και συνήθως πραγματοποιείται σε μοντέλο αξιολόγησης από ομοτίμους. Με βάση τις προδιαγραφές της ενότητας αναπτύσσονται περιπτώσεις δοκιμών.
Δοκιμή ολοκλήρωσης
Η δοκιμή ολοκλήρωσης μπορεί να ταξινομηθεί σε δύο τμήματα:
- Δοκιμή ενοποίησης λογισμικού
- Δοκιμή ενοποίησης λογισμικού/υλισμικού.
Στο τέλος, ελέγχεται η αλληλεπίδραση του τομέα υλικού και των στοιχείων λογισμικού. Αυτό μπορεί να περιλαμβάνει την εξέταση της αλληλεπίδρασης μεταξύ ενσωματωμένων περιφερειακών συσκευών και λογισμικού.
Η ανάπτυξη ενσωματωμένου λογισμικού έχει ένα μοναδικό χαρακτηριστικό που εστιάζει στο πραγματικό περιβάλλον, στο οποίο εκτελείται το λογισμικό, γενικά δημιουργείται παράλληλα με το λογισμικό. Αυτό προκαλεί ταλαιπωρία για τις δοκιμές, καθώς η ολοκληρωμένη δοκιμή δεν μπορεί να πραγματοποιηθεί σε προσομοιωμένη κατάσταση.
Δοκιμή μονάδας συστήματος
Τώρα η ενότητα που θα δοκιμαστεί είναι ένα πλήρες πλαίσιο που αποτελείται από πλήρη κώδικα λογισμικού και επιπλέον όλα λειτουργικό σύστημα σε πραγματικό χρόνο (RTOS) και κομμάτια που σχετίζονται με την πλατφόρμα, όπως διακοπές, μηχανισμοί ανάθεσης εργασιών, επικοινωνίες και ούτω καθεξής. Το πρωτόκολλο Point of Control δεν είναι πλέον μια κλήση σε μια λειτουργία ή μια επίκληση μεθόδου, αλλά μάλλον ένα μήνυμα που στάλθηκε/λήφθηκε χρησιμοποιώντας τις ουρές μηνυμάτων RTOS.
Παρατηρούνται πόροι συστήματος για την αξιολόγηση της ικανότητας του συστήματος να υποστηρίζει την εκτέλεση του ενσωματωμένου συστήματος. Για αυτή την πτυχή, δοκιμή γκρίζου κουτιού είναι η προτιμώμενη μέθοδος δοκιμής. Ανάλογα με τον οργανισμό, η δοκιμή μονάδων συστήματος είναι είτε καθήκον του προγραμματιστή είτε μιας ειδικής ομάδας ενοποίησης συστήματος.
Δοκιμή ολοκλήρωσης συστήματος
Η ενότητα που θα δοκιμαστεί ξεκινά από ένα σύνολο στοιχείων μέσα σε έναν μόνο κόμβο. Τα Σημεία Ελέγχου και Παρατηρήσεων (PCO) είναι ένας συνδυασμός πρωτοκόλλων επικοινωνίας που σχετίζονται με το δίκτυο και RTOS, όπως μηνύματα δικτύου και συμβάντα RTOS. Επιπλέον σε ένα στοιχείο, ένας εικονικός ελεγκτής μπορεί επίσης να παίξει το ρόλο ενός κόμβου.
Δοκιμή επικύρωσης συστήματος
Η ενότητα που θα δοκιμαστεί είναι ένα υποσύστημα με πλήρη υλοποίηση ή το πλήρες ενσωματωμένο σύστημα. Ο στόχος αυτής της τελικής δοκιμής είναι να ικανοποιήσει τις λειτουργικές απαιτήσεις εξωτερικής οντότητας. Σημειώστε ότι μια εξωτερική οντότητα είναι είτε άτομο, είτε συσκευή σε δίκτυο τηλεπικοινωνιών ή και τα δύο.
Διαφορά: Ενσωματωμένη δοκιμή και δοκιμή λογισμικού
Δοκιμές Λογισμικού | Ενσωματωμένη δοκιμή |
---|---|
Η δοκιμή λογισμικού σχετίζεται μόνο με το λογισμικό. | Η ενσωματωμένη δοκιμή σχετίζεται τόσο με το λογισμικό όσο και με το υλικό. |
Κατά μέσο όρο, το 90% των δοκιμών που γίνονται στον κόσμο είναι καθαρά χειροκίνητες δοκιμές μαύρου κουτιού. | Η ενσωματωμένη δοκιμή γίνεται σε ενσωματωμένα συστήματα ή τσιπ, μπορεί να είναι δοκιμή μαύρου ή λευκού κουτιού. |
Οι κύριοι τομείς δοκιμών είναι οι έλεγχοι GUI, η λειτουργικότητα, η επικύρωση και κάποιο επίπεδο δοκιμής βάσης δεδομένων. | Πρωταρχικοί τομείς δοκιμών είναι η συμπεριφορά του υλικού για το αρ. των εισροών που του δίνονται. |
Η δοκιμή λογισμικού εκτελείται κυρίως σε εφαρμογές πελάτη-διακομιστή, web και φορητές συσκευές. | Οι ενσωματωμένες δοκιμές εκτελούνται γενικά στο Υλικό. |
π.χ. Google Mail, Yahoo Mail, Android εφαρμογές. | π.χ., Μηχανήματα τομέα υγειονομικής περίθαλψης, Μικροελεγκτές που χρησιμοποιούνται σε υπολογιστές. |
Προκλήσεις: Δοκιμή ενσωματωμένου λογισμικού
Μερικές από τις προκλήσεις που μπορεί να αντιμετωπίσει κάποιος κατά τη διάρκεια της δοκιμής ενσωματωμένου λογισμικού:
Εξάρτηση υλικού
Η εξάρτηση από το υλικό είναι μία από τις κύριες δυσκολίες που αντιμετωπίζονται κατά τη δοκιμή του ενσωματωμένου λογισμικού λόγω της περιορισμένης πρόσβασης στο υλικό. Ωστόσο, οι εξομοιωτές και οι προσομοιωτές ενδέχεται να μην αντιπροσωπεύουν με ακρίβεια τη συμπεριφορά της πραγματικής συσκευής και θα μπορούσαν να δώσουν μια εσφαλμένη αίσθηση της απόδοσης του συστήματος και της χρηστικότητας της εφαρμογής.
Λογισμικό ανοικτού κώδικα
Η πλειονότητα των στοιχείων του ενσωματωμένου λογισμικού είναι από τη φύση του ανοιχτού κώδικα, δεν δημιουργούνται εσωτερικά και δεν υπάρχει πλήρης διαθέσιμη δοκιμή για αυτό. Υπάρχει ένα ευρύ φάσμα συνδυασμών δοκιμών και σεναρίων που προκύπτουν.
Λογισμικό έναντι ελαττωμάτων υλικού
Μια άλλη πτυχή είναι όταν αναπτύσσεται λογισμικό για ένα πρόσφατα δημιουργημένο υλικό, κατά τη διάρκεια αυτής της διαδικασίας μπορεί να εντοπιστεί υψηλή αναλογία ελαττωμάτων υλικού. Το ελάττωμα που βρέθηκε δεν περιορίζεται μόνο στο λογισμικό. Μπορεί επίσης να σχετίζεται με το υλικό.
Αναπαραγώγιμα ελαττώματα
Τα ελαττώματα είναι πιο δύσκολο να αναπαραχθούν/δημιουργηθούν στην περίπτωση του ενσωματωμένου συστήματος. Αυτό επιβάλλει την ενσωματωμένη διαδικασία δοκιμών να αποτιμά κάθε εμφάνιση ελαττώματος σημαντικά υψηλότερη από ό,τι σε μια τυπική περίπτωση, εκτός από τη συλλογή όσων δεδομένων θα μπορούσαν λογικά να απαιτηθούν για την τροποποίηση του συστήματος για την εύρεση της βάσης του ελαττώματος.
Συνεχείς ενημερώσεις λογισμικού
Τα ενσωματωμένα συστήματα απαιτούν τακτικές ενημερώσεις λογισμικού όπως η αναβάθμιση του πυρήνα, οι επιδιορθώσεις ασφαλείας, τα διαφορετικά προγράμματα οδήγησης συσκευών κ.λπ. Οι περιορισμοί που προσδιορίζονται με την επιρροή των ενημερώσεων λογισμικού καθιστούν δύσκολη την αναγνώριση σφαλμάτων. Επιπλέον, αυξάνει τη σημασία της διαδικασίας κατασκευής και ανάπτυξης.
Σύνοψη
Υπάρχουν ορισμένες δυσκολίες στη δοκιμή δοκιμών ενσωματωμένου λογισμικού που το καθιστούν πιο δύσκολο από τον κανονικό έλεγχο λογισμικού. Το πιο θεμελιώδες ζήτημα είναι η στενή εξάρτηση από το περιβάλλον υλικού που προετοιμάζεται ταυτόχρονα με το λογισμικό και που απαιτείται τακτικά για την εκτέλεση αξιόπιστων δοκιμών λογισμικού. Μερικές φορές είναι ακόμη δύσκολο να δοκιμάσετε το λογισμικό χωρίς προσαρμοσμένα εργαλεία, κάτι που κάνει αβίαστα τη συγκέντρωση στη δοκιμή σε τελευταία στάδια εξαιρετικά δελεαστική.
Ένα από τα πιο σημαντικά πράγματα είναι ότι πρέπει να σκεφτείτε είναι το γεγονός ότι θα πρέπει συχνά να επιλέγετε αυτοματοποιημένες δοκιμές λογισμικού. Ο ενσωματωμένος αυτοματοποιημένος έλεγχος είναι μια πιο γρήγορη διαδικασία που θα χρειαζόταν μερικές ώρες για να ολοκληρωθεί και με αυτόν τον τρόπο λύνεται το ζήτημα του λογισμικού σας.