Vererbung in der Softwareentwicklung/Test & Automatisierung

Vererbung in der Softwareentwicklung/Test & Automatisierung

18. August 2021

Als Vererbung in Softwareentwicklung bezeichnet man das Vererben bestimmter Schlüssel-Attribute von einer Basis zum Erben.


Ein Beispiel:

Man möchte gerne viele Objekte in Form von einer Kachel bilden, die dynamische Felder besitzen.  Diese werden anhand eines bestimmten Auslösers geladen.
Jetzt besteht die Möglichkeit, für jede Kachel eine eigene Klasse anzulegen und dort zu definieren, wie viele Felder, welche Art für Felder und die Größe der Felder, diese Kachel besitzen soll.


Das Problem:

Sollte sich im laufenden Entwicklungsprozess an den Kriterien für diese Kacheln etwas ändern, so ist der Aufwand gleichzusetzen mit der Anzahl der Objekte.
Der Entwickler muss entsprechend jede Klasse abändern, was zu einem hohen Wartungs- und Testaufwand führt.


Die Lösung:

Vererbung!
Vererbung ist nicht umsonst das Aushängeschild moderner objektorientierter Programmiersprachen. In dem beschriebenen Beispiel kann der Entwickler eine Basis Klasse anlegen, die die Rahmenbedingungen der Kachel definiert.
Dies können Größe, Farbe und allerlei anderer Attribute sein.
Nun kann eine Ableitung der Basis erfolgen. Diese Ableitung erbt alle Methoden / Attribute der Basis, sie bekommt nur noch einen Parameter, der definiert wie viele Felder angezeigt werden. Fertig!


Der Vorteil:

Sollte es nun anhand des Beispiels 10 Kacheln geben und die Farbe soll im Prozess angepasst werden, muss nur das Attribut für die Farbe geändert werden und alle 10 Ableitungen erhalten diese Änderung. Dies erleichtert die Wartung und Testbarkeit.

 

Vererbung im Test

Wenn man in der Software QA arbeitet, kommt man nicht drum herum, auch Testfälle zu definieren, die in Testsets zusammengefasst werden und in Zyklen ausgeführt werden.
Dort fällt immer wieder auf, dass sich viele dieser Testfälle gleiche Schritte teilen, die im immer wieder geschrieben werden.
Um dort Abhilfe zu schaffen kann man Templates anlegen, die diese Schritte vererben.
Es gibt viele Tools, die diese Funktion ermöglichen.

 

Vererbung in der Testautomation

In der Testautomation ist das Vererben von Spezifikationen grundlegend wichtig, da in einem laufenden Software Entwicklungsprozess, schnell Änderungen eintreten und die Automation diese auch erfassen muss. Allerdings spricht man bei der Automatisierung von Webapplikationen nicht von Klassen und Objekten, sondern von sogenannten Page Objects.

Page Objects erfassen alle Attribute eines HTML-Elements, mit Selektoren und Funktionen (Buttons, Drop Down Menü, usw.). Man findet oft gleiche Elemente mit abgewandelten Funktionalitäten.
Um den Wartungsaufwand bei der Test Automation so gering wie möglich zu halten, bedient man sich der Vererbung.
Die Vorteile sind dieselben, wie in der Software Entwicklung.

 

Haben Sie Fragen zu dem Thema oder sind Sie an einer Unterstützung in diesem Bereich interessiert?

Kontaktieren Sie uns einfach und sprechen Sie uns ganz unverbindlich an.
Wir freuen uns auf Sie und den Austausch mit Ihnen!