27.11.2012 Aufrufe

Softwarezuverlässigkeitsbewertung auf Basis von ...

Softwarezuverlässigkeitsbewertung auf Basis von ...

Softwarezuverlässigkeitsbewertung auf Basis von ...

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.

• bei einem Aufruf des Fahrbefehls an die Aufzugskabine<br />

wird ein Parameter mit dem gewünschten<br />

Zielstockwerk übergeben und damit <strong>von</strong> den kopplungsbasierten<br />

Überdeckungskriterien erfasst;<br />

• wird hingegen in der Kontrollkomponente ein Befehl<br />

zum Schließen an die Türen einer Aufzugskabine<br />

gesendet, so hängt die erfolgreiche Ausführung<br />

aber lediglich <strong>von</strong> den Sensoren der <strong>auf</strong>gerufenen<br />

Aufzugskabine und nicht <strong>von</strong> einer Parameterübergabe<br />

ab.<br />

Diese Art der Abhängigkeit würde durch die oben genannten<br />

datenkopplungsbasierten Testkriterien nicht erfasst.<br />

Dadurch könnten beim Integrationstest Anwendungsfälle<br />

außer Acht gelassen werden, die zu einem<br />

Versagen des Systems führen könnten. Dementsprechend<br />

wurde der Ansatz aus [4] erweitert, indem beim Integrationstest<br />

die Überdeckung aller Aufrufpunkte zwischen<br />

zwei Komponenten gefordert wird.<br />

Mit der Entwicklung des objekt-orientierten Paradigmas<br />

verschiebt sich die Komplexität noch weiter <strong>von</strong> der<br />

intra-modularen Ebene <strong>auf</strong> die Interaktion zwischen<br />

Komponenten. Insbesondere werden objekt-orientierte<br />

Mechanismen wie Vererbung, Polymorphie und dynamisches<br />

Binden durch die kopplungsbasierten Kriterien aus<br />

[4] nicht erfasst. Deswegen wurde in [1] ein weiteres<br />

Konzept entwickelt, um die Anwendbarkeit kopplungsbasierter<br />

Testkriterien <strong>auf</strong> objekt-orientierte Programme zu<br />

erweitern. Es ist geplant, bei der Weiterentwicklung des<br />

beschriebenen Ansatzes auch diese Kopplungseigenschaften<br />

zu berücksichtigen [8].<br />

4 Kombination der Teilziele<br />

Der neu entwickelte Ansatz kombiniert die drei genannten<br />

Ziele:<br />

• Ziel 1: Betriebsprofiltreue;<br />

• Ziel 2: Unabhängigkeit der Testfallauswahl;<br />

• Ziel 3: Interaktionsüberdeckung.<br />

Da das entscheidende Anliegen die Herleitung einer<br />

quantitativen Zuverlässigkeitsaussage ist, dominieren die<br />

Voraussetzungen zur Anwendung der statistischen Stichprobentheorie.<br />

Ziel 1 und Ziel 2 sind also K.O.-Kriterien,<br />

die über Ziel 3 dominieren; angestrebt wird eine Maximierung<br />

<strong>von</strong> Ziel 3, ohne Ziel 1 bzw. Ziel 2 zu verletzen.<br />

Infolge der hohen Komplexität dieser Problemklasse stoßen<br />

systematische Verfahren schnell an ihre Grenzen. Es<br />

bietet sich an, den Einsatz heuristischer Verfahren zur<br />

multi-objektiven Optimierung mittels genetischer Algorithmen<br />

in Betracht zu ziehen. Entscheidend ist dabei die<br />

Definition einer adäquaten Fitnessfunktion zur Bewertung<br />

der Eignung generierter Testfallmengen.<br />

Um den Erfüllungsgrad <strong>von</strong> Ziel 1 und Ziel 2 zu<br />

bestimmen, werden die für die genannten Korrelationsmetriken<br />

bzw. Goodness-of-Fit-Tests ermittelten Werte<br />

<strong>auf</strong> das Intervall [0;1] normiert, wobei<br />

• der Wert 1 die Erfüllung des Kriteriums,<br />

• der Wert 0 die größtmögliche Verletzung des Kriteriums<br />

wiedergibt;<br />

• dazwischen liegende Werte den relativen Erfüllungsgrad<br />

reflektieren.<br />

Bezeichnet man mit to den maximalen, noch akzeptablen<br />

Grenzwert für die Korrelation bzw. für die Verletzung<br />

der Betriebstreue, so entsprechen<br />

• alle Werte aus [0; to] der Erfüllung des Kriteriums;<br />

• alle Werte aus ]to; max] einer Verletzung des Kriteriums,<br />

wobei max den jeweils maximal möglichen<br />

Verletzungsgrad bezeichnet.<br />

Abbildung 3 zeigt eine generische, sowohl <strong>auf</strong> die Korrelation<br />

als auch <strong>auf</strong> die Verletzung der Betriebsprofiltreue<br />

anwendbare Normierungsfunktion.<br />

Abbildung 3: Normierungsfunktion für<br />

Korrelation bzw. Verletzung der Betriebsprofiltreue<br />

Die Fitnessfunktion wird als gewichtete Summe normierter<br />

Ziele (bez. durch #) definiert:<br />

Fitnesswert = 1,0 * # Betriebsprofiltreue +<br />

1,0 * # Unabhängigkeit +<br />

0,1 * # Überdeckung<br />

Die Gewichte sind dabei so gewählt, dass selbst eine<br />

maximale Erfüllung <strong>von</strong> Ziel 3 die Verletzung eines der<br />

beiden Ausschlusskriterien Ziel 1 bzw. Ziel 2 nicht kompensieren<br />

kann:<br />

• eine Testfallmenge, die beide Ausschlusskriterien<br />

einhält (Fitnesswert ≥ 2,0) wird immer höher bewertet<br />

als<br />

• eine Testfallmenge, die mindestens ein Ausschlusskriterium<br />

verletzt (Fitnesswert < 2,0), unabhängig<br />

<strong>von</strong> der erzielbaren Maximierung des dritten Kriteriums.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!