Testmustergenerierung mit Hilfe von ... - ihmor.de
Testmustergenerierung mit Hilfe von ... - ihmor.de
Testmustergenerierung mit Hilfe von ... - ihmor.de
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
3.4. Metho<strong>de</strong>n zur Testfallerstellung<br />
daten zufällig erzeugt. Ebenfalls entstehen an dieser Stelle die für die Testdurchführung<br />
<strong>de</strong>r erzeugten Back-to-Back-Tests benötigten Referenzdaten. Daran anschließend erfolgt<br />
die Messung <strong>de</strong>s Ab<strong>de</strong>ckungsgra<strong>de</strong>s <strong>de</strong>s soeben erzeugten Testmusters. Auch dies erfolgt<br />
anhand <strong>de</strong>s vorliegen<strong>de</strong>n Mo<strong>de</strong>lls. Aus <strong>de</strong>m er<strong>mit</strong>telten Ab<strong>de</strong>ckungsgrad <strong>de</strong>s neu erzeugten<br />
Testmusters und <strong>de</strong>n Ab<strong>de</strong>ckungsgra<strong>de</strong>n <strong>de</strong>r in früheren Zyklen generierten Testdaten wird<br />
<strong>de</strong>r Testfallab<strong>de</strong>ckungsgrad (vgl. Unterkapitel 3.3.3) berechnet.<br />
Das Verfahren been<strong>de</strong>t die <strong>Testmustergenerierung</strong>, sobald <strong>de</strong>r Testfallab<strong>de</strong>ckungsgrad<br />
hun<strong>de</strong>rt Prozent erreicht hat. Ebenfalls ist eine Beschränkung <strong>de</strong>r maximal erzeugten<br />
Testmuster sinnvoll, um die Laufzeit zu begrenzen.<br />
3.4.3 <strong>Testmustergenerierung</strong> <strong>mit</strong> Evolutionären Algorithmen<br />
Die Erzeugung <strong>von</strong> Strukturtests <strong>mit</strong> Evolutionären Algorithmen folgt im Wesentlichen <strong>de</strong>r<br />
zufälligen Erstellung <strong>von</strong> Testmustersequenzen. Es gibt allerdings auch <strong>de</strong>utliche Unterschie<strong>de</strong>.<br />
Evolutionäre Algorithmen folgen <strong>de</strong>m natürlichen Phänomen <strong>de</strong>r biologischen<br />
Evolution. Nach Darwins Theorie <strong>de</strong>r natürlichen Auslese erfolgt in diesem Verfahren die<br />
Erzeugung neuer Daten aus einer zuvor generierten Menge <strong>von</strong> Daten. Im Fall <strong>de</strong>r <strong>Testmustergenerierung</strong><br />
han<strong>de</strong>lt es sich bei diesen Daten um Sequenzen <strong>von</strong> Eingabedaten zur<br />
Erzeugung <strong>von</strong> Testmustern [Bar00].<br />
Evolutionsalgorithmen o<strong>de</strong>r Evolutionäre Algorithmen folgen <strong>de</strong>m biologischen Vorbild<br />
<strong>de</strong>r Evolution. Sie bil<strong>de</strong>n <strong>de</strong>n Prozess <strong>de</strong>r Entwicklung einer Art nach. Dieser wird als eine<br />
Form <strong>von</strong> Optimierungsprozess gesehen, <strong>de</strong>ssen Ziel es ist, durch Manipulation <strong>von</strong> Erbinformationen<br />
eine Lebensform an sich än<strong>de</strong>rn<strong>de</strong> Umwelt- und Lebensbedingungen in<br />
kurzen Zeiträumen anzupassen. Die Evolution ist hierbei eine Art Suchprozess, welcher in<br />
<strong>de</strong>r Vielzahl <strong>von</strong> erzeugbaren Erbinformationen diejenigen aussucht, welche eine Lebensform<br />
am besten an seine Umwelt anpassen und dadurch die Arterhaltung sichern [Schö94].<br />
Diesem Prinzip folgend ist das Ziel <strong>de</strong>r <strong>Testmustergenerierung</strong>, die Erzeugung möglichst<br />
guter Testmuster. Im Folgen<strong>de</strong>n wird <strong>de</strong>r Ablauf <strong>de</strong>r <strong>Testmustergenerierung</strong> <strong>mit</strong>tels<br />
Evolutionärer Algorithmen vorgestellt.<br />
Der wesentliche Unterschied zum allgemeinen Verfahren zur zufallsbasierten Erzeugung<br />
<strong>von</strong> Testmustern liegt in <strong>de</strong>r Art ihrer Erzeugung. Während im allgemeinen Verfahren aus<br />
Abschnitt 3.4.2 immer nur ein Testmuster erzeugt wird, wer<strong>de</strong>n im Verfahren <strong>mit</strong> Evolutionären<br />
Algorithmen immer mehrere gleichzeitig betrachtet, welche eine Population <strong>von</strong><br />
Testmustern bil<strong>de</strong>n. Aus einer Anfangspopulation (engl. Initial Population) wird nach und<br />
nach eine Population <strong>mit</strong> besseren Eigenschaften gebil<strong>de</strong>t. Das hierzu notwendige<br />
Verfahren ist zyklisch aufgebaut und in Abbildung 3-18 dargestellt, welche <strong>de</strong>n Grundaufbau<br />
eines Evolutionären Algorithmus zur <strong>Testmustergenerierung</strong> nach Sthamer [Sth et al.<br />
01] und Wegener [Weg02] zeigt.<br />
Schöneburg i<strong>de</strong>ntifiziert drei Prinzipien, auf <strong>de</strong>nen die Evolution beruht: die Selektion<br />
(engl. Selection) einzelner Individuen aufgrund ihrer Tauglichkeit, die Rekombination<br />
(engl. Recombination) <strong>de</strong>r Erbinformationen und die Mutation (engl. Mutation) <strong>de</strong>s Erbgutes.<br />
Die Selektion ist für die Steuerung <strong>de</strong>r Evolution zuständig. Sie bestimmt durch<br />
38