• Keine Ergebnisse gefunden

Ein Ordnungsrahmen stellt die oberste Abstraktionsebene eines Referenzmodells dar und ermöglicht zum einen die effiziente Einarbeitung in die durch das Modell thematisierte Pro-blemdomäne. Zum anderen fungiert die strukturorientierte Darstellung als Navigator, wel-cher die zielgerichtete Orientierung im Modell erleichtert. [Rosemann u. Schütte, 1999, S. 32]

Anforderungen

Der Ordnungsrahmen des zu entwickelnden Referenzmodells für Software-Testwerkzeuge betrifft das Fachgebiet der werkzeugunterstützten Software-Qualitätssicherung. Um eine Orientierung in diesem Fachgebiet zu ermöglichen, sollte der Ordnungsrahmen die in Ka-pitel 3 erläuterten Anwendungsbereiche für Testwerkzeuge übersichtlich darstellen. Hinzu kommen diejenigen Bereiche, zu denen die genannte Problemdomäne Schnittstellen be-sitzt. Hierzu zählen insbesondere die in Kapitel 2 beschriebenen Methoden der Software-Qualitätssicherung, welche in Testwerkzeugen implementiert werden können, um ihre au-tomatisierte Anwendung zu ermöglichen. Zusätzlich sollen alle wesentlichen Informations-quellen beziehungsweise Unternehmensbereiche abgebildet werden, auf welche Testwerk-zeuge zum Zwecke des Informationsaustauschs zugreifen. Hierzu zählen insbesondere Ele-mente der organisatorischen Wissensbasis wie beispielsweise das Anforderungs- und Kon-figurationsmanagement sowie das Berichtswesen.

Überblick

Der Ordnungsrahmen des Referenzmodells für Software-Testwerkzeuge wird in Abbildung 12 dargestellt. Im Zentrum der Problemdomäne stehen die verschiedenen Anwendungsbe-reiche für Testwerkzeuge, die in Kapitel 3 erläutert wurden.

Einerseits implementieren Software-Testwerkzeuge die Testmethoden der Software-Quali-tätssicherung und ermöglichen auf diese Weise deren effiziente Anwendung. Andererseits stehen Testwerkzeuge in Wechselwirkung zur Wissensbasis der einsetzenden Organisa-tion und sind auf eine Testumgebung angewiesen, um Testläufe durchführen zu können.

Um diese beiden Bereiche der Problemdomäne abzubilden, werden die Testmethoden im

oberen Drittel und die relevanten Elemente der organisatorischen Wissensbasis im unteren Drittel des Ordnungsrahmens dargestellt. Die im Zentrum der Darstellung stehenden An-wendungsbereiche für Testwerkzeuge besitzen eine Implementierungsbeziehung zu den im oberen Teil abgebildeten Testmethoden, welche die theoretische Grundlage für die Entwick-lung von Werkzeugen bilden. Hinsichtlich der im unteren Teil der Abbildung dargestellten organisatorischen Wissensbasis und der Testumgebung besitzen Testwerkzeuge eine Ver-wendungsbeziehung, da sie zum Zwecke des Informationsaustauschs auf diese Elemente zugreifen.

Nachfolgend werden die Komponenten des in Abbildung 12 dargestellten Ordnungsrahmens näher erläutert.

Abbildung 12: Referenzmodell für Testwerkzeuge: Ordnungsrahmen.

Quelle: Eigene Darstellung.

Testmethoden

Im Zuge der Klassifizierung der verschiedenen, aus der Literatur bekannten Testmethoden wird – wie in Abschnitt 2.1.2 erläutert – grundsätzlich zwischen dynamischen und statischen Methoden unterschieden. Hinsichtlich desdynamischen Ansatzeskann zwischen funktions-und strukturorientierten Methoden weiter differenziert werden. Innerhalb des Ordnungsrah-mens werden darüber hinaus änderungsbezogene Methoden als weitere Klasse von dy-namischen Testmethoden aufgeführt. Die große Bedeutung der Werkzeugunterstützung für die Durchführung änderungsbezogener Tests rechtfertigt die Abbildung dieses Ansatzes in Form einer eigenständigen Klasse; nachfolgend wird dies näher erläutert.

Änderungsbezogene Tests werden im Rahmen der Wartung und Weiterentwicklung eines Software-Systems durchgeführt. Im Sinne eines Fehlernachtests stellen derartige Tests si-cher, dass in früheren Testläufen aufgedeckte Fehler in der aktuellen Version des Software-Systems tatsächlich behoben wurden [Spillner u. Linz, 2012, S. 77]. In der Ausprägung des Regressionstests verfolgen änderungsbezogene Tests das Ziel, Seiteneffekte auf die beste-hende Funktionalität aufzuspüren, welche durch am Quellcode vorgenommene Änderun-gen verursacht werden [Hoffmann, 2008, S. 198 f.]. Da sich die Ausführung von Testfällen im Zuge von änderungsbezogenen Tests typischerweise in kurzen Zyklen wiederholt, ist die Unterstützung dieses Ansatzes der Qualitätssicherung mit Hilfe von Testwerkzeugen beson-ders effektiv.

Das Gegenstück des dynamischen Tests stellt der statische Test dar. Bei diesem Ansatz kommt das Testobjekt nicht zur Ausführung – stattdessen wird sein Quellcode analysiert oder verifiziert. In Abschnitt 2.4 wurden die verschiedenen Verfahren, mit welchen dieser Ansatz verfolgt werden kann, beschrieben.

