Hochschule Wismar. Fakultät für Wirtschaftsinformatik. Master-Thesis

Größe: px
Ab Seite anzeigen:

Download "Hochschule Wismar. Fakultät für Wirtschaftsinformatik. Master-Thesis"

Transkript

1 Hochschule Wismar Fakultät für Wirtschaftsinformatik Master-Thesis Entwicklung eines Referenzmodells für Software-Testwerkzeuge sowie dessen Anwendung im SAP-Umfeld Thesis zur Erlangung des Grades eines Master of Science (M.Sc.) eingereicht von: geboren am in Stuttgart Fernstudium Master Wirtschftsinformatik Betreuer: weitere Gutachter: Prof. Dr. Jürgen Cleve Prof. Dr. Jan Helmke Stuttgart, den 13. Februar 2013

2 Inhaltsverzeichnis Abbildungsverzeichnis Tabellenverzeichnis Abkürzungsverzeichnis IV V VI 1 Einführung Definition und Bedeutung von Software-Qualität Merkmale der Software-Qualität Ziel und Vorgehen Abgrenzung der Themen Einordnung in die Wirtschaftsinformatik Testmethoden Überblick Software-Qualitätssicherung und Software-Test Klassifizierung der Testmethoden Einsatz der Testmethoden im Software-Lebenszyklus Begriffsdefinitionen Funktionsorientierte Methoden Grundlagen Äquivalenzklassenbildung Grenzwertanalyse Zustandsbasierter Test Strukturorientierte Methoden Grundlagen Analyse der Kontrollstruktur Kontrollflussorientierte Methoden Datenflussorientierte Methoden Bewertung Statische Prüfungen Grundlagen Manuelle Prüfung Automatisierte Prüfung Metriken Formale Verifikation I -

3 3 Testwerkzeuge Grundlagen Definition Ziele des Einsatzes Möglichkeiten der Klassifizierung Anwendungsbereiche Testmanagement und -steuerung Generierung von Testdaten und Testfällen Messung und Visualisierung der Testüberdeckung Testausführung Statische Prüfung und Verifikation Nicht funktionaler Test Einführung Voraussetzungen Werkzeug-Auswahl Einführungsprozess Referenzmodell Grundlagen der Referenzmodellierung Begriffsdefinitionen Arten von Referenzmodellen Qualitätsanforderungen an Referenzmodelle Vorgehen bei der Referenzmodellierung Referenzmodell für Software-Testwerkzeuge Problemdefinition und Zielsetzung Ordnungsrahmen Struktur Bausteine Komplettierung und Anwendung Anwendung des Referenzmodells Vorgehen Art und Ziel der Anwendung Auswahl und Analyse der Testwerkzeuge Analyse der Testwerkzeuge SAP Test Workbench SAP ecatt AFI Automatic Test Tool Schlussbetrachtung 83 - II -

4 6.1 Zusammenfassung Ausblick Literaturverzeichnis 88 Ehrenwörtliche Erklärung VII - III -

5 Abbildungsverzeichnis 1 Anforderungsprofil des Wirtschaftsinformatikers Klassifikation der Maßnahmen der Software-Qualitätssicherung Klassifikationsschema für Testmethoden Testphasen der Systementwicklung Abstrakte Darstellung eines Kontrollflussgraphen Ausprägungen des Datenflusses Taxonomie der automatisierten statischen Software-Prüfung Aufgabenbereiche des Testmanagements und der Teststeuerung Unterstützung der Testausführung durch Testwerkzeuge Beschaffung und Einführung eines Testwerkzeugs als Eisbergmodell Vorgehensmodell der Referenzmodellierung Referenzmodell für Testwerkzeuge: Ordnungsrahmen Referenzmodell für Testwerkzeuge: Übersicht Referenzmodell für Testwerkzeuge: Baustein Testmanagement und Teststeuerung Referenzmodell für Testwerkzeuge: Baustein Testausführung Referenzmodell für Testwerkzeuge: Baustein Statische Prüfung und Verifikation Anwendungsfall-Diagramm des Testwerkzeugs SAP Test Workbench Anwendungsfall-Diagramm des Testwerkzeugs SAP ecatt Anwendungsfall-Diagramm des Testwerkzeugs AFI Automatic Test Tool IV -

6 Tabellenverzeichnis 1 Verbreitete funktionsorientierte Testmethoden Kontrollflussorientierte Testmethoden Datenflussorientierte Testmethoden Varianten der manuellen statischen Softwareprüfung Verbreitete Metriken der Software-Qualitätssicherung Grundsätze ordnungsmäßiger Modellierung V -

7 Abkürzungsverzeichnis ABAP AFI AG BWL CAST ecatt EPK ERM ERP GmbH GoM GUI IDEF IS IT LOC MBT MTBF SA UML WI Advanced Business Application Programming P.M. Belz Agentur für Informatik GmbH Aktiengesellschaft Betriebswirtschaftslehre Computer Aided Software Testing extended Computer Aided Test Tool Ereignisgesteuerte Prozesskette Entity-Relationship-Modell Enterprise Resource Planning Gesellschaft mit beschränkter Haftung Grundsätze ordnungsmäßiger Modellierung Graphical User Interface Integrated Definition Informationssystem Informationstechnik Lines of Code Modellbasiertes Testen Mean Time Between Failures Strukturierte Analyse Unified Modeling Language Wirtschaftsinformatik - VI -

8 1 Einführung 1.1 Definition und Bedeutung von Software-Qualität Der Begriff der Software-Qualität wird in der ISO-Norm 9126 definiert als: [...] Gesamtheit der Merkmale und Merkmalswerte eines Software-Produkts, die sich auf dessen Eignung beziehen, festgelegte Erfordernisse zu erfüllen. [ISO/IEC 9126, 2001] 1 Festzustellen ist hierbei, dass die Qualität eines Software-Produkts nicht durch ein Merkmal allein, sondern durch eine Reihe verschiedener Merkmale festgelegt wird. Weiterhin geht aus der Definition hervor, dass Qualität immer im Hinblick auf konkrete Erfordernisse gemessen wird. Im Rahmen der Software-Qualitätssicherung wird somit geprüft, ob das Software-Produkt die an es gestellten Qualitätsanforderungen erfüllt. Die Bedeutung der Qualität von Software-Anwendungen steigt seit einigen Jahren kontinuierlich, was auf zwei Hauptgründe zurückgeführt werden kann. Zum einen findet die Computertechnik immer größere Verbreitung und wird zunehmend auch in sicherheitskritischen Bereichen eingesetzt. Mit Hilfe der Methoden der Software-Qualitätssicherung soll deshalb sichergestellt werden, dass durch Softwarefehler weder Personenschäden entstehen noch erfolgskritische Geschäftsprozesse gestört werden. Zum anderen schreitet die Miniaturisierung der Computertechnik immer weiter voran, wodurch die Integrierung von Computerchips in Alltagsgegenstände ermöglicht wird. Aufgrund dieses Trends sind die Auswirkungen von Fehlern und Sicherheitslücken in der Steuerungssoftware solcher Chips nur schwer absehbar. Die beschriebenen Entwicklungen haben das Potenzial, in ein ubiquitäres Computerzeitalter zu führen. Um die Risiken dieses umfassenden Einsatzes der Computertechnik überschaubar zu halten, sind die systematische Anwendung der Methoden der Software- Qualitätssicherung sowie die Definition und Einhaltung von Qualitätsstandards unabdingbar. [Hoffmann, 2008, S. 2 f.] 2 1 ISO-Norm 9126 wurde in ISO-Norm integriert und von dieser abgelöst. In der vorliegenden Arbeit wird dennoch auf ISO-Norm 9126 zurückgegriffen, da nur der produktbezogene Aspekt der Software-Qualität behandelt werden soll. 2 In dieser Arbeit werden Quellenangaben immer dann am Absatzende positioniert, wenn sich mehrere Sätze des Absatzes sinngemäß auf die angegebene Quelle beziehen

9 1.2 Merkmale der Software-Qualität In der ISO-Norm 9126 [ISO/IEC 9126, 2001] werden folgende Merkmale genannt, welche zur Bewertung der Qualität eines Software-Produkts herangezogen werden können: Funktionalität, Zuverlässigkeit, Benutzbarkeit, Effizienz, Änderbarkeit und Übertragbarkeit. Nachdem für jedes dieser Merkmale der erforderliche Merkmalswert festgelegt wurde, kann mit Hilfe eines Tests überprüft werden, ob das Produkt den notwendigen Qualitätsstandard erfüllt. Hierbei ist zu beachten, dass die Merkmale teilweise in konkurrierenden Beziehungen zueinander stehen; die Förderung eines Qualitätsmerkmals kann somit zu Lasten eines anderen gehen. Beispielsweise ist ein Software-System, das sich leicht ändern und übertragen lässt, in der Regel weniger effizient als ein hochgradig spezialisiertes System, welches auf eine bestimmte Umgebung zugeschnitten wurde und nur dort lauffähig ist. [Spillner u. Linz, 2012, S. 14] Nachfolgend werden die oben genannten Qualitätsmerkmale kurz erläutert. Das Merkmal der Funktionalität gibt an, in welchem Maße das Software-Produkt den geforderten Funktionsumfang enthält. Dabei geht es nicht nur darum, ob eine Funktion vorhanden ist oder nicht, sondern auch um die Art ihrer Realisierung. Hierzu zählen beispielsweise Reaktionen auf Bedienungsfehler und die Einhaltung von Normen und gesetzlichen Richtlinien. Bei der Ermittlung der Zuverlässigkeit wird geprüft, ob das System in der Lage ist, sein Leistungsniveau unter bestimmten Bedingungen über einen längeren Zeitraum aufrecht zu erhalten. Hierbei spielt beispielsweise eine Rolle, ob Fehlerzustände zu Systemsausfällen oder Datenverlusten führen. Die Benutzbarkeit bezieht sich auf die Mensch-Maschine-Interaktion und gibt an, wie viel Aufwand mit der Nutzung des Systems verbunden ist. Hierzu zählen unter anderem die Verständlichkeit und der Aufwand für die Einarbeitung in die Bedienung des Systems. Das Merkmal der Effizienz zielt auf die Betriebsmittel ab, die für den Einsatz des Systems notwendig sind. Hierzu gehören insbesondere die vom System benötigten und beanspruchten Hardwarekomponenten. Das Merkmal der Änderbarkeit oder Wartbarkeit des Systems gibt an, welcher Aufwand für die Durchführung von Änderungen und Erweiterungen notwendig ist. Die Übertragbarkeit gibt Aufschluss darüber, wie einfach das System für eine andere Umgebung angepasst und dort installiert werden kann. Systemumgebungen können sich beispielsweise in dem verwendeten Betriebssystem oder der eingesetzten Hardware-Architektur unterscheiden. Hoffmann [Hoffmann, 2008, S. 8 f.] erweitert die oben aufgeführte Liste der Qualitätsmerkmale um Transparenz und Testbarkeit. Die Transparenz gibt an, ob die Funktionen des Software-Systems sorgfältig und strukturiert realisiert wurden. Hierbei sind die durchgängige Anwendung einer Software-Architektur sowie die Einhaltung von Programmierrichtlinien von entscheidender Bedeutung. Das Merkmal der Testbarkeit gibt Aufschluss darüber, welcher Aufwand für den Test des Systems notwendig ist. Im optimalen Fall wurde dieser - 2 -

10 Aspekt beim Entwurf des Systems berücksichtigt, wodurch beispielsweise der Einsatz automatischer Testverfahren vereinfacht wird. Nach Meinung des Autors werden mit Transparenz und Testbarkeit Qualitätsmerkmale explizit herausgestellt, die in der ISO-Norm im Merkmal der Wartbarkeit bereits implizit enthalten sind. 1.3 Ziel und Vorgehen Das Ziel der vorliegenden Arbeit besteht darin, ein funktionsorientiertes Referenzmodell für Software-Testwerkzeuge zu entwickeln und anzuwenden. Um die Grundlagen für die Entwicklung des Referenzmodells zu legen, werden im ersten Teil der Arbeit zunächst verbreitete Methoden der Software-Qualitätssicherung beschrieben. Testwerkzeuge implementieren diese Methoden und ermöglichen so deren effizienten Einsatz in der betrieblichen Praxis. Anschließend werden die verschiedenen Klassen von Testwerkzeugen sowie die mit ihrem Einsatz verbundenen Ziele vorgestellt. Die Vorbereitungen für die Entwicklung des Referenzmodells werden schließlich durch die Grundlagen der Referenzmodellierung abgeschlossen. Das Referenzmodell, welches auf Basis dieser Erörterungen entwickelt wird, beschreibt den idealen Funktionsumfang eines Testwerkzeugs. Es gibt somit Aufschluss darüber, welche der Methoden der Software-Qualitätssicherung in einem Testwerkzeug implementiert werden können und welche Anforderungen hierbei berücksichtigt werden sollten, um eine effiziente Anwendung der Methoden in der Praxis zu ermöglichen. Die Anwendung des Referenzmodells kann verschiedenen Zielen dienen: Zum einen kann mit Hilfe des im Referenzmodell gespeicherten Wissens die Entwicklung eines neuen Testwerkzeugs systematisch und effizient durchgeführt werden. Zum anderen kann das Referenzmodell zur Analyse, zur Bewertung sowie zum Vergleich bestehender Testwerkzeuge herangezogen werden. Weiterhin unterstützt das Modell den Prozess zur Beschaffung eines Testwerkzeugs, da die spezifischen Anforderungen der jeweiligen Organisation aus dem im Referenzmodell beschriebenen idealen Funktionsumfang abgeleitet werden können. Im praxisbezogenen Teil der Arbeit wird das zuvor aufgestellte Referenzmodell auf verschiedene Testwerkzeuge aus dem SAP-Umfeld angewendet. Dabei wird das Ziel verfolgt, diese Werkzeuge zu klassifizieren und zu charakterisieren sowie ihre Stärken, Schwächen und Weiterentwicklungspotenziale systematisch aufzudecken

11 1.4 Abgrenzung der Themen Als Vorbereitung für die Entwicklung des Referenzmodells werden die in der einschlägigen Literatur verbreiteten Methoden der Software-Qualitätssicherung erläutert. Dabei wird das Ziel verfolgt, einen Überblick über die verschiedenen Verfahren zu geben, die in Testwerkzeugen implementiert werden können. Eine detaillierte Erläuterung der Methoden ist aufgrund des beschränkten Umfangs der vorliegenden Arbeit hingegen nicht möglich. Das Referenzmodell für Software-Testwerkzeuge, welches im Rahmen der vorliegenden Arbeit entwickelt wird, besitzt funktionsorientierten Charakter. Somit beschreibt es den idealen Funktionsumfang eines Testwerkzeugs, schließt jedoch weder den Prozess zur Entwicklung eines Testwerkzeugs noch den technischen Entwurf eines solchen Werkzeugs ein. Die Anwendung des Referenzmodells erfolgt exemplarisch unter Verwendung verschiedener Testwerkzeuge aus dem SAP-Umfeld. Eine erschöpfende Analyse der in diesem Bereich verfügbaren Testwerkzeuge ist im Rahmen der vorliegenden Arbeit hingegen nicht möglich. Auch auf die Neuentwicklung eines solchen Werkzeugs unter Verwendung des Referenzmodells muss aufgrund des beschränkten Umfangs der vorliegenden Arbeit verzichtet werden. 1.5 Einordnung in die Wirtschaftsinformatik Die Wissenschaftsdisziplin der Wirtschaftsinformatik beschäftigt sich mit der Entwicklung und Anwendung betrieblicher Informationssysteme. Das Informationssystem wird hierbei als ein soziotechnisches System verstanden, welches der Lösung betrieblicher Aufgabenstellungen dient und von Menschen gestaltet und genutzt wird. Weiterhin ist das Informationssystem in den organisatorischen Kontext des einsetzenden Unternehmens eingebettet und wird mit den Mitteln der Informationstechnik realisiert. [Bächle u. Kolb, 2012, S. 6 f.] Die Einordnung der vorliegenden Arbeit in das Fachgebiet der Wirtschaftsinformatik erfolgt auf Grundlage der Anforderungen, die an einen Wirtschaftsinformatiker gestellt werden. Das in Abbildung 1 dargestellte Anforderungsprofil besteht nach Bächle und Kolb [Bächle u. Kolb, 2012, S. 11 f.] aus den Teilbereichen Methoden der Wirtschaftsinformatik, Systementwicklung, Informationstechnik, Betriebswirtschaftslehre, Hilfsdisziplinen sowie Soft Skills. Die Methoden der Wirtschaftsinformatik beinhalten die Modellierung sowie die Analyse von Informationssystemen und können als das Kerngebiet dieser Wissenschaftsdisziplin bezeichnet werden. Im Zuge des Entwurfs und der Realisierung von Informationssystemen werden die Prinzipien, Methoden, Techniken und Werkzeuge der Systementwicklung eingesetzt. Die Informationstechnik stellt die Grundlage für die Einführung und den Betrieb von - 4 -

12 Anwendungssystemen dar, indem sie die notwendige Infrastruktur bereitstellt. Da betriebliche Informationssysteme zur Unterstützung von Geschäftsprozessen entworfen werden, sind fundierte Grundkenntnisse der Betriebswirtschaftslehre für einen Wirtschaftsinformatiker unabdingbar, um ein Verständnis für die relevanten betrieblichen Prozesse sowie den organisatorischen Kontext zu schaffen. Weiterhin sind die Mathematik, die Rechtswissenschaften sowie Sprachen für die Bewältigung der Aufgaben eines Wirtschaftsinformatikers notwendig; diese Bestandteile des Anforderungsprofils werden aus Sicht der Wirtschaftsinformatik als Hilfsdisziplinen betrachtet. Zuletzt ist darauf hinzuweisen, dass Soft Skills wie Kommunikations- und Teamfähigkeit sowie Mitarbeiterführung zu den Anforderungen gehören, die an einen Wirtschaftsinformatiker gestellt werden. Methoden der WI IT BWL Systementwicklung Hilfsdisziplinen Soft Skills Prinzipien Methoden Techniken Werkzeuge Mathematik Recht Sprachen Modellierung von IS Systemanalyse Rechnerarchitekturen Infrastruktur Projektmanagement Geschäftsprozesse Organisation Teamfähigkeit Kommunikation Mitarbeiterführung Abbildung 1: Anforderungsprofil des Wirtschaftsinformatikers. Quelle: Eigene Darstellung auf Grundlage von [Bächle u. Kolb, 2012, S. 11 f.] Im Rahmen der vorliegenden Arbeit wird ein Referenzmodell für Software-Testwerkzeuge entwickelt, wobei mit der Modellierung und der Analyse von Systemen zentrale Methoden der Wirtschaftsinformatik angewendet werden. Um die Grundlage für das Referenzmodell zu legen, werden die relevanten Methoden und Werkzeuge der Software-Qualitätssicherung erläutert, wodurch dieser Teil der Arbeit zum Gebiet der Systementwicklung zu zählen ist. Somit wird die vorliegende Arbeit in die Bereiche Methoden der Wirtschaftsinformatik sowie Systementwicklung eingeordnet

13 2 Testmethoden 2.1 Überblick Software-Qualitätssicherung und Software-Test Nach Frühauf u. a. [Frühauf u. a., 1995, S. 19 f.] stellt das Testen von Software eine wichtige Maßnahme der analytischen Software-Qualitätssicherung dar. Die weiteren Felder der Software-Qualitätssicherung decken organisatorische und konstruktive Maßnahmen ab. Die organisatorische Qualitätssicherung zielt auf die Verankerung der Qualitätssicherung in der Unternehmensorganisation sowie auf die systematische Prüfung und Verbesserung der Entwicklungsprozesse ab. Konstruktive Maßnahmen setzen vor und während der Software- Entwicklung an, indem sie Normen und Standards festlegen sowie die im Vorfeld der Programmierung entstandenen Entwicklungsdokumente prüfen [Schneider, 2007, S. 173]. Abbildung 2 stellt die genannten Felder der Software-Qualitätssicherung grafisch dar. Software- Qualitätssicherung Organisatorische Maßnahmen Konstruktive Maßnahmen Analytische Maßnahmen Abbildung 2: Klassifikation der Maßnahmen der Software-Qualitätssicherung. Quelle: Eigene Darstellung in Anlehnung an [Frühauf u. a., 1995, S. 20] Klassifizierung der Testmethoden Eine Methode stellt eine planmäßig angewandte, begründete Vorgehensweise zur Erreichung von festgelegten Zielen dar [Balzert, 2009, S. 596]. Demnach wird unter dem Begriff der Testmethode eine systematische Vorgehensweise zur Prüfung eines Software-Systems verstanden

14 Die Testmethoden der Software-Qualitätssicherung lassen sich grundlegend in statische und dynamische Methoden einteilen [Liggesmeyer, 2009, S. 37 f.]. Bei der Anwendung statischer Methoden wird das zu testende Programm nicht ausgeführt stattdessen wird sein Quellcode überprüft. Zu den statischen Methoden zählen die Software-Verifikation sowie die Verfahren der statischen Code-Analyse. Im Gegensatz dazu erfordern dynamische Methoden die Ausführung des zu testenden Programms somit wird hierbei das Laufzeitverhalten geprüft. Allen dynamischen Verfahren ist gemein, dass sie das Laufzeitverhalten des zu testenden Programms mit im Vorfeld definierten Soll-Ergebnissen vergleichen. Wird hierbei eine Abweichung festgestellt, so ist zu prüfen, ob es sich um einen Programmierfehler handelt, oder ob die Abweichung in fehlerhaften Soll-Werten beziehungsweise in einer fehlerhaften Ausführung des Programms begründet ist. Die dynamischen Testmethoden können in strukturorientierte und funktionsorientierte Methoden weiter aufgeteilt werden. Im Zuge der Anwendung strukturorientierter Methoden wird der Aufbau des Quellcodes analysiert; da hierbei der Quellcode einsehbar sein muss, wird bei diesem Vorgehen auch von White-Box- oder Glass-Box-Tests gesprochen [Schneider, 2007, S. 91]. Auf Grundlage der Analyse des Quellcodes können Testfälle systematisch aufgebaut werden, sodass sie alle relevanten Ablaufpfade durch den Quellcode abdecken. Je nach Art ihrer Analyse des Quellcodes werden die strukturorientierten Methoden in kontrollfluss- und datenflussorientierte Verfahren weiter unterteilt; die Abschnitte und enthalten nähere Informationen zu diesen Testmethoden. Im Gegensatz zu strukturorientierten Verfahren betrachten funktionsorientierte Methoden nicht den Quellcode des zu testenden Programms, sondern prüfen seine Funktionalität aus Sicht des Benutzers. Da die interne Struktur des Programms hierbei keine Rolle spielt, wird die Anwendung dieser Verfahren auch als Black-Box-Test bezeichnet. Die Testfälle werden dabei auf Grundlage der Dokumentation des Programms, also beispielsweise den Anforderungen oder der Spezifikation, definiert. Im Rahmen der Testdurchführung wird das Laufzeitverhalten des Programms gegen das in der Dokumentation definierte Soll-Verhalten geprüft. [Spillner u. Linz, 2012, S. 72 f.] Abbildung 3 stellt das Ergebnis der oben vorgenommenen Klassifizierung der verschiedenen Testmethoden grafisch dar

15 Test- Methoden Statisch Dynamisch Analysierend Verifizierend Funktionsorientiert Strukturorientiert Abbildung 3: Klassifikationsschema für Testmethoden. Quelle: Eigene Darstellung in Anlehnung an [Liggesmeyer, 2009, S. 38] Einsatz der Testmethoden im Software-Lebenszyklus Software-Tests werden in verschiedenen Phasen der Entwicklung eines Software-Systems durchgeführt. Die Testphasen unterscheiden sich hinsichtlich des Testgegenstands sowie der durchführenden Partei. In Abhängigkeit der Anforderungen der jeweiligen Testphase variieren die Testmethoden, welche dabei schwerpunktmäßig zum Einsatz kommen. Alper [Alper, 1994, S. 101 ff.] definiert folgende Testphasen, welche in aufsteigender Reihenfolge ihres Einsatzes im Software-Entwicklungsprozess aufgelistet werden: Modultest, Integrationstest, Funktionstest und Anwendertest. Abbildung 4 auf Seite 9 stellt die genannten Testphasen grafisch dar. Der Modultest (Synonyme sind Unit- und Komponententest) prüft einzelne Bestandteile des Gesamtsystems. Hierbei kommen schwerpunktmäßig strukturorientierte Verfahren sowie die Techniken der statischen Code-Analyse zum Einsatz. Da hierfür Entwicklerwissen notwendig ist, wird dieser Test entweder mit Unterstützung der Entwicklung oder von der Entwicklung selbst durchgeführt. Im Zuge des Integrationstests wird das Zusammenspiel der einzelnen Module des Systems geprüft. Je nachdem, welche Integrationsstrategie hierbei zum Einsatz kommt, sind Testtreiber und Platzhalter notwendig, um das noch unvollständige System mit dynamischen Methoden testen zu können. Da noch kein lauffähiges Gesamtsystem vorliegt, fällt auch in dieser Phase der Schwerpunkt auf strukturorientierte Testmethoden. Im nachfolgenden Funktionstest wird das nun zusammengefügte Gesamtsystem erstmals aus Perspektive des Benutzers geprüft. Dieser Test wird funktionsorientiert durchgeführt und dient dazu, Abweichungen der Funktionalität gegenüber den Anforderungen beziehungsweise der Spezifikation aufzudecken. Anzumerken ist, dass der Funktionstest in der Literatur - 8 -

16 Anwender- Test verwendet Anforderungen (kundenseitig) System- Test verwendet Anforderungen Funktions- Test verwendet Spezifikation Integrations- Test verwendet System- Entwurf Modul- Test verwendet Modul- Entwurf Abbildung 4: Testphasen der Systementwicklung. Quelle: Eigene Darstellung in Anlehnung an [Alper, 1994, S. 101]. teilweise im nachfolgenden Systemtest enthalten ist und somit keine eigenständige Testphase darstellt [Spillner u. Linz, 2012, S. 43]. Der Systemtest ähnelt dem Funktionstest, erweitert diesen jedoch um nicht-funktionale Aspekte der Software-Qualität wie Benutzbarkeit, Effizienz und Übertragbarkeit. Zuletzt wird nach der Übergabe des Systems an den Kunden der Anwendertest (Synonym: Abnahmetest) durchgeführt. Dieser ähnelt dem Systemtest, wird jedoch nicht vom Hersteller, sondern vom Kunden durchgeführt. Hierbei werden zum einen Fehler aufgedeckt, die auf Besonderheiten der kundenseitigen Systemumgebung zurückzuführen sind. Zum anderen fördert der Test Anforderungen zutage, die nicht eindeutig zwischen Anwender- und Herstellerseite kommuniziert wurden Begriffsdefinitionen In diesem Abschnitt werden elementare Begriffe des Software-Testens definiert. Dies legt die Grundlage für die Erläuterung von Testmethoden in den nachfolgenden Abschnitten. Als Referenz wird hierbei Spillner und Linz [Spillner u. Linz, 2012, S. 8 ff.] herangezogen

17 Im Rahmen der Testdurchführung wird ein Testobjekt überprüft. Das Testobjekt ist mit dem zu testenden Programm gleichzusetzen und kann in der Praxis eine Methode, eine Funktion, eine Komponente oder das Software-System als Ganzes darstellen. In anderen Literaturquellen wird der Begriff des Prüflings synonym verwendet. Aus einer Testdurchführung kann eine Reihe von Fehlerwirkungen resultieren, die aufgrund der im Testobjekt vorhandenen Fehlerzustände offensichtlich geworden sind. Die Testdurchführung wird bei Anwendung dynamischer Verfahren in Testfälle unterteilt. Die Definition von Testfällen erfolgt auf Grundlage der Testbasis; diese umfasst alle hierfür geeigneten Dokumente über das Testobjekt, wozu beispielsweise Anforderungsdefinition, Spezifikation und technischer Entwurf zählen. Ein Testfall umfasst Eingabewerte, mit denen das Testobjekt aufgerufen wird, sowie Soll- Werte, mit denen die Rückgabewerte des Testobjekts verglichen werden. Weiterhin kann ein Testfall Vor- und Nachbedingungen beinhalten. Die für die Durchführung eines Testfalls verwendeten Daten werden als Testdaten bezeichnet. 2.2 Funktionsorientierte Methoden Grundlagen Im Zuge der Anwendung funktionsorientierter Testmethoden werden Testfälle aus der Testbasis abgeleitet. Als Grundlage für die Testfall-Definitionen dienen somit Anforderungsdefinitionen, Spezifikationen, Benutzerhandbücher und sonstige Dokumente, die Informationen über die Funktionalität und das Soll-Verhalten des Testobjekts beinhalten. Aus diesem Grund werden diese Testmethoden auch als spezifikations- oder anforderungsorientierte Verfahren bezeichnet. Da die innere Beschaffenheit des Testobjekts bei der Anwendung der Verfahren keine Rolle spielt, handelt es sich um Black-Box-Tests. Die Testüberdeckung wird nach dieser Herangehensweise als vollständig betrachtet, wenn alle spezifizierten Funktionen des zu testenden Software-Systems durch Testfälle überprüft werden. [Bath u. McKay, 2011, S. 31 f.] Die verschiedenen funktionsorientierten Testmethoden können hinsichtlich der Testphase, in der sie verwendet werden, unterschieden werden; die verschiedenen Testphasen wurden in Abschnitt erläutert. Auf Ebene des Modul- und Integrationstests geht es darum, aus der Gesamtmenge der möglichen Eingabewerte des Testobjekts eine sinnvolle Stichprobe auszuwählen, welche anschließend für die Testfall-Definition verwendet wird. Diese Auswahl ist notwendig, da es bei nicht-trivialen Programmen mit akzeptablem Aufwand unmöglich ist, für jede mögliche Kombination von Eingabewerten einen separaten Testfall zu erstellen und durchzuführen

18 Verbreitete Verfahren, welche zur sinnvollen Auswahl von Eingabewerten verwendet werden können, sind Äquivalenzklassenbildung, Grenzwertanalyse sowie der zustandsbasierte Test. Im Rahmen des System- und Abnahmetests werden funktionsorientierte Testmethoden eingesetzt, um die zu testenden Arbeitsabläufe beziehungsweise Anwendungsszenarien sinnvoll auszuwählen. Hierfür stellen der anwendungsbasierte, der entscheidungstabellenbasierte sowie der paarweise Test verbreitete Verfahren dar. [Hoffmann, 2008, S. 186 f.] Tabelle 1 enthält eine zusammenfassende Übersicht über verbreitete funktionsorientierte Testmethoden unter Angabe der Testphasen, für die das jeweilige Verfahren geeignet ist. Testmethode Äquivalenzklassenbildung Grenzwertanalyse Zustandsbasierter Test Anwendungsbasierter Test Entscheidungstabellenbasierter Test Paarweiser Test Testphasen Modul- und Integrationstest Modul- und Integrationstest Modul- und Integrationstest System- und Abnahmetest System- und Abnahmetest System- und Abnahmetest Tabelle 1: Verbreitete funktionsorientierte Testmethoden. Quelle: [Hoffmann, 2008, S. 175 ff.] In den nachfolgenden Abschnitten werden verbreitete Verfahren zur Auswahl von Eingabewerten als Vorbereitung für die Durchführung von Modul- und Integrationstests erläutert. Auf Testmethoden, die auf abstrakteren Testebenen eingesetzt werden, wird nicht näher eingegangen, da ihre Implementierung in Testwerkzeugen als zu aufwändig erscheint Äquivalenzklassenbildung Durch die Bildung und Anwendung von Äquivalenzklassen wird die Gesamtmenge der möglichen Werte eines Eingabeparameters in Klassen aufgeteilt. Dies erfolgt dergestalt, dass das Laufzeitverhalten des Testobjekts für jeden Einzelwert einer Klasse äquivalent, also gleich, ist. Da es sich bei der Äquivalenzklassenbildung um eine Black-Box-Technik handelt, kann allerdings nicht nachgeprüft, sondern lediglich vermutet werden, dass alle Werte einer Klasse zum selben Ablaufpfad im Kontrollfluss des Programms führen. Bei begründeter Annahme der Äquivalenz der Werte einer Klasse wird die Anzahl der Testfälle, die für eine vollständige Testabdeckung notwendig ist, drastisch reduziert. Anstatt jeden möglichen Wert jedes Eingabeparameters des Testobjekts bei der Testdurchführung zu verwenden, reicht es aus, das Programm mit einem beliebigen Wert aus jeder Äquivalenzklasse exemplarisch auszuführen und seine Reaktion zu überprüfen. [Schneider, 2007, S. 94 f.]

