Was verstehen wir unter Test - FKFS
Was verstehen wir unter Test - FKFS
Was verstehen wir unter Test - FKFS
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
soll aber eine einheitliche Zugriffsfunktion verwenden. Ein Lösungsansatz für dieses<br />
Problem ist das „Programmieren gegen Interfaces“.<br />
Abb. 10: Varianten am Beispiel Wählhebel<br />
In einer Kundenvariante werden<br />
verschiedene Wählhebelkonzepte verfolgt.<br />
absoluter Wählhebel<br />
� für jede Position gibt es eine definierte<br />
Wählhebelstellung.<br />
relativer Wählhebel<br />
� ausgehend von der eingelegten Position<br />
<strong>wir</strong>d durch Vor- und Zurücktippen die<br />
Position gewechselt.<br />
Eine Funktion „Position_D_einlegen()“<br />
in der <strong>Test</strong>automatisierung hat<br />
verschiedene Ausprägungen.<br />
Eine Interface-Klasse abstrahiert die Schnittstellen von der Implementierung. Bei der<br />
Erstellung der <strong>Test</strong>sequenzen <strong>wir</strong>d auf die Interface-Klasse zugegriffen, somit bleibt<br />
die Sequenz wiederverwendbar. Vor dem Durchlauf des <strong>Test</strong>s muss die Auswahl der<br />
geeigneten Implementierung erfolgen. Je nach Variante werden entsprechende<br />
Instanzen gebildet und den Sequenzen übergeben. [5]<br />
<br />
class Lever<br />
setPosD()<br />
setPosN()<br />
class AbsoluteLever<br />
setPosD()<br />
setPosN()<br />
class RelativeLever<br />
setPosD()<br />
setPosN()<br />
<br />
###<strong>Test</strong>sequenz<br />
class Sequenz:<br />
def execute (self,<br />
lev = Lever()):<br />
lev.setPosN()<br />
lev setPosD()<br />
Abb. 11: Programmieren gegen Interfaces<br />
Programmieren gegen Interfaces<br />
� Bilden einer „abstrakten Basisklasse“ für<br />
den Wahlschalter, die die Schnittstellen<br />
der Methoden zur Verfügung stellt.<br />
� Für jede Variante <strong>wir</strong>d eine<br />
Implementierung bereitgestellt.<br />
� Die <strong>Test</strong>sequenzen arbeiten mit der<br />
„abstrakten Basisklasse“.<br />
� Erst beim Erstellen des <strong>Test</strong>laufs <strong>wir</strong>d<br />
entschieden, welche Implementierung<br />
verwendet <strong>wir</strong>d.<br />
Die <strong>Test</strong>sequenzen sind unabhängig<br />
von der Wählhebel-Variante wieder<br />
verwendbar.