Neben dynamischen und statischen Testmethoden ist der nicht funktionale Test im vorlie-genden Ordnungsrahmen enthalten. Mit Hilfe des nicht funktionalen Ansatzes werden dieje-nigen Aspekte der Qualität eines Software-Systems überprüft, welche über die Funktionalität hinausgehen. Wie in Abschnitt 1.2 beschrieben, werden in diesem Zuge unter anderem die Performanz, die Zuverlässigkeit, die Sicherheit sowie die Benutzerfreundlichkeit des Sys-tems geprüft. Aufgrund der Unterschiedlichkeit der Prüfansätze, die unter den nicht funktio-nalen Methoden subsumiert sind, lässt sich dieser Bereich der Software-Qualitätssicherung weder dem dynamischen noch dem statischen Test eindeutig zuordnen.

Testwerkzeuge implementieren die verschiedenen Testmethoden und ermöglichen auf die-se Weidie-se deren automatisierte Anwendung im Rahmen der Software-Qualitätssicherung.

In Abhängigkeit vom Anwendungsbereich des jeweiligen Werkzeugs kommen hierfür unter-schiedliche Methoden in Frage.

Im Zuge der Generierung von Testdaten und Testfällen kann der funktions- sowie der struk-turorientierte Ansatz verfolgt werden. Ebenso verhält es sich bezüglich der Messung und Visualisierung der Testüberdeckung: Dies kann zum einen realisiert werden, indem funk-tionsorientierte Methoden auf Grundlage der Anforderungsdefinition des Testobjekts an-gewendet werden. Zum anderen besteht die Möglichkeit, die Testüberdeckung durch die Anwendung strukturorientierter Methoden auf den Quellcode des Testobjekts zu messen.

Änderungsbezogene Testmethoden wie der Regressionstest werden von Werkzeugen zur Testausführung implementiert. Zur Durchführung nicht funktionaler Tests wird auf verschie-dene Methoden zurückgegriffen, die unter anderem eine Bewertung der Zuverlässigkeit und der Performanz des Systems ermöglichen und das Vorgehen zur Überprüfung der Zugriffs-und Datensicherheit beschreiben. Testwerkzeuge zur statischen Prüfung Zugriffs-und Verifikation von Software-Systemen implementieren die Methoden des statischen Software-Tests.

Zuletzt soll auf die Beziehung von Werkzeugen für das Testmanagement und die Teststeue-rung zu den genannten Testmethoden eingegangen werden. Testwerkzeuge dieser Klasse übernehmen Verwaltungs- und Steuerungsaufgaben, die im Zuge des Softwaretestens an-fallen. Somit implementieren derartige Werkzeuge keine Testmethoden, sondern greifen auf Inhalte anderer Fachgebiete wie des Projektmanagements zurück.

Organisatorische Wissensbasis und Testumgebung

Die Gesamtheit des Wissens, das einer Organisation zur Verfügung steht, wird als orga-nisatorische Wissensbasis bezeichnet [Lehner, 2009, S. 91]. Für die Definition, Durchfüh-rung, Bewertung sowie das Management von Software-Tests ist der Zugriff auf verschiedene Elemente dieser Wissensbasis notwendig. Neben der organisatorischen Wissensbasis be-nötigen Testwerkzeuge zur automatisierten Testausführung eine Testumgebung, um die im Vorfeld definierten Testfälle durchführen zu können. Nach Spillner und Linz [Spillner u. Linz, 2012, S. 267] fasst die Testumgebung alle Hardware- und Softwarekomponenten zusam-men, welche für die Testdurchführung benötigt werden.

Die relevanten Elemente der organisatorischen Wissensbasis werden zusammen mit der Testumgebung im unteren Drittel des in Abbildung 12 dargestellten Ordnungsrahmens auf-gezeigt. Nachfolgend werden die Beziehungen der verschiedenen Klassen von Testwerk-zeugen zu diesen Elementen näher erläutert.

Werkzeuge für das Testmanagement und die Teststeuerung greifen – wie in Abschnitt 3.2.1 beschrieben – auf das Anforderungs- und Konfigurationsmanagement des Unternehmens zu und versorgen das Berichtswesen mit den aufbereiteten Ergebnissen der Testläufe. Im Zuge der Anwendung funktions- und strukturorientierter Testmethoden greifen Testwerkzeu-ge für die TestfallTestwerkzeu-generierung und die Messung der Testüberdeckung einerseits auf das An-forderungsmanagement und andererseits auf den Quellcode des zu testenden Systems zu.

Weiterhin greifen Werkzeuge dieser Klassen schreibend beziehungsweise lesend auf die Testspezifikation zu, welche ebenfalls zur organisatorischen Wissensbasis gezählt werden kann. Als Grundlage für die Testausführung benötigen entsprechende Werkzeuge neben der zu prüfenden Version des Testobjekts die Testspezifikation sowie eine geeignete Testumge-bung. Nicht funktionale Software-Tests können dynamischer oder statischer Natur sein und benötigen dementsprechend entweder Zugriff auf eine geeignete Testumgebung oder auf den Quellcode des Testobjekts. Testwerkzeuge zur statischen Prüfung und Verifikation er-fordern Zugriff auf den Quellcode des Testobjekts, um auf dieser Grundlage die in Abschnitt 2.4 erläuterten Testmethoden anwenden zu können.