19 Als Beispiel soll ein Eingabeparameter mit einem zulässigen Wertebereich von Ganzzahlen zwischen 1 und 99 dienen. In diesem einfachen Fall können alle gültigen Werte zu einer Äquivalenzklasse zusammengefasst werden: {1 x 99}. Um die Reaktion des Programms auf ungültige Eingabewerte zu überprüfen, werden darüber hinaus zwei Klassen mit Mengen ungültiger Werte definiert: {x 0} und {x 100}. Auf dieser Grundlage werden drei Testfälle definiert, sodass ein Wert aus jeder Äquivalenzklasse bei der Testdurchführung verwendet wird; eine vollständige Testabdeckung wäre demnach bei Verwendung der Werte -10, 50 und 200 gegeben Grenzwertanalyse Die Grenzwertanalyse basiert auf der Annahme, dass die Verarbeitung von Werten, die an den Übergängen von Äquivalenzklassen angesiedelt sind, besonders fehlerträchtig ist. Diese Heuristik beeinflusst die Auswahl der Werte aus den Äquivalenzklassen, mit welchen der relevante Eingabeparamter des Testobjekts bei der Testdurchführung versorgt wird. [Henry, 2008, S. 60 f.] Um die Wahrscheinlichkeit, beim Test Fehlerzustände aufzudecken, zu maximieren, werden zum einen alle Werte ausgewählt, die auf dem Übergang zwischen zwei Äquivalenzklassen liegen. Zum anderen werden für jeden Übergang die Werte der beiden Klassen mit den geringsten Abständen zu dem Übergang für die Testfall-Definition herangezogen. Darüber hinaus gibt es stets zwei Äquivalenzklassen, die auf einer Seite nicht an eine andere Klasse grenzen. Aus diesen Klassen wird der Minimal- beziehungsweise Maximalwert verwendet. [Spillner u. Linz, 2012, S. 125] Die Grenzwertanalyse soll auf das im vorangegangenen Abschnitt eingeführte Beispiel angewendet werden. Zunächst werden die Äquivalenzklassen in aufsteigender Reihenfolge aufgelistet: {x 0}, {1 x 99}, {x 100}. Aus den beiden Übergängen zwischen den Äquivalenzklassen werden folgende Grenzwerte abgeleitet: 0, 1, 99 und 100. Da die beiden Randklassen einen offenen Wertebereich besitzen, können theoretisch gesehen keine Minimal- und Maximalwerte abgeleitet werden. In der Praxis besteht jedoch die Möglichkeit, in Abhängigkeit der eingesetzten Programmiersprache den Minimal- beziehungsweise Maximalwert des für den jeweiligen Parameter benutzten Datentyps zu verwenden. Anzumerken ist, dass bei der Auswahl der Werte aus den Äquivalenzklassen Variationen zulässig sind. So ist es denkbar, neben dem Wert mit dem geringsten Abstand zu einem Übergang auch den zweitnächsten Wert zu verwenden. Weiterhin ist eine Ergänzung der Grenzwerte mit aus den Äquivalenzklassen zufällig ausgewählten Werten vorstellbar

20 2.2.4 Zustandsbasierter Test Der zustandsbasierte Test wird eingesetzt, wenn das Testobjekt verschiedene Zustände annehmen kann und somit zustands- oder gedächtnisbehaftet ist. Der Zustand des Testobjekts wechselt, nachdem bestimmte Ereignisse ausgelöst wurden; dieser Wechsel wird als Zustandsübergang bezeichnet und kann mit Aktionen verbunden sein, die im Anschluss an den Zustandsübergang durch das Testobjekt ausgeführt werden. [Liggesmeyer, 2009, S. 58 f.] Der zustandsbasierte Test prüft, ob das Testobjekt die Zustandsübergänge und die damit verbundenen Aktionen gemäß seiner Spezifikation durchführt. Weiterhin wird die Robustheit des Testobjekts geprüft, indem ungültige Zustände beziehungsweise ungültige Zustandsübergänge simuliert und irrelevante Ereignisse ausgelöst werden. Die Beschreibung der gültigen Zustände, Übergänge, Ereignisse und Aktionen erfolgt mit Hilfe von Zustandsdiagrammen, Zustandsübergangstabellen und Zustandsübergangsbäumen. Hierbei findet beispielsweise das Zustandsdiagramm der UML (Unified Modeling Language) Verwendung. Auf Basis dieser Beschreibung werden Testfälle erzeugt, welche jeweils einen definierten Anfangszustand, die zur Stimulation des Testobjekts durchzuführenden Aktionen, dessen erwartete Reaktionen sowie den erwarteten Endzustand beinhalten. [Spillner u. Linz, 2012, S. 139] Bezüglich der Testabdeckung existieren verschieden strenge Kriterien, die sich jeweils subsumieren und nachfolgend in aufsteigender Reihenfolge aufgezählt werden [Liggesmeyer, 2009, S. 60 f.]: Im Zuge der Testdurchführung werden alle spezifizierten Zustände erreicht. Alle gültigen Zustandsübergänge werden vollzogen. Alle Ereignisse, die zu Zustandsübergängen führen können, werden ausgelöst. Darüber hinaus kann die Anforderung bestehen, zusätzlich alle ungültigen Zustandsübergänge zu testen. Der zustandsbasierte Test ist vor allem bei objektorientierten Systemen einzusetzen; dort sind die Testobjekte häufig zustandsbehaftet und das Verhalten des Systems wird maßgeblich vom aktuellen Zustand beeinflusst. [Spillner u. Linz, 2012, S. 140]

21 2.3 Strukturorientierte Methoden Grundlagen Strukturorientierte Testmethoden stellen neben den in Abschnitt 2.2 beschriebenen funktionsorientierten Methoden weitere Verfahren zur systematischen Konstruktion von Testfällen bereit. Das charakteristische Merkmal dieser Methoden ist, dass im Zuge ihrer Anwendung die innere Struktur des Testobjekts analysiert wird. Dies setzt voraus, dass der Quellcode des zu prüfenden Programms einsehbar ist und bei Bedarf für die Testdurchführung instrumentiert werden kann. Aus diesem Grund erfordern strukturorientierte Testmethoden technisches Wissen und werden in der Regel mit Unterstützung der zuständigen Entwickler im Rahmen von Modul- und Integrationstests eingesetzt. [Henry, 2008, S. 59] Der wesentliche Vorteil der strukturorientierten gegenüber den funktionsorientierten Verfahren besteht darin, dass die Testüberdeckung anhand des Quellcodes objektiv gemessen und somit gewährleistet werden kann. 3 Im Zuge der Anwendung von White-Box-Verfahren kann sichergestellt werden, dass alle Zeilen des Programmcodes im Rahmen der Testdurchführung durchlaufen werden. Die Ausführung der Programmzeilen resultiert in einem beobachtbaren Verhalten des Testobjekts, welches gegen das im Vorfeld festgelegte Soll-Verhalten geprüft wird. Hinsichtlich der Testdurchführung gibt es somit keinen Unterschied zwischen White- und Black-Box-Techniken. Durch die Analyse der inneren Struktur des Testobjekts kann weiterhin vermieden werden, für einen Codepfad mehrere, redundante Testfälle zu definieren dadurch wird die Effizienz des Testens erhöht. [Cleff, 2010, S. 149 f.] Analyse der Kontrollstruktur Die Analyse der inneren Struktur des Testobjekts dient zum einen als Grundlage für die Definition von Testfällen. Zum anderen ermöglicht sie die Messung der durch die Testfälle erreichten Testüberdeckung. In den Zielen des Software-Tests kann der Testabdeckungsgrad festgelegt werden, der mindestens erreicht werden soll. Zur Spezifizierung des Abdeckungsgrads stehen verschiedene Kriterien zur Verfügung, die in den nachfolgenden Abschnitten vorgestellt werden. Die Kontrollstruktur eines Programms besteht aus Anweisungen und Verzweigungen. Ein Kontrollflussgraph ermöglicht die grafische Darstellung der Konstrollstruktur, indem er Anweisungen und Verzweigungen durch gerichtete Kanten miteinander verbindet. Weiterhin besitzt der Kontrollflussgraph genau einen Start- und einen Endknoten. Bei Ausführung des 3 Nach Schneider [Schneider, 2007, S. 104] werden Anforderungen durch Testfälle abgedeckt, Codezeilen jedoch überdeckt; dieser sprachlichen Differenzierung wird in der vorliegenden Arbeit gefolgt

22 Programms wird der Graph auf einem Pfad ausgehend von seinem Startknoten durchschritten, bis sein Endknoten erreicht ist. [Liggesmeyer, 2009, S. 84] Ein Kontrollflussgraph wird in Abbildung 5 beispielhaft dargestellt. Um die Orientierung zu erleichtern, werden die verschiedenen Strukturelemente durch unterschiedliche geometrische Formen visualisiert. Start Anweisung 1 Verzweigung 1 Anweisung 2 Anweisung 3 Anweisung 4 Ende Abbildung 5: Abstrakte Darstellung eines Kontrollflussgraphen. Quelle: Eigene Darstellung in Anlehnung an [Wirsing, 2003, S. 21]

23 2.3.3 Kontrollflussorientierte Methoden Kontrollflussorientierte Testmethoden verfolgen den Ansatz, dass möglichst viele der Codepfade des Testobjekts im Rahmen der Testdurchführung zur Ausführung gebracht werden sollen. Je mehr dieser Pfade durch die Testfälle überdeckt werden, desto mehr der im Quellcode verborgenen Fehlerzustände werden während der Testdurchführung zur Wirkung gebracht. [Hoffmann, 2008, S. 201] Werden sämtliche Pfade durchlaufen, so werden garantiert alle Fehlerzustände ausgelöst und können durch Soll-Ist-Vergleiche im Rahmen der Testdurchführung aufgedeckt werden. In diesem Idealfall liegt das Kriterium der Pfadüberdeckung vor. Allerdings ist die Ausführung aller Code-Pfade bei nicht-trivialen Programmen unter akzeptablem Aufwand nicht möglich: Im Quellcode enthaltene Schleifen führen zu einer exorbitanten Anzahl möglicher Pfade. [Hoffmann, 2008, S. 210 f.] Aus diesem Grund existieren verschiedene andere Überdeckungskriterien, die weniger strenge Anforderungen stellen als die Pfadüberdeckung. Als Minimalkriterium sollte die Anweisungsüberdeckung eingehalten werden. Diese fordert die Ausführung aller im Programmcode vorhandenen Anweisungen im Rahmen der Testdurchführung. Lässt sich dieses Kriterium nicht erfüllen, so enthält das Testobjekt toten Code, der in keinem Pfad erreicht wird. Die Aufdeckung unerreichbarer Codezeilen ist eines der Ziele, die bei der Anwendung von kontrollflussorientierten Verfahren verfolgt werden. [Spillner u. Linz, 2012, S. 151] Innerhalb der Spanne zwischen Anweisungs- und Pfadüberdeckung existieren weitere Überdeckungskriterien, die als Anforderung bei der Definition von Testzielen verwendet werden können. Auf eine Erläuterung aller kontrollflussorientierten Testmethoden muss mit Hinweis auf den begrenzten Umfang der vorliegenden Arbeit verzichtet werden. Jedoch gibt Tabelle 2 eine Übersicht über die verbreiteten Überdeckungskriterien. 4 Kürzel Überdeckungskriterium Beschreibung C 0 Anweisungsüberdeckung Test aller Anweisungen. C 1 Zweigüberdeckung Test aller Anweisungen und aller Bedingungen. C 2 Pfadüberdeckung Test aller Pfade. C 3 Bedingungsüberdeckung Test der Teilbedingungen (verschiedene Varianten). - McCabe-Überdeckung Test aller Elementarpfade. Tabelle 2: Kontrollflussorientierte Testmethoden. Quelle: [Hoffmann, 2008, S. 206 ff.] 4 Für die grundlegenden Überdeckungskriterien ist die Verwendung eines Kürzels der Form Cx gebräuchlich; das C steht hierbei für Coverage, zu deutsch Überdeckung

24 2.3.4 Datenflussorientierte Methoden Datenflussorientierte Testmethoden messen die Testüberdeckung anhand des Datenflusses, welcher im Rahmen der Testdurchführung innerhalb des Testobjekts vollzogen wird. Bei der Ausführung des zu testenden Programms entsteht ein Datenfluss, wenn schreibend oder lesend auf Variablen zugegriffen wird. Der Datenfluss kann mit Hilfe datenflussattributierter Kontrollflussgraphen visualisiert werden. Bei dieser Variation des in Abschnitt beschriebenen Kontrollflussgraphen werden die schreibenden und lesenden Variablenzugriffe neben den entsprechenden Anweisungsknoten angegeben. [Liggesmeyer, 2009, S. 142 f.] Im Zuge der Analyse des Datenflusses wird grundsätzlich zwischen schreibender (definitorischer) und lesender (referenzierender) Nutzung der jeweiligen Variablen unterschieden. Hinsichtlich der referenzierenden Verwendung wird weiter differenziert, ob die Variable für eine Berechnung herangezogen wird (kalkulatorische Nutzung) oder in die Prüfung einer Bedingung involviert ist (prädikative Nutzung) [Hoffmann, 2008, S. 220 f.]. Die verschiedenen Ausprägungen des Datenflusses werden in Abbildung 6 grafisch dargestellt. Abbildung 6: Ausprägungen des Datenflusses. Quelle: Eigene Darstellung. Auf Grundlage der Analyse des Datenflusses kann die Einhaltung verschiedener Überdeckungskriterien geprüft werden. Die Kriterien zielen darauf ab, dass nach einem definitorischen Variablenzugriff ein referenzierender Zugriff erfolgen muss. Ist dies nicht der Fall, so liegt eine Anomalie im Datenfluss des Programms vor. Eine vollständige Überdeckung des Datenflusses liegt vor, wenn im Rahmen der Testdurchführung für jeden definitorischen Variablenzugriff alle nachfolgenden referenzierenden Verwendungen der Variable durchlaufen

25 und somit getestet werden [Hoffmann, 2008, S. 226]. Falls die Realisierung der vollständigen Überdeckung zu aufwändig ist, kann alternativ ein schwächeres Kriterium gewählt werden. Tabelle 3 gibt einen Überblick über die verbreiteten datenflussorientierten Überdeckungskriterien. Kriterium all-defs all-c-uses all-p-uses all-c-/some-p-uses all-p-/some-c-uses all-uses Required k-tupel Beschreibung Minimaltest: Jeder definitorische Zugriff wird von einem beliebigen referenzierenden Zugriff gefolgt. Test aller kalkulatorischen Variablenzugriffe. Test aller prädikativen Variablenzugriffe. Test der referenzierenden Zugriffe mit Priorisierung der kalkulatorischen Verwendung. Test der referenzierenden Zugriffe mit Priorisierung der prädikativen Verwendung. Maximaltest: Test aller referenzierenden Variablenzugriffe. Test aller Sequenzen von definitorischen-referenzierenden-zugriffen mit Länge k. Tabelle 3: Datenflussorientierte Testmethoden. Quelle: [Liggesmeyer, 2009, S. 144 ff.] Bewertung Strukturorientierte Testmethoden ermöglichen einerseits die systematische Konstruktion von Testfällen auf Grundlage der Programmstruktur des Testobjekts, wodurch eine hohe Testüberdeckung bei geringer Redundanz erreicht wird. Andererseits können die Verfahren zur objektiven Ermittlung der Testüberdeckung eingesetzt werden. Dies rechtfertigt den Einsatz strukturorientierter Methoden auch dann, wenn die Testfall-Definition mittels funktionsorientierter Verfahren erfolgt. [Spillner u. Linz, 2012, S. 164] Bei Anwendung strukturorientierter Verfahren ist zu beachten, dass sich die dabei gemessene Code-Überdeckung durch Testfälle stets auf den aktuellen Programmcode des Testobjekts bezieht. Demnach reduzieren nicht realisierte Funktionen die Test-Überdeckung nicht und können durch White-Box-Verfahren folglich auch nicht aufgedeckt werden. Hierfür sind ergänzende Black-Box-Tests notwendig, welche die Funktionalität des Testobjekts gegen seine Anforderungsdefinition abgleichen. [Schneider, 2007, S. 107] Weiterhin ist anzumerken, dass datenflussorientierte Methoden beim Test objektorientierter Software-Systeme den kontrollflussorientierten Vorfahren vorzuziehen sind, da sie unter dieser Voraussetzung einen höheren Prozentsatz der im Testobjekt enthaltenen Fehlerzustände aufdecken. [Liggesmeyer, 2009, S. 141]

26 Zuletzt soll darauf hingewiesen werden, dass die Messung der Testüberdeckung die Instrumentierung des Testobjekts erfordert. Hierbei wird der Quellcode des zu testenden Programms im Vorfeld eines Testlaufs durch Kontrollanweisungen ergänzt, sodass die Ausführung der für die Testüberdeckung relevanten Codezeilen protokolliert werden kann. [Spillner u. Linz, 2012, S. 164 f.] 2.4 Statische Prüfungen Grundlagen In den nachfolgenden Abschnitten werden verschiedene Testmethoden vorgestellt, welche den Quellcode des Testobjekts auf Fehler und Unstimmigkeiten prüfen. Die Prüfverfahren werden als statisch bezeichnet, da das zu testende Programm dabei nicht ausgeführt wird. Die statischen Ansätze des Software-Testens besitzen verschiedene Vorteile gegenüber den dynamischen Testmethoden. Zum einen können statische Prüfungen sehr früh im Entwicklungsprozess eingesetzt werden, da ein lauffähiges System keine zwingende Voraussetzung für die Testdurchführung darstellt. Folglich kann auch auf Testtreiber und Platzhalter verzichtet werden, die für die Durchführung von dynamischen Modul- und Integrationstests in der Regel notwendig sind. Zum anderen werden für die Durchführung statischer Tests weder Testfälle noch Testdaten benötigt, wodurch der Aufwand für die Vorbereitung der Testdurchführung gering gehalten werden kann. [Simon u. a., 2006, S. 107] In der vorliegenden Arbeit wird zwischen manueller und automatisierter Prüfung des Quellcodes des Testobjekts unterschieden. Das Review stellt eine verbreitete manuelle Methode des statischen Testens dar und wird in Abschnitt genauer erläutert. Im Gegensatz dazu beschreibt Abschnitt Verfahren der statischen Code-Analyse, die sinnvollerweise nur mit Werkzeugunterstützung ausgeführt werden können. Zu dieser Kategorie zählt auch die Vermessung der Software mit Hilfe von Metriken, welche in Abschnitt behandelt wird. Manuelle und automatisierte Verfahren ergänzen sich, da bei der Durchführung von Reviews Zeit gespart werden kann, indem im Vorfeld Analysewerkzeuge zur Aufdeckung grober Unstimmigkeiten eingesetzt werden [Spillner u. Linz, 2012, S. 99 f.] Manuelle Prüfung Bei der manuell durchgeführten statischen Prüfung handelt es sich in der Regel um eine strukturierte Gruppenprüfung, für die der Begriff des Reviews gebräuchlich ist. Im Rahmen eines Reviews gehen zwei oder mehr Personen den Programmcode durch und suchen nach Fehlern, Umstimmigkeiten und Auffälligkeiten. Diese werden im Protokoll der Reviewsitzung

27 als Befunde festgehalten und im Nachgang durch den zuständigen Entwickler im Quellcode korrigiert. Dieses Verfahren kann nicht nur auf Quellcode angewendet werden, sondern auf beliebige Dokumente, die im Rahmen des Entwicklungsprozesses entstehen. Folglich werden anstelle von Quellcode und Entwickler die allgemeineren Begriffe Dokument beziehungsweise Prüfling sowie Autor verwendet. [Schneider, 2007, S. 141] Es existieren verschiedene Varianten des Reviews, die sich hauptsächlich in der Anzahl der beteiligten Personen sowie hinsichtlich des Formalitätsgrades ihres Ablaufs unterscheiden. Bei einem informellen Review sprechen zwei Entwickler den Quellcode eines Programms durch. Hierfür ist keine Vorbereitung notwendig und die Ergebnisse werden nicht protokolliert. Im Gegensatz dazu handelt es sich bei einer Inspektion um ein formales Review, das mit einer Vorbereitungsphase, einer Reviewsitzung sowie einer Nachbereitungsphase verbunden ist. Die Ergebnisse der Inspektion werden protokolliert und können somit auch dem Management oder anderen Parteien vorgelegt werden. Bei einer Inspektion geht es neben der Prüfung des betrachteten Dokuments auch um die Verbesserung der Entwicklungsprozesse des Unternehmens. [Henry, 2008, S. 67 f.] Tabelle 4 enthält eine Übersicht über die verschiedenen Varianten des Reviews. Review-Art Informelles Review Walkthrough Technisches Review Inspektion Beschreibung Gegenlesen des Dokuments durch einen Kollegen. Besprechung des Dokuments in einer informellen Sitzung. Experten beraten in einer protokollierten Sitzung über das Dokument. Das Dokument wird in einer formalen, moderierten Sitzung geprüft, wobei die beteiligten Personen verschiedene Rollen wie Moderator, Gutachter und Protokollant einnehmen. Tabelle 4: Varianten der manuellen statischen Softwareprüfung. Quelle: [Spillner u. Linz, 2012, S. 92 ff.] Die Planung und Durchführung von Reviews verursacht erhebliche Aufwände und kann nur in geringem Maße durch Werkzeuge unterstützt werden. Die dabei entstehenden Kosten werden durch die Vorteile der strukturierten Gruppenprüfung jedoch mit Leichtigkeit aufgewogen. Nach Henry [Henry, 2008, S. 67] ermöglichen Reviews eine frühe Erkennung und Beseitigung von Fehlern und reduzieren somit die mittel- und langfristigen Wartungsaufwände. Weiterhin wird Wissen über die innere Struktur des zu prüfenden Programms sowie über die Erkennung und Behebung von Fehlern und Unschönheiten im Quellcode auf informellem Wege verbreitet. Dies führt automatisch zu einer Steigerung der Qualität von zukünftig erstellten Dokumenten und kann darüber hinaus zur Verbesserung der Entwicklungsprozesse beitragen

