Ακολουθεί μια κατανομή των κοινών κατηγοριών εργαλείων και παραδείγματα:
1. Πλαίσιο δοκιμών: Αυτά παρέχουν τη δομή και την οργάνωση για αυτοματοποιημένες δοκιμές.
* Test Google (GTEST): Ένα ευρέως χρησιμοποιούμενο πλαίσιο δοκιμών C ++ γνωστό για την απλότητα και την επεκτάσεις του. Χρησιμοποιείται συνήθως σε ενσωματωμένα έργα που χρησιμοποιούν C ++.
* Ενότητα: Ένα ελαφρύ πλαίσιο δοκιμών μονάδων διασταυρούμενης πλατφόρμας κατάλληλο για έργα C και C ++. Δημοφιλή σε ενσωματωμένα συστήματα λόγω του μικρού αποτυπώματος του.
* cpputest: Ένα άλλο πλαίσιο δοκιμών μονάδων C ++ σχεδιασμένο ειδικά για ενσωματωμένα συστήματα, δίνοντας έμφαση στη χρήση ελάχιστης χρήσης των πόρων.
* CUNIT: Ένα πλαίσιο δοκιμής μονάδας για το C.
* testComplete: Ένα εμπορικό πλαίσιο που υποστηρίζει τη δέσμη ενεργειών σε διάφορες γλώσσες και μπορεί να αυτοματοποιήσει τις δοκιμές GUI (αν και λιγότερο συνηθισμένες άμεσα σε συστήματα με γυμνό μετάλλιο)
2. Περιβάλλον εκτέλεσης δοκιμών/δρομείς: Αυτά διαχειρίζονται τη λειτουργία των δοκιμαστικών σουιτών και την αναφορά των αποτελεσμάτων.
* Πολλοί IDE ενσωματώνουν δρομείς δοκιμών: Για παράδειγμα, το Eclipse CDT μπορεί να ενσωματωθεί με πλαίσια όπως το Google Test.
* Προσαρμοσμένα σενάρια: Συχνά, οι ομάδες ενσωματωμένων συστημάτων γράφουν τα δικά τους σενάρια (π.χ. χρησιμοποιώντας Python ή Bash) για να ενορχηστρώσουν την εκτέλεση δοκιμών, ιδιαίτερα για τις δοκιμές ενσωμάτωσης και συστήματος.
* Συστήματα συνεχούς ενσωμάτωσης/συνεχούς ανάπτυξης (CI/CD): Οι Jenkins, Gitlab CI, Azure DevOps κ.λπ. χρησιμοποιούνται συνήθως για την αυτοματοποίηση της διαδικασίας κατασκευής και δοκιμών, συμπεριλαμβανομένων των ενσωματωμένων συστημάτων. Αυτά συχνά ενσωματώνονται με τα δοκιμαστικά πλαίσια και τους δρομείς.
3. Εργαλεία ειδικά για υλικό: Αυτά τα εργαλεία συχνά γεφυρώσουν το χάσμα μεταξύ του λογισμικού αυτοματισμού δοκιμών και του ενσωματωμένου υλικού.
* JTAG Debuggers: Εργαλεία όπως αυτά από τους Segger, Lauterbach ή ARM παρέχουν διεπαφές για να εντοπίσουν εντοπισμό σφαλμάτων και να δοκιμάσουν το υλικό σε χαμηλό επίπεδο. Μπορούν επίσης να προκαλέσουν δοκιμές και να συλλάβουν αποτελέσματα.
* εξομοιωτές εντός κυκλώματος (ICES): Τα ICEs επιτρέπουν πιο εξελιγμένα σενάρια δοκιμών από ό, τι το JTAG, που συχνά περιλαμβάνουν δυνατότητες ανίχνευσης και εξομοίωσης σε πραγματικό χρόνο. Αυτές είναι συνήθως λύσεις υψηλής τεχνολογίας.
* προσομοιωτές υλικού στο βρόχο (HIL): Αυτά είναι προηγμένα συστήματα που προσομοιώνουν το εξωτερικό περιβάλλον του ενσωματωμένου συστήματος, επιτρέποντας λεπτομερή δοκιμή της αλληλεπίδρασης του συστήματος με τον πραγματικό κόσμο χωρίς την ανάγκη για φυσικά συστατικά ή δυνητικά επικίνδυνες καταστάσεις.
* can/lin/ethernet αναλυτές λεωφορείων: Αυτά τα εργαλεία καταγράφουν και αναλύουν την επικοινωνία σε αυτοκινητοβιομηχανία και βιομηχανικά λεωφορεία, ζωτικής σημασίας για τη δοκιμή ενσωματωμένων συστημάτων που επικοινωνούν με αυτά τα πρωτόκολλα.
* Όσχχημα/αναλυτές λογικής: Για άμεση εξέταση σήματος υλικού.
4. Εργαλεία ανάλυσης κάλυψης δοκιμής: Αυτά μετρούν πόσο διεξοδικά η δοκιμαστική σουίτα καλύπτει τον κώδικα.
* GCOV (GCC): Ένα ενσωματωμένο εργαλείο μέσα στον μεταγλωττιστή GCC που παρέχει πληροφορίες κάλυψης κώδικα.
* Εμπορικά εργαλεία: Τα πιο εξελιγμένα εργαλεία παρέχουν λεπτομερείς εκθέσεις κάλυψης, συμπεριλαμβανομένης της κάλυψης υποκαταστημάτων, της κάλυψης των συνθηκών και του MC/DC (τροποποιημένη κατάσταση κατάστασης/κάλυψης αποφάσεων), η οποία συχνά διοικείται από τα πρότυπα ασφαλείας (όπως το ISO 26262).
5. Εργαλεία διαχείρισης δοκιμών: Αυτά βοηθούν στην οργάνωση και τη διαχείριση της διαδικασίας δοκιμής.
* jira, azure devops, testrail: Αυτά είναι κοινά εργαλεία για τη διαχείριση των δοκιμαστικών περιπτώσεων, την παρακολούθηση των σφαλμάτων και την αναφορά στα αποτελέσματα των δοκιμών.
Ποια εταιρείες εργαλείων χρησιμοποιούν: Η επιλογή εξαρτάται σε μεγάλο βαθμό από παράγοντες όπως:
* Προϋπολογισμός: Τα εργαλεία ανοικτού κώδικα όπως το Google Test και η Unity είναι ελκυστικά για λόγους κόστους. Τα εμπορικά εργαλεία προσφέρουν πιο προηγμένες λειτουργίες, αλλά έρχονται με μια τιμή.
* Πολυπλοκότητα έργου: Τα απλά έργα μπορεί να χρειαστούν μόνο ένα πλαίσιο δοκιμών μονάδων, ενώ τα σύνθετα συστήματα θα απαιτήσουν μια πιο εκτεταμένη σειρά εργαλείων.
* Πρότυπα ασφαλείας: Οι εφαρμογές κρίσιμης σημασίας για την ασφάλεια (Automotive, Aerospace, Medical) συχνά απαιτούν τη χρήση εργαλείων που συμμορφώνονται με συγκεκριμένα πρότυπα και προσφέρουν προηγμένη ανάλυση κάλυψης.
* πλατφόρμα υλικού: Οι διαθέσιμες διεπαφές και υλικό για εντοπισμό σφαλμάτων θα επηρεάσουν την επιλογή των εργαλείων.
* Εμπειρογνωμοσύνη ομάδας: Οι δεξιότητες της ομάδας μηχανικών θα καθορίσουν τη σκοπιμότητα της υιοθέτησης και της χρήσης συγκεκριμένων εργαλείων.
Συνοπτικά, οι εταιρείες συστήματος που εμπλέκονται στην ανάπτυξη των ενσωματωμένων συστημάτων χρησιμοποιούν ένα ευρύ φάσμα εργαλείων, συνδυάζοντας συχνά ανοιχτές και εμπορικές επιλογές για την κατασκευή μιας προσαρμοσμένης υποδομής δοκιμών που ανταποκρίνεται στις συγκεκριμένες ανάγκες και τις απαιτήσεις του έργου. Η τάση είναι προς την αυξημένη αυτοματοποίηση και ενσωμάτωση με αγωγούς CI/CD.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα