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