Qualitätssicherung. Was ist Qualität?

Qualitätssicherung. Was ist Qualität? Ein Überblick Methoden und Werkzeuge zur Softwareproduktion Was ist Qualität? "Als Qualität eines Gegenstandes bezeichnen wir die Gesamtheit seiner charakteristischen Eigenschaften" Hesse et al. 2 Was

Mehr

Qualitätsmanagement im Projekt

Qualitätsmanagement im Projekt Software-Engineering Qualitätsmanagement im Projekt Vorlesung im Wintersemester 2008/2009 Fakultät Wirtschaftsinformatik Klaus Mairon, M.Sc. Inhalte Messen und Bewerten: Metriken in der Qualitätssicherung

Mehr

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS 12. - Ohne Gewähr -

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS 12. - Ohne Gewähr - PRÜFUNG FÜR ELEKTROINGENIEURE Softwaretechnik I Musterlösung SS 12 - Ohne Gewähr - LfdNr. Thema Punkte Zeitbedarf in min 1 Analyse und Entwurf 15 30 2 Basistechniken und Test 15 30 3 Projektmanagement

Mehr

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwaretechnik. Fomuso Ekellem WS 2011/12 WS 2011/12 Inhalt Projektvorstellung Übung 1 Wiederholung zusammengefasst Planungsphase Lernziele Ziele und Inhalt der Planungsphase Anlass und Aufgabestellung(Was ist dabei erförderlich) Requirement Engineering

Mehr

Hauptseminar Automotive Software Engineering Testen, Rapid Prototyping und x in the loop

Hauptseminar Automotive Software Engineering Testen, Rapid Prototyping und x in the loop Hauptseminar Automotive Software Engineering Testen, Rapid Prototyping und x in the loop Christoph Niedermayr 20.01.2005 Überblick 1 2 X in the loop Rapid Prototyping Begriffe Was versteht man unter statischem

Mehr

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

Mehr

Use Cases. Use Cases

Use Cases. Use Cases Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben

Mehr

Testen - Konzepte und Techniken

Testen - Konzepte und Techniken Testen - Konzepte und Techniken Magdalena Luniak 21.11.2007 Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 1 / 42 Übersicht 1 Motivation 2 Grundbegrie 3 Testen im Softwareentwicklungsprozess

Mehr

T1 - Fundamentaler Testprozess

T1 - Fundamentaler Testprozess AK 2 am Armin Beer, Support Center Test der Software- Entwicklung 1 für einen erfolgreichen Test? Projektteam strebt nach Qualität Aufwände sind eingeplant (Richtwerte) 20 bis 30% des Gesamtaufwandes In

Mehr

Softwaretechnik. Vertretung von Prof. Dr. Blume Fomuso Ekellem WS 2011/12

Softwaretechnik. Vertretung von Prof. Dr. Blume Fomuso Ekellem WS 2011/12 Vertretung von Prof. Dr. Blume WS 2011/12 Inhalt Test, Abnahme und Einführung Wartung- und Pflegephase gp Vorlesung Zusammenfassung Produkte und Recht (Folien von Prof. Blume) 2 , Abnahme und Einführung

Mehr

Referent: Mathias Notheis Kontakt: Mathias.Notheis@dqs.de

Referent: Mathias Notheis Kontakt: Mathias.Notheis@dqs.de ISO/IEC 62304 Medizingeräte-Software Referent: Mathias Notheis Kontakt: Mathias.Notheis@dqs.de DQS Medizin nprodukte GmbH Übersicht Basics Wann ist ein MP Software? Markteinführung vor der 62304 alles

Mehr

Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement

Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement Prof. K.-P. Fähnrich, Prof. H.-G. Gräbe, T. Riechert Institut für Informatik Sommersemester 2012 Allgemeine Bemerkungen

Mehr

Whitebox-Tests: Allgemeines

Whitebox-Tests: Allgemeines -Tests: Allgemeines Andere Bezeichnungen Logic driven, Strukturelles Der Tester entwickelt Testfälle aus einer Betrachtung der Ablauflogik des Programms unter Berücksichtigung der Spezifikation Intuitiv

Mehr

Die Softwareentwicklungsphasen!

Die Softwareentwicklungsphasen! Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.

Mehr

,$ -. "+0 *+*+ ! / -#$%$. #$%'' $ () 1 2$ #$%$! 1 2$3 )!

,$ -. +0 *+*+ ! / -#$%$. #$%'' $ () 1 2$ #$%$! 1 2$3 )! *+*+ *,$ -.! / -#$%$. #$%'' $ () "+0 *+*+ 4 *+*+ 1 2$ #$%$! 1 2$3 )! 1 *+*+ $& #$%'!' '!' 5 1! 1 4$5%! 1 63$ 1 $7$! 1 3! 1 77 8'7 1 /!$' 1 83% *+*+ 0 #$%'' '' #$%'' ''$' )%! $' #$% 5 87 $ 8$! 7$+ 1 #$%9$

Mehr

T2 Fundamentaler Testprozess

T2 Fundamentaler Testprozess T2 Fundamentaler Siemens AG Österreich 2005 All Rights Reserved Institut f. Software Technology, TU-Graz Armin Beer, PSE Support-Center Test Overview der Software- Entwicklung 2 1 Wasserfall-Modell Analyse

Mehr

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08 Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer

Mehr

Testen. SEPR Referat: Testen - Oliver Herbst

Testen. SEPR Referat: Testen - Oliver Herbst Testen Inhalt 1. Grundlagen des Testens 2. Testen im Softwarelebenszyklus 3. Statischer Test 4. Dynamischer Test 5. Besondere Tests 2 1. Grundlagen des Testens 3 Grundlagen des Testens Motivation erfüllt

Mehr

Basiswissen Softwaretest

Basiswissen Softwaretest Andreas Spillner Tilo Linz Basiswissen Softwaretest Aus- und Weiterbildung zum Certified Tester Foundation Level nach ISTQB-Standard 3., überarbeitete und aktualisierte Auflage I Technische l'^vrau«! D~w.-iE*arit

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr

IT-Governance und Social, Mobile und Cloud Computing: Ein Management Framework... Bachelorarbeit

IT-Governance und Social, Mobile und Cloud Computing: Ein Management Framework... Bachelorarbeit IT-Governance und Social, Mobile und Cloud Computing: Ein Management Framework... Bachelorarbeit zur Erlangung des akademischen Grades Bachelor of Science (B.Sc.) im Studiengang Wirtschaftswissenschaft

Mehr

Softwaretechnikpraktikum SS 2004. Qualitätsmanagement I. 1. Überblick. Qualität. Qualitätsmerkmal

Softwaretechnikpraktikum SS 2004. Qualitätsmanagement I. 1. Überblick. Qualität. Qualitätsmerkmal Softwaretechnikpraktikum SS 2004 Qualitätsmanagement I 5. Vorlesung 1. Überblick Planungsphase Definitionsphase Entwurfsphase Implem.- phase Fragen Was ist Qualität? Wie kann man Qualität messen? Wie kann

Mehr

Systematisches Testen von Software

Systematisches Testen von Software Programmierung Systematisches Testen von Software Markus Eckstein Systematika Information Systems GmbH Kurfürsten-Anlage 36 69115 Heidelberg markus.eckstein@systematika.com Zusammenfassung Die wichtigsten

Mehr

SWE12 Übungen Software-Engineering

SWE12 Übungen Software-Engineering 1 Übungen Software-Engineering Software-Qualitätssicherung / Software-Qualitätsmanagement 2 Aufgabe 1 Ordnen Sie die folgenden Zitate dem entsprechenden Ansatz zum Qualitätsbegriff zu und begründen Sie

Mehr

Software- Qualitätsmanagement

Software- Qualitätsmanagement Software- Qualitätsmanagement Thomas Kugel Brandenburg, den 10.12.2002 Agenda Einleitung Was heißt Softwarequalitätssicherung und Test Die Rolle von Test und QS in Softwareprojekten Wie wird getestet Statische

Mehr

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper) Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10 Technische Informationen (White Paper) Inhaltsverzeichnis 1. Über dieses Dokument... 3 2. Überblick... 3 3. Upgrade Verfahren... 4

Mehr

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 16.04.2013

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 16.04.2013 Software Komponenten FS13 Gruppe 03 Horw, 16.04.2013 Bontekoe Christian Estermann Michael Moor Simon Rohrer Felix Autoren Bontekoe Christian Studiengang Informatiker (Berufsbegleitend) Estermann Michael

Mehr

Übungsklausur vom 7. Dez. 2007

Übungsklausur vom 7. Dez. 2007 Übungsklausur vom 7. Dez. 2007 Ein Lösungsmuster Teilbereiche der Softwaretechnik Software Anforderungen Software Entwurf Software Konstruktion Software Test Software Wartung Software Konfigurationsmanagement

Mehr

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009 Testen von Software Systemen Übung 02 SS 2009 Version: 1.0 09.06.2009 Komponententest Kunde: Dr. Reinhold Plösch Dr. Johannes Sametinger Kundenreferenz: 259.019 Team 19 Mitarbeiter: Christian Märzinger

Mehr

6 Produktqualität Systeme: Integrationstest [sehr stark gekürzt]

6 Produktqualität Systeme: Integrationstest [sehr stark gekürzt] 1 Software-Qualitätssicherung 2 Integrationsstrategien big bang 6 Produktqualität Systeme: Integrationstest [sehr stark gekürzt] nicht-inkrementell geschäftsprozeßorientiert Prof. Dr. Helmut Balzert Lehrstuhl

