21.01.2013 Aufrufe

Was verstehen wir unter Test - FKFS

Was verstehen wir unter Test - FKFS

Was verstehen wir unter Test - FKFS

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!