Stub

Wissen kompakt: Stubs gibt es in vielen Formen. In der Softwareentwicklung ist ein Stub ein Platzhalter bzw. Stellvertreter, also z. B. eine Klasse, die als Schnittstelle zu einem Subjekt auftritt.

Stub – ein temporärer Platzhalter in der Softwareentwicklung

Ein Stub bezeichnet einen temporären Platzhalter bzw. Stellvertreter. Der Begriff stammt aus dem Englischen und bedeutet übersetzt Stummel oder Stumpf. In der Softwareentwicklung ist ein Stub ein Stellvertreter in Form einer Klasse, die als Schnittstelle zu einem Subjekt – einer Datei, einer Ressource, einem Speicherobjekt oder einer Netzwerkverbindung – auftritt. Als Stellvertreter dieses Subjektes kann er die Erzeugung des Subjekts und den entsprechenden Zugriff darauf steuern. Ein Stub kommt u.a. zum Einsatz, wenn

  • benötigte externe Dienste (Datenbanken, Webservices, Server) im Rahmen einer Programmierung nicht verfügbar sind.
  • benötigte Programmteile noch nicht implementiert wurden.
  • bei Funktionstests das Schreiben und anschließende Löschen von Testdaten in Datenbanken vermieden soll.

Auch bei der Entwicklung verteilter Systeme kommen Stubs zur Anwendung. Dabei wird die benötigte Funktionalität des entfernten Softwaresystems so angesprochen, als wäre sie lokal vorhanden. Die gewünschte Funktion wird aber nicht implementiert, sondern per Anfrage über das Stub an das entfernte System delegiert (Remote Procedure Calls). Steht dabei der benötigte Datentyp fest, kommt ein monomorphischer Stub zum Einsatz, andernfalls ein polymorphischer Stub, der mit einer Hashtablle operiert, die auf eine Liste von Funktionen verweist, aber aufgrund des notwendigen Lookups langsamer agiert.

Anwendungsbereiche für Stubs

Generell wird der Begriff Stub in verschiedenen Bereichen auch fernab der Softwareentwicklung genutzt:

  • Beim kooperativen Verfassen von Artikeln, bei dem Mitwirkende bspw. Details recherchieren wollen bzw. müssen.
  • Als Nachweis eines Arbeitgebers über die Beträge, die er Arbeitnehmern bezahlt hat (ein sogenannter Pay Stub).
  • Als Zeitraum im Zinsgeschäft, der von üblichen Intervallen abweicht (eine sogenannte Stub Period).
  • In Computernetzwerken, bei denen ein Netzwerkabschnitt mit nur einem Ausgangsrouter andere Netzwerke verwendet.
  • In der Elektronik als berechneter Längenabschnitt der Übertragungsleitung, der zum Anpassen der Impedanz in Übertragungsleitungen verwendet wird.

Der Unterschied zwischen Stub und Mock-Objekt

Immer wieder gibt es auch Diskussionen, was der Unterschied zwischen einem Stub und einem Mock-Objekt im Bereich Testing ist. Manche vertreten die Meinung, dass die Unterschiede lediglich marginal sind, da der Zweck von beiden darin besteht darin, alle Abhängigkeiten einer Klasse oder Funktion zu testen; andere hingegen verweisen auf unterschiedliche Erwartungen. Mit Mocks geschriebene Tests folgen normalerweise einem Initialisieren – Setzen von Erwartungen – Ausführung – Überprüfung, während ein Stub einer Initialisierung – Übung – Überprüfung folgt.

Stub - ein temporärer Platzhalter in der Softwareentwicklung
Hinweise:

Wenn Ihnen der Beitrag gefällt, teilen Sie ihn gerne in Ihrem Netzwerk. Und falls Sie sich für Tipps aus der Praxis interessieren, dann testen Sie unseren beliebten Newsletter mit neuen Beiträgen, Downloads, Empfehlungen und aktuellem Wissen. Vielleicht wird er auch Ihr Lieblings-Newsletter.

Was macht t2informatik?

Was macht t2informatik? Kleiner Tipp: Es hat etwas mit Softwareentwicklung zu tun!

Hier finden Sie ergänzende Informationen aus unserer Rubrik Wissen kompakt:

Wissen kompakt: Was ist Pair Programming?

Was ist Pair Programming?

Wissen kompakt: Was ist ein Klickdummy?

Was ist ein Klickdummy?