Mehr

.. für Ihre Business-Lösung

.. für Ihre Business-Lösung .. für Ihre Business-Lösung Ist Ihre Informatik fit für die Zukunft? Flexibilität Das wirtschaftliche Umfeld ist stärker den je im Umbruch (z.b. Stichwort: Globalisierung). Daraus resultierenden Anforderungen,

Mehr

Systemen im Wandel. Autor: Dr. Gerd Frenzen Coromell GmbH Seite 1 von 5

Systemen im Wandel. Autor: Dr. Gerd Frenzen Coromell GmbH Seite 1 von 5 Das Management von Informations- Systemen im Wandel Die Informations-Technologie (IT) war lange Zeit ausschließlich ein Hilfsmittel, um Arbeitsabläufe zu vereinfachen und Personal einzusparen. Sie hat

Mehr

Programmiertechnik II

Programmiertechnik II Modultests Ziele Überprüfung der Korrektheit eines Moduls Korrektheit: Übereinstimmung mit (informaler) Spezifikation Modul: kleine testbare Einheit (Funktion, Klasse) Engl.: unit test White box testing

Mehr

Data Mining-Projekte

Data Mining-Projekte Data Mining-Projekte Data Mining-Projekte Data Mining stellt normalerweise kein ei nmaliges Projekt dar, welches Erkenntnisse liefert, die dann nur einmal verwendet werden, sondern es soll gewöhnlich ein

Mehr

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin Fragestellungen: Warum reicht das Lastenheft nicht aus? Was kann ich mit dem Lastenheft machen? Was unterscheidet das Pflichtenheft vom Lastenheft? Was gehört zum Auftragsumfang einer Individualsoftware?

Mehr

SEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299

SEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 SEPA Lastschriften Ergänzung zur Dokumentation vom 27.01.2014 Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 www.workshop-software.de Verfasser: SK info@workshop-software.de

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung Projektmanagement Vorlesung von Thomas Patzelt 9. Vorlesung 1 Pläne Kein Plan überlebt die erste Feindberührung - Feldmarschall Helmuth von Moltke Prognosen sind schwierig, besonders wenn sie die Zukunft

Mehr

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich

Mehr

Mean Time Between Failures (MTBF)

Mean Time Between Failures (MTBF) Mean Time Between Failures (MTBF) Hintergrundinformation zur MTBF Was steht hier? Die Mean Time Between Failure (MTBF) ist ein statistischer Mittelwert für den störungsfreien Betrieb eines elektronischen

Mehr

Validierung und Verifikation!

Validierung und Verifikation! Martin Glinz Thomas Fritz Software Engineering Kapitel 7 Validierung und Verifikation 2005-2013 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Maintenance & Re-Zertifizierung

Maintenance & Re-Zertifizierung Zertifizierung nach Technischen Richtlinien Maintenance & Re-Zertifizierung Version 1.2 vom 15.06.2009 Bundesamt für Sicherheit in der Informationstechnik Postfach 20 03 63 53133 Bonn Tel.: +49 22899 9582-0

Mehr

Qualitätssicherungskonzept

Qualitätssicherungskonzept Softwaretechnikpraktikum Gruppe: swp15.aae SS 2015 Betreuer: Prof. Gräbe Datum: 15.06.2015 Tutor: Klemens Schölhorn Qualitätssicherungskonzept Projektteam: Felix Albroscheit Dorian Dahms Paul Eisenhuth

Mehr

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Softwaretechnik I Wintersemester 2015 / 2016 www.ias.uni-stuttgart.de/st1 st1@ias.uni-stuttgart.de

Mehr

Standard Inhaltsverzeichnis für Testvorschrift

Standard Inhaltsverzeichnis für Testvorschrift Standard Inhaltsverzeichnis für Testvorschrift Inhaltsverzeichnis 1. Zweck, Veranlassung... 1 2. Allgemeines... 1 2.1 Zweck der Testvorschrift... 1 2.2 Freigabe und Änderungen... 1 2.3 Prinzipien... 2

Mehr

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16 Probeklausur Lenz Belzner January 26, 2015 Lenz Belzner Probeklausur January 26, 2015 1 / 16 Definieren Sie Software Engineering in Abgrenzung zu Individual Programming. Ingenieursdisziplin professionelle

Mehr

Qualitätsmanagement. Grundlagen

Qualitätsmanagement. Grundlagen Grundlagen Historie: Mit industriellen Massenproduktion erforderlich geworden (Automobilindustrie, Anfang des letzten Jahrhunderts); Qualitätsmanagement zunächst nur in der Fertigung Mitte des letzten

Mehr

Testen im Software- Entwicklungsprozess

Testen im Software- Entwicklungsprozess Technologie-Event 2006 Testen im Software- Entwicklungsprozess W.Lukas, INGTES AG Was nicht getestet wurde, funktioniert nicht. -- R.Güdel (ca. 1998) Seite 2 Was sollen wir tun? Anomalien & Defekte von

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

Senior Consulting. Senior Consulting Strategical, Conceptual and Technical Consulting. 30.01.2011 Seite 1

Senior Consulting. Senior Consulting Strategical, Conceptual and Technical Consulting. 30.01.2011 Seite 1 30.01.2011 Seite 1 This flyer is exclusively for the use of client personnel. No part of it may be distributed, quoted or reproduced outside the client organisation without the prior written approval of

Mehr

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing.

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing. www.egiz.gv.at E-Mail: post@egiz.gv.at Telefon: ++43 (316) 873 5514 Fax: ++43 (316) 873 5520 Inffeldgasse 16a / 8010 Graz / Austria Beschreibung und Bedienungsanleitung Werkzeug für verschlüsselte bpks

Mehr

Testautomatisierung. Lessons Learned. qme Software. Gustav-Meyer-Allee 25 13355 Berlin. Telefon 030/46307-230 Telefax 030/46307-649

Testautomatisierung. Lessons Learned. qme Software. Gustav-Meyer-Allee 25 13355 Berlin. Telefon 030/46307-230 Telefax 030/46307-649 Testautomatisierung Lessons Learned qme Software GmbH Gustav-Meyer-Allee 25 13355 Berlin Telefon 030/46307-230 Telefax 030/46307-649 E-Mail qme Software info@qme-software.de GmbH Testautomatisierung Lessons

Mehr

Testphase. Das Testen

Testphase. Das Testen Testphase VIS Projekt Freie Universität Berlin N.Ardet - 17.4.2001 Das Testen Testen ist das Ausführen eines Software- (Teil)systems in einer definierten Umgebung und das Vergleichen der erzielten mit

Mehr

Analyse zum Thema: Laufzeit von Support-Leistungen für ausgewählte Server OS

Analyse zum Thema: Laufzeit von Support-Leistungen für ausgewählte Server OS Analyse zum Thema: Laufzeit von Support-Leistungen für Axel Oppermann Advisor phone: +49 561 506975-24 mobile: +49 151 223 223 00 axel.oppermann@experton-group.com Januar 2010 Inhalt Summary und Key Findings

Mehr

Bachelor Prüfungsleistung

Bachelor Prüfungsleistung FakultätWirtschaftswissenschaftenLehrstuhlfürWirtschaftsinformatik,insb.Systementwicklung Bachelor Prüfungsleistung Sommersemester2008 EinführungindieWirtschaftsinformatik immodul GrundlagenderWirtschaftswissenschaften

Mehr

Fragebogen ISONORM 9241/110-S

Fragebogen ISONORM 9241/110-S Fragebogen ISONORM 9241/110-S Beurteilung von Software auf Grundlage der Internationalen Ergonomie-Norm DIN EN ISO 9241-110 von Prof. Dr. Jochen Prümper www.seikumu.de Fragebogen ISONORM 9241/110-S Seite

Mehr

Kompetenz. rund um. Ihren. Entwicklungsprozess. Über uns. Technische Software. Modellbasierter Test. Prüfplätze. Automatisierung.

Kompetenz. rund um. Ihren. Entwicklungsprozess. Über uns. Technische Software. Modellbasierter Test. Prüfplätze. Automatisierung. Kompetenz rund um Ihren Entwicklungsprozess Modellieren für den Test - Segen oder Fluch? Firmenpräsentation auf der embeddedworld 2010 Dipl. Ing. (Univ) Gerhard Baier Bereichsleiter Marketing und Vertrieb

Mehr

Testen Prinzipien und Methoden

Testen Prinzipien und Methoden Testen Prinzipien und Methoden ALP 2 SS2002 4.7.2002 Natalie Ardet Definition Im folgenden gilt: Software = Programm + Daten + Dokumentation Motivation Software wird immer mehr in Bereichen eingesetzt,

Mehr

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007 Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Mehr

Barrierefreie Webseiten erstellen mit TYPO3

Barrierefreie Webseiten erstellen mit TYPO3 Barrierefreie Webseiten erstellen mit TYPO3 Alternativtexte Für jedes Nicht-Text-Element ist ein äquivalenter Text bereitzustellen. Dies gilt insbesondere für Bilder. In der Liste der HTML 4-Attribute

Mehr

UpToNet Workflow Workflow-Designer und WebClient Anwendung

UpToNet Workflow Workflow-Designer und WebClient Anwendung UpToNet Workflow Workflow-Designer und WebClient Anwendung Grafische Erstellung im Workflow-Designer 1 Grafische Erstellung im Workflow-Designer Bilden Sie Ihre Arbeitsvorgänge im Workflow-Designer von

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Klausur Software-Engineering SS 2005 Iwanowski 23.08.2005

Klausur Software-Engineering SS 2005 Iwanowski 23.08.2005 Klausur Software-Engineering SS 2005 Iwanowski 23.08.2005 Hinweise: Bearbeitungszeit: 90 Minuten Erlaubte Hilfsmittel: im Anhang, sonst keine Bitte notieren Sie Ihre Antworten ausschließlich auf dem Aufgabenblatt!

Mehr

DISKUSSIONSBEITRÄGE DER FAKULTÄT FÜR BETRIEBSWIRTSCHAFTSLEHRE MERCATOR SCHOOL OF MANAGEMENT UNIVERSITÄT DUISBURG-ESSEN. Nr. 374

DISKUSSIONSBEITRÄGE DER FAKULTÄT FÜR BETRIEBSWIRTSCHAFTSLEHRE MERCATOR SCHOOL OF MANAGEMENT UNIVERSITÄT DUISBURG-ESSEN. Nr. 374 DISKUSSIONSBEITRÄGE DER FAKULTÄT FÜR BETRIEBSWIRTSCHAFTSLEHRE MERCATOR SCHOOL OF MANAGEMENT UNIVERSITÄT DUISBURG-ESSEN Nr. 374 Eignung von Verfahren der Mustererkennung im Process Mining Sabrina Kohne

