Διαφορά κλειδιού: Το Stub και το Driver είναι δύο διαφορετικοί τύποι κωδικών που χρησιμοποιούνται στην ανάπτυξη λογισμικού, συγκεκριμένα σε δοκιμές λογισμικού. Τα Stubs χρησιμοποιούνται ως λειτουργίες στην Ενσωμάτωση Top Down, ενώ οι οδηγοί χρησιμοποιούνται ως λειτουργίες στο Bottom Up Integration. Τα Stubs και οι Drivers χρησιμοποιούνται συνήθως στη μεταφορά, στη διανομή υπολογιστών, καθώς και στη γενική ανάπτυξη και δοκιμή λογισμικού.
Το Stub and Driver είναι δύο διαφορετικοί τύποι κωδίκων που χρησιμοποιούνται στην ανάπτυξη λογισμικού, ειδικά στη δοκιμή του λογισμικού. Υπάρχουν χρόνοι κατά την ανάπτυξη λογισμικού όταν πρέπει να δοκιμαστεί ένα μέρος του κώδικα. Αυτό επιτρέπει στο αναπτυγμένο να βεβαιωθεί ότι αυτό το μέρος του κώδικα λειτουργεί καλά πριν μετακινηθεί στο επόμενο τμήμα του κώδικα. Ωστόσο, αυτό το μέρος του κώδικα ενδέχεται να μην λειτουργεί σωστά χωρίς εισροές από τα υπόλοιπα μέρη του κώδικα, τα οποία δεν έχουν ακόμη γραφτεί. Αυτό είναι όπου εικονικοί κώδικες έρχονται σε πρακτικό.
Οι κωδικοί Dummy είναι ψευδοκώδικας, που ουσιαστικά σημαίνει ότι είναι ψεύτικοι κώδικες που συμβάλλουν στην τόνωση της συμπεριφοράς του υπάρχοντος κώδικα. Αυτό σημαίνει ότι ο προγραμματιστής μπορεί να χρησιμοποιήσει αυτούς τους ψευδείς κώδικες αντί των τμημάτων του κώδικα που δεν έχουν ακόμη γραφτεί προκειμένου να αναπαραχθούν οι εξόδους που θα δώσει ο αρχικός κώδικας. Αυτές οι έξοδοι μπορούν στη συνέχεια να χρησιμοποιηθούν για τη δοκιμή του μέρους του κώδικα που έχει γραφτεί.
Τα Stubs και οι Drivers είναι δύο διαφορετικοί τύποι εικονικών κωδικών και ως εκ τούτου χρησιμοποιούνται διαφορετικά. Τα Stubs χρησιμοποιούνται ως λειτουργίες στην Ενσωμάτωση Top Down, ενώ οι οδηγοί χρησιμοποιούνται ως λειτουργίες στο Bottom Up Integration. Τα Stubs και οι Drivers χρησιμοποιούνται συνήθως στη μεταφορά, στη διανομή υπολογιστών, καθώς και στη γενική ανάπτυξη και δοκιμή λογισμικού.
Ας υποθέσουμε ότι υπάρχουν τρία κομμάτια κώδικα: Α, Β και Γ και τρέχουν προς αυτή την κατεύθυνση, δηλαδή Α-> Β-> Γ. Τώρα ο κωδικός Α έχει αναπτυχθεί και πρέπει να δοκιμαστεί, αλλά οι κωδικοί Β και Γ εξακολουθούν να χρειάζονται και ο κώδικας Α δεν θα τρέξει χωρίς την είσοδο των Β και C. Ως εκ τούτου, τα παχιά χρησιμοποιούνται στη θέση του Β και του C. Αυτά τα πακέτα μιμούνται τους κωδικούς Β και Γ και ακόμη δίνουν εξόδου που είναι παρόμοια με αυτά Β και C θα έδινα. Αυτό ονομάζεται Top Down Integration, δηλαδή δοκιμές από πάνω προς τα κάτω.
Παρόμοια, φανταστείτε τώρα ότι οι κώδικες B και C έχουν αναπτυχθεί και πρέπει να δοκιμαστούν, ωστόσο ο κώδικας Α πρέπει να αναπτυχθεί ακόμα και οι άλλοι δύο κωδικοί δεν θα λειτουργήσουν χωρίς τις εισροές από τον κωδικό A. Επομένως, ένας οδηγός μπορεί να είναι που χρησιμοποιείται στη θέση του κώδικα Α. Ο οδηγός αυτός τότε μιμείται τον κωδικό Α και δίνει την είσοδο στα Β και Γ, παρόμοια με αυτά που θα έδινε στον πραγματικό κωδικό Α. Αυτό ονομάζεται Bottom Up Integration, δηλαδή δοκιμές από κάτω προς τα πάνω.
Τα Stubs και οι Drivers είναι βασικά ρουτίνες που δεν κάνουν τίποτα εκτός από το να δηλώνουν τους εαυτούς τους και τις παραμέτρους που δέχονται. Ο υπόλοιπος κώδικας μπορεί στη συνέχεια να πάρει αυτές τις παραμέτρους και να τις χρησιμοποιήσει ως εισροές. Τα παγίδες και οι οδηγοί χρησιμοποιούνται συνήθως ως σύμβολα κράτησης θέσης για τις ρουτίνες, δηλαδή κώδικες που πρέπει να αναπτυχθούν ακόμα. Επομένως, τα κομμάτια και τα προγράμματα οδήγησης περιέχουν απλά αρκετό κώδικα για να μπορούν να συνταχθούν και να συνδεθούν με το υπόλοιπο πρόγραμμα.
Σύγκριση μεταξύ Stub και Driver:
Στέλεχος | Οδηγός | |
Τύπος | Κωδικοί ανάρμοστους | Κωδικοί ανάρμοστους |
Περιγραφή | Ρουτίνες που δεν κάνουν τίποτα, εκτός από τον εαυτό τους και τις παραμέτρους που δέχονται. Ο υπόλοιπος κώδικας μπορεί στη συνέχεια να πάρει αυτές τις παραμέτρους και να τις χρησιμοποιήσει ως εισροές | Ρουτίνες που δεν κάνουν τίποτα, εκτός από τον εαυτό τους και τις παραμέτρους που δέχονται. Ο υπόλοιπος κώδικας μπορεί στη συνέχεια να πάρει αυτές τις παραμέτρους και να τις χρησιμοποιήσει ως εισροές |
Χρησιμοποιείται σε | Ενσωμάτωση από πάνω προς τα κάτω | Ενσωμάτωση από κάτω προς τα πάνω |
Σκοπός | Για να επιτρέπεται η δοκιμή των ανώτερων επιπέδων του κώδικα, όταν τα χαμηλότερα επίπεδα του κώδικα δεν έχουν ακόμη αναπτυχθεί. | Για να επιτρέπεται η δοκιμή των κατώτερων επιπέδων του κώδικα, όταν δεν έχουν ακόμη αναπτυχθεί τα ανώτερα επίπεδα του κώδικα. |