Mehr

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Auch wenn die Messungsmethoden ähnlich sind, ist das Ziel beider Systeme jedoch ein anderes. Gwenolé NEXER g.nexer@hearin gp

Mehr

Checkliste zur qualitativen Nutzenbewertung

Checkliste zur qualitativen Nutzenbewertung Checkliste zur qualitativen Nutzenbewertung Herausgeber Pentadoc Consulting AG Messeturm Friedrich-Ebert-Anlage 49 60308 Frankfurt am Main Tel +49 (0)69 509 56-54 07 Fax +49 (0)69 509 56-55 73 E-Mail info@pentadoc.com

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

white sheep GmbH Unternehmensberatung Schnittstellen Framework

white sheep GmbH Unternehmensberatung Schnittstellen Framework Schnittstellen Framework Mit dem Schnittstellen Framework können Sie einerseits Ihre Schnittstellen automatisch überwachen. Eine manuelle Kontrolle wird überflüssig, da das Schnittstellen Framework ihre

Mehr

Qualitätssicherung (Testen) im Application Life Cycle

Qualitätssicherung (Testen) im Application Life Cycle Qualitätssicherung (Testen) im Application Life Cycle Metriken im Test Michael Wagner Triton Unternehmensberatung GmbH www.triton.at www.tritonqs.at Copyright by Triton Technologie Consulting GmbH, all

Mehr

Skript Pilotphase em@w für Arbeitsgelegenheiten

Skript Pilotphase em@w für Arbeitsgelegenheiten Die Pilotphase erstreckte sich über sechs Meilensteine im Zeitraum August 2011 bis zur EMAW- Folgeversion 2.06 im August 2013. Zunächst einmal musste ein grundsätzliches Verständnis für das Verfahren geschaffen

Mehr

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität Marcus Winteroll oose GmbH Agenda I. Ziele und Zusammenarbeit II. Was wir vom agilen Vorgehen lernen

Mehr

Lösung Fall 8 Anspruch des L auf Lieferung von 3.000 Panini á 2,-

Lösung Fall 8 Anspruch des L auf Lieferung von 3.000 Panini á 2,- Lösung Fall 8 Anspruch des L auf Lieferung von 3.000 Panini á 2,- L könnte gegen G einen Anspruch auf Lieferung von 3.000 Panini á 2,- gem. 433 I BGB haben. Voraussetzung dafür ist, dass G und L einen

Mehr

Studie über Umfassendes Qualitätsmanagement ( TQM ) und Verbindung zum EFQM Excellence Modell

Studie über Umfassendes Qualitätsmanagement ( TQM ) und Verbindung zum EFQM Excellence Modell Studie über Umfassendes Qualitätsmanagement ( TQM ) und Verbindung zum EFQM Excellence Modell (Auszug) Im Rahmen des EU-Projekts AnaFact wurde diese Umfrage von Frauenhofer IAO im Frühjahr 1999 ausgewählten

Mehr

Wann ist eine Software in Medizinprodukte- Aufbereitungsabteilungen ein Medizinprodukt?

Wann ist eine Software in Medizinprodukte- Aufbereitungsabteilungen ein Medizinprodukt? DGSV-Kongress 2009 Wann ist eine Software in Medizinprodukte- Aufbereitungsabteilungen ein Medizinprodukt? Sybille Andrée Betriebswirtin für und Sozialmanagement (FH-SRH) Prokuristin HSD Händschke Software

Mehr

Wissenschaftlicher Bericht

Wissenschaftlicher Bericht Ein Auszug aus... Wissenschaftlicher Bericht Augmented Reality als Medium strategischer medialer Kommunikation Die komplette Studie ist bei amazon.de käuflich zu erwerben. Inhaltsverzeichnis 1 Einführung

Mehr

Fragebogen: Abschlussbefragung

Fragebogen: Abschlussbefragung Fragebogen: Abschlussbefragung Vielen Dank, dass Sie die Ameise - Schulung durchgeführt haben. Abschließend möchten wir Ihnen noch einige Fragen zu Ihrer subjektiven Einschätzung unseres Simulationssystems,

Mehr

Patch-Management. Leibniz-Akademie Hannover Wirtschaftsinformatik B. Sc. Praxisreflexion im Bereich Management im SS 2011

Patch-Management. Leibniz-Akademie Hannover Wirtschaftsinformatik B. Sc. Praxisreflexion im Bereich Management im SS 2011 Leibniz-Akademie Hannover Wirtschaftsinformatik B. Sc. Praxisreflexion im Bereich Management im SS 2011 Patch-Management Thomas Beer Abgabedatum: 28.03.2011 Anmerkung: Diese Wissenschaftliche Arbeit ist

Mehr

PRÜFMODUL D UND CD. 1 Zweck. 2 Durchführung. 2.1 Allgemeines. 2.2 Antrag

PRÜFMODUL D UND CD. 1 Zweck. 2 Durchführung. 2.1 Allgemeines. 2.2 Antrag 1 Zweck PRÜFMODUL D UND CD Diese Anweisung dient als Basis für unsere Kunden zur Information des Ablaufes der folgenden EG-Prüfung nach folgenden Prüfmodulen: D CD Es beschreibt die Aufgabe der benannten

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung. StuPro-Seminar Dokumentation in der Software-Wartung StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung Folie 1/xx Software-Wartung: theoretisch Ausgangslage eigentlich simpel: fertige

Mehr

Anforderungen an die HIS

Anforderungen an die HIS Anforderungen an die HIS Zusammengefasst aus den auf IBM Software basierenden Identity Management Projekten in NRW Michael Uebel uebel@de.ibm.com Anforderung 1 IBM Software Group / Tivoli Ein Feld zum

Mehr

Muster-Angebotsinformation

Muster-Angebotsinformation Muster-Angebotsinformation Einsatzanalyse SAP Berechtigungs-Management & Compliance 3-Tages Proof-of-Concept Seite 1 Inhalt 1 Management Summary... 3 1.1 Technische Rahmenbedingungen... 3 1.2 Ziele der

Mehr

Peter Liggesmeyer. Software-Qualität. Testen, Analysieren und Verifizieren von Software. 2. Auflage. Spektrum k-/l AKADEMISCHER VERLAG

Peter Liggesmeyer. Software-Qualität. Testen, Analysieren und Verifizieren von Software. 2. Auflage. Spektrum k-/l AKADEMISCHER VERLAG Peter Liggesmeyer Software-Qualität Testen, Analysieren und Verifizieren von Software 2. Auflage Spektrum k-/l AKADEMISCHER VERLAG 1 Inhaltsverzeichnis 1 Einführung 1 1.1 Motivation 2 1.2 Terminologie

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Einsatz automatischer Testdatengenerierung im modellbasierten Test

Einsatz automatischer Testdatengenerierung im modellbasierten Test Einsatz automatischer Testdatengenerierung im modellbasierten Test Sadegh Sadeghipour sadegh.sadeghipour@itpower.de Gustav-Meyer-Allee 25 / Gebäude 12 13355 Berlin www.itpower.de Modellbasierte Software-Entwicklung

Mehr

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert.

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert. Usability Heuristiken Karima Tefifha Proseminar: "Software Engineering Kernkonzepte: Usability" 28.06.2012 Prof. Dr. Kurt Schneider Leibniz Universität Hannover Die ProSeminar-Ausarbeitung beschäftigt

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

VB.net Programmierung und Beispielprogramm für GSV

VB.net Programmierung und Beispielprogramm für GSV VB.net Programmierung und Beispielprogramm für GSV Dokumentation Stand vom 26.05.2011 Tel +49 (0)3302 78620 60, Fax +49 (0)3302 78620 69, info@me-systeme.de, www.me-systeme.de 1 Inhaltsverzeichnis Vorwort...2

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Softwarequalität: Einführung. 15. April 2015

Softwarequalität: Einführung. 15. April 2015 Softwarequalität: Einführung 15. April 2015 Überblick Warum ist Softwarequalität wichtig? Was ist Softwarequalität? Wie erreicht man Softwarequalität? Taentzer Softwarequalität 2015 8 Berühmte Software-Fehler

Mehr

Data Mining: Einige Grundlagen aus der Stochastik

Data Mining: Einige Grundlagen aus der Stochastik Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener

Mehr

Lastenheft. Inhaltsverzeichnis. Gruppe: swp09-5. Projektleiterin: Anne Vogler am: 28. April 2009. 1 Zielbestimmungen 2. 2 Produkteinsatz 2

Lastenheft. Inhaltsverzeichnis. Gruppe: swp09-5. Projektleiterin: Anne Vogler am: 28. April 2009. 1 Zielbestimmungen 2. 2 Produkteinsatz 2 Lastenheft Inhaltsverzeichnis 1 Zielbestimmungen 2 2 Produkteinsatz 2 3 Produktübersicht 3 4 Produktfunktionen 4 4.1 Muss-Funktionen................................. 4 4.1.1 Benutzerfunktionen...........................

Mehr

Realisierung der Anbindung an den Handelsplatz Koeln.de Leitfaden zur Projektplanung bei Lieferanten

Realisierung der Anbindung an den Handelsplatz Koeln.de Leitfaden zur Projektplanung bei Lieferanten Handelsplatz Köln.de Leitfaden zur Projektplanung bei en Realisierung der Anbindung an den Handelsplatz Koeln.de Leitfaden zur Projektplanung bei en Autor: Christoph Winkelhage Status: Version 1.0 Datum:

Mehr

Some Software Engineering Principles

Some Software Engineering Principles David L. Parnas: Some Software Engineering Principles Marco Oppel 30.06.2004 Seminar Software-Architektur Institut für Informatik Humboldt Universität zu Berlin 1 Problemstellung Software Engineering Multi-Personen

Mehr

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist Feintypisierung - Überblick Ergebnisse Ergebnisse aus aus anderen anderen Arbeitsergebnissen Arbeitsergebnissen Replikationsplan Replikationsplan

Mehr

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT SWT II Projekt Chat - Anwendung Pflichtenheft 2000 SWT i Versionen Datum Version Beschreibung Autor 3.11.2000 1.0 erste Version Dietmar Matthes ii Inhaltsverzeichnis 1. ZWECK... 1 1.1. RAHMEN... 1 1.2.

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Qualität von Software - Prof. Schlingloff, Lackner - SS2013 DYNAMISCHER TEST. Whitebox Testen mit JUnit

Qualität von Software - Prof. Schlingloff, Lackner - SS2013 DYNAMISCHER TEST. Whitebox Testen mit JUnit 1 DYNAMISCHER TEST Whitebox Testen mit JUnit Übersicht 2 1. Grundlagen des Unittests 1. Units 2. Unit Testing 2. Testverfahren 1. Blackbox 2. Whitebox 3. Unit Testing mit Eclipse 4. Besprechung der Übungsaufgabe

Mehr