Software-Engineering 2. Software-Engineering 2. Softwarequalität und Softwaretest. IT works. Klaus Mairon

Größe: px
Ab Seite anzeigen:

Download "Software-Engineering 2. Software-Engineering 2. Softwarequalität und Softwaretest. IT works. Klaus Mairon www.mairon-online.de 22.03."

Transkript

1 Software-Engineering 2 Softwarequalität und Softwaretest IT works. Klaus Mairon

2 Agenda Grundlagen des Softwaretestens Motivation Wichtige Begriffe Psychologie und Prinzipien des Testens Testprozess Testen im Software-Lebenszyklus Allgemeines V-Modell Teststufen Testarten Dynamischer Softwaretest Blackbox-Verfahren Whitebox-Verfahren Klaus Mairon

3 Folgen von Programmierfehlern 1962 führte ein fehlender Bindestrich in einem Fortran-Programm zum Verlust der Venus-Sonde Mariner verpasste die NASA-Sonde Mars Climate Orbiter den Landeanflug auf den Mars, weil die Programmierer das falsche Maßsystem verwendeten Pfund x Sekunde statt Newton x Sekunde. Die NASA verlor dadurch die Sonde. Zum Jahreswechsel 1999 / 2000 kam es in vielen Programmen zum Jahr-2000 Problem. (Jahreszahl zweistellig: 1900 oder 2000 nicht mehr eindeutig) Auch in unserer Software gibt es Fehler: Teamtrack-Meldungen bei der Metris: 3319 im Projekt SKS, 2483 im Projekt MPSS... Klaus Mairon

4 Wozu überhaupt Softwaretests durchführen? Wäre es nicht viel einfacher und billiger, bei der Softwareentwicklung Fehler zu vermeiden? Es gibt doch eine gründliche Analyse- und Designphase im Projekt. Man muss sauber und nach Spezifikation entwickeln, dann macht man kaum Fehler. Und wenn es doch Fehler gibt, findet die der Entwickler doch selber viel schneller. Klaus Mairon

5 Wichtige Begriffe Testen = Der Prozess, bestehend aus allen Aktivitäten des Lebenszyklus, der sich sowohl statisch als auch dynamisch, mit der Planung, Vorbereitung und Bewertung eines Software-Produkts und in Beziehung stehender Arbeitsergebnisse befasst, um sicherzustellen, dass sie die festgelegten Anforderungen erfüllt, zu zeigen, dass sie ihren Zweck erfüllt, um Fehler zu finden. Klaus Mairon

6 Wichtige Begriffe Debuggen oder Testen? Debugging ist konstruktiv Fehlerursache lokalisieren Fehlerursache analysieren Fehlerursache entfernen Funktion im Laufversuch überprüfen Testen ist destruktiv Fehlverhalten provozieren Fehlverhalten reproduzieren Fehler lokalisieren Fehler dokumentieren Testen ist aber konstruktiv für das Management von Produktrisiken! Klaus Mairon

7 Wichtige Begriffe Fehler (engl. Bug) = die Nichterfüllung einer festgelegten Anforderung. Eine Abweichung zwischen dem Istverhalten und dem Sollverhalten laut Spezifikation oder Anforderung. Oberbegriff für: Fehlhandlung, (engl. error, mistake) Fehlerzustand (engl. Fault, bug) Fehlerwirkung (engl. failure) Klaus Mairon

8 Wichtige Begriffe Mangel (engl. defect) = die Nichterfüllung einer festgelegten Anforderung in Bezug auf einen beabsichtigten oder festgelegten Gebrauch. Ein Mangel liegt vor, wenn eine gestellte Anforderung oder berechtigte Erwartung nicht angemessen erfüllt wird. Klaus Mairon

9 Wichtige Begriffe Fehlermaskierung (engl. defect masking) = Ein Umstand bei der ein Fehlerzustand die Aufdeckung eines anderen Fehlzustands verhindert. Ein vorhandener Fehlerzustand wird durch einen oder mehrere andere Fehlerzustände in anderen Teilen des Testobjekts kompensiert, sodass dieser Fehlerzustand keine Fehlerwirkung hervorruft. Klaus Mairon

10 Wichtige Begriffe Softwarequalität = Die Gesamtheit der Merkmale und Merkmalswerte eines Softwareprodukts, die sich auf dessen Eignung beziehen, festgelegte oder vorausgesetzte Erfordernisse zu erfüllen. Merkmale sind: Funktionalität, aber auch Zuverlässigkeit Benutzbarkeit Effizienz Änderbarkeit (auch Wartbarkeit) Übertragbarkeit (auch Portabilität) Klaus Mairon

11 Psychologie des Testens Menschen machen Fehler, aber sie geben es nur ungern zu. Der Bote schlechter Nachrichten sollte... Entwicklertest? Kontruktives + destruktives Denken ist fast unmöglich. Blindheit gegenüber eigenen Fehlern. Vorteil: keine Einarbeitung Unabhängiges Testteam Schärfere Tests, anderes Hintergrundwissen und Unvoreingenommenheit findet andere Fehler. Beurteilung der Qualität kann zu Vertrauen in die Software führen. Liefert Informationen für Entscheidungen, z.b. die Empfehlung für oder gegen eine Auslieferung der Software. Klaus Mairon

12 Prinzipien des Softwaretestens 1) Testen zeigt die Anwesenheit von Fehlern. 2) Vollständiges Testen ist nicht möglich. 3) Mit dem Testen frühzeitig beginnen. 4) Häufung von Fehlern. 5) Zunehmende Testresistenz. 6) Testen ist abhängig vom Umfeld. 7) Trugschluss: Keine Fehler zu finden bedeutet ein brauchbares System zu haben. Klaus Mairon

13 Fundamentaler Testprozess Beginn Planung und Steuerung Analyse und Design Realisierung & Durchführung Auswertung und Bericht Abschluss Testkonzept, Teststrategie, Testziele, Überwachen der Testergebnisse, Risiken Logische Testfälle, Infrastruktur, Werkzeuge Konkrete Testfälle, Szenarien, Testdaten, Orakel für Sollwerte, Fehlermeldungen und Nachtest Testende, Bericht an Entscheidungsträger Reflektion, Archivieren von Testmitteln und Testumgebung Ende Klaus Mairon

14 Agenda Grundlagen des Softwaretestens Motivation Wichtige Begriffe Psychologie und Prinzipien des Testens Testprozess Testen im Software-Lebenszyklus Allgemeines V-Modell Teststufen Testarten Dynamischer Softwaretest Blackbox-Verfahren Whitebox-Verfahren Klaus Mairon

15 Allgemeines V-Modell Abnahmetest Funktionaler Systementwurf Systemtest Technischer Systementwurf Integrationstest Anforderungsdefinition Komponentenspezifikation Komponententest Implementierung Klaus Mairon

16 Komponententest Schwerpunkt: Funktionaler Test, Robustheit (ungültige Werte), Performanz Vorbedingungen Fertig übersetztes Testobjekt Testbett/Testumgebung (Testtreiber, Stubs,...), Entwicklungswerkzeuge Spezifikation zum Testobjekt Typische Techniken Whitebox (Code-Abdeckung) Blackbox (Äquivalenzklassen, Grenzwertanalyse...) Gefundene Fehler Funktionale Fehler innerhalb der Komponente Laufzeitfehler, (lokale) Performanz-Probleme, Robustheit Nicht gefundene Fehler Schnittstellenprobleme Probleme im Gesamtbild, viele nicht-funktionale Fehler Klaus Mairon

17 Integrationstest Schwerpunkt: Schnittstellen, Funktionalität über mehrere Module Vorbedingungen Erfolgreich integriertes SUT (System Under Test) Testbett/Testumgebung Dokumentation über Zusammenspiel der Komponenten Typische Techniken Whitebox (interne Schnittstellen) Blackbox (z.b. Äquivalenzklassen) Gefundene Fehler Fehler in Schnittstellen, fehlerhafte Interaktionen zwischen Komponenten Nicht gefundene Fehler Probleme außerhalb der betroffenen Komponenten Anforderungen an das Gesamtsystem ggf. nicht erfüllt, Schnittstellen externer Systeme werden oft nicht berücksichtigt Klaus Mairon

18 Systemtest Schwerpunkt: Systemanforderungen, Funktionalität des Gesamtsystems, nicht-funktionale Anforderungen Vorbedingungen Vorangegangene Teststufen erfolgreich abgeschlossen vollständig integriertes System, Dokumentation bezüglich Systemanforderungen Typische Techniken Funktionaler und nicht-funktionaler Test Blackbox-Techniken Gefundene Fehler Funktionale und nicht-funktionale Fehler, konzeptionelle Fehler Probleme des Gesamtsystems Nicht gefundene Fehler Missverständnisse bezüglich der User-Anforderungen, unzureichende oder fehlende Umsetzung impliziter Anforderungen Klaus Mairon

19 Abnahmetest Test unter Beteiligung der Anwender des Systems und auch ggf. anderer Stakeholder Test gegen die expliziten Anforderungen und impliziten Erwartungen des Auftraggebers, die dem allgemeinen Stand der Technik entsprechen Systemtest aus Sicht des Auftraggebers Ziel: Vertrauen in das System, Teilsystem oder z.b. in nicht-funktionale Eigenschaften des Systems gewinnen. Das Finden von Fehlern ist nicht Hauptziel des Abnahmetests. Nicht notwendigerweise die letzte Teststufe: Wenn System Teil eines größeren Gesamtsystems ist, kann ein umfangreicher Systemintegrationstest folgen Auch die Durchführung von Teil-Abnahmetests in niedrigeren Teststufen kann sinnvoll sein Klaus Mairon

20 Teststufen und Testfokus: Idealbild und Realität Idealbild Realität Abnahmetest Systemtest Integrationstest Komponententest Implementierung Interne Funktionalität Sicherheit Externe Funktionalität Robustheit Effizienz Debugging Benutzerakzeptanz Klaus Mairon

21 Testarten Definition: Eine Testart ist eine Gruppe von Testaktivitäten, die gemeinsam ausgeführt und verwaltet werden, mit dem Ziel der Überprüfung einer Komponente und eines Systems auf einige zusammenhängende Qualitätsmerkmale. Eine Testart kann sich auf bestimmte Testziele beziehen, wie z.b. Zuverlässigkeitstest, Regressionstest, Benutzbarkeitstest Die Testart kann sich auch auf eine oder mehrere Teststufen beziehen. Die vier Testarten (Synonym: Testtypen) Funktionaler Software-Test (z.b. Selbstbehaltberechnung bei einer Versicherung) Nicht-funktionaler Software-Test (z.b. Lasttest) Struktureller Software-Test (z.b. Zweigüberdeckung) Änderungsbezogener Software-Test (z.b. Regressionstest) Klaus Mairon

22 Empfehlungen Teststufen müssen je nach Projekt oder Systemarchitektur unterschiedlich gebildet, miteinander kombiniert oder neu organisiert werden. Testaktivitäten sollten nicht am Ende sondern parallel zum Software-Entwicklungsprozess durchgeführt werden. Testentwurf (Analyse & Design) für eine Teststufe sollte bereits während der korrespondierenden Entwicklungsstufe beginnen. Tipp Tester sollten frühzeitig an Reviews von Entwicklungsdokumenten beteiligt werden, sobald Entwürfe vorhanden sind. Entwickler sollten bei Reviews von Testfällen beteiligt sein, um Hinweise für weitere Tests geben zu können. Klaus Mairon

23 Zusammenfassung Tests müssen destruktiv sein und systematisch durchgeführt werden, um wirksam und effizient zu sein Frühes Testen senkt Kosten Tests können helfen, die Qualität von Software zu beurteilen sowie Vertrauen in eine Software zu gewinnen Design for Testability : Berücksichtigung der Testbarkeit bei Design & Architektur der Anwendung Testen ist eine zentrale, wiederkehrende Aktivität über die gesamte Projektdauer Tests werden nach dem allgemeinen V-Modell auf 4 Teststufen durchgeführt, die sich auf spezifische Testziele/Testthemen konzentrieren. Teststufen sind dabei korrespondierenden Entwicklungsstufen zugeordnet Klaus Mairon

24 Agenda Grundlagen des Softwaretestens Motivation Wichtige Begriffe Psychologie und Prinzipien des Testens Testprozess Testen im Software-Lebenszyklus Allgemeines V-Modell Teststufen Testarten Dynamischer Softwaretest Blackbox-Verfahren Whitebox-Verfahren Klaus Mairon

25 Statischer Test vs. Dynamischer Test Statischer Test = Test ohne Ausführung Die Ergebnisse des Softwareentwicklungsprozesses werden ge review ed (Quellcode, Konzepte, Spezifikationen,...) statisch analysiert (Quellcode, ausführbare Modelle,...) Einhaltung von Programmierrichtlinien und Standards Kontrollflussanalyse (z.b. Aufrufhierarchie, toter Code) Datenflussanalyse (z.b. Referenzierung uninitialisierter Variablen) Komplexitätsanalyse (z.b. Zyklomatische Komplexität nach McCabe) Finden von Fehlerzuständen (Innerer Fehler, z.b. Radmutter sitzt locker) Grundidee: Prävention, d.h. Fehler so früh wie möglich finden, bevor es im weiteren Entwicklungsverlauf zu aufwändigen Nach- und Verbesserungen kommt! Klaus Mairon

26 Statischer Test vs. Dynamischer Test Dynamischer Test = Test mit Ausführung Die Ergebnisse des Softwareentwicklungsprozesses werden ausgeführt und ihre Funktionalitäten gegen ihre Spezifikationen geprüft. Finden von Fehlerwirkungen (Äußerer Fehler, z.b. Rad geht ab) Ziel: Nachweis der Erfüllung der festgelegten Anforderungen und Aufdeckung von eventuellen Abweichungen und Fehlerwirkungen. Systematische Erstellung von Testfällen durch: Blackbox-Verfahren Whitebox-Verfahren Klaus Mairon

27 Statischer Test vs. Dynamischer Test Statischer Test Dynamischer Test Dokumente und Code Keine Ausführung Syntax, Semantik, Logik Sollte vor dem dynamischen Test durchgeführt werden Nur Code Ausführung nötig Struktur, Funktion Benötigt ausführbaren Code Prüfung von Aspekten, die nur zur Laufzeit prüfbar sind (z.b. Performanz) Klaus Mairon

28 Blackbox-Verfahren Was sind Blackbox-Tests? Auf Anforderungen basierende Tests. Vollständiger Test prüft alle Kombinationen von gültigen und ungültigen Eingabewerten. Benötigte Dokumente: Anforderungsspezifikation, Benutzerdokumentation, Schnittstellenbeschreibung. Point of Control (PoC) und Point of Observation (PoO) sind außerhalb des Testobjekts. Klaus Mairon

29 Blackbox-Verfahren oder spezifikationsorientierte Verfahren Äquivalenzklassenbildung Grenzwertanalyse Entscheidungstabelle Zustandsbasierter Test Anwendungsfallbasierter Test (Use-Case) Weitere Verfahren... (Syntaxtest, Zufallstest, Smoke-Test...) Klaus Mairon

30 Äquivalenzklassenbildung Mit der Äquivalenzklassenmethode erfolgt die strukturierte Herleitung von Testfällen. Die Äquivalenzklassenbildung kann in allen Teststufen angewandt werden. Sie kann als Verfahren eingesetzt werden, um hohe Überdeckungsgrade im Bezug auf Eingabe- oder Ausgabewerte zu erreichen. Ziel ist es, eine hohe Fehlerentdeckungsrate mit einer möglichst geringen Anzahl von benötigten Testfällen zu erreichen. Eine Äquivalenzklasse entspricht einer bestimmten Wirkung. (-> logischer Testfall). Klaus Mairon

31 Äquivalenzklassenbildung Schritte zur Äquivalenzklassenbildung Basisklassen ermitteln, für Eingabe und Ausgabe Klassen verfeinern Repräsentanten auswählen Beispiel: Numerische Darstellung eines Monats (Wertebereich) Äquivalenzklassen Eingabe Gültig Ungültig Monat >= 1 und <1 oder <= 12 >12 Testeingabedaten G U U U (G = Gültig, U = Ungültig) Klaus Mairon

32 Grenzwertanalyse Ergänzt die Äquivalenzklassenbildung Baut auf der Tatsache auf, dass Fehler oft an den Grenzen von Wertebereichen auftreten (ug= untere Grenze, og = obere Grenze) Testet, zusätzlich zu den normalen Werten, auch Werte auf oder nahe den Grenzen von Äquivalenzklassen. Beachtet implizit gültige und ungültige Werte. Unterstützt bei der Findung von Werten für konkrete Testfälle. Kann auf allen Teststufen angewandt werden. Klaus Mairon

33 Grenzwertanalyse Die Grenzwerte zweier benachbarter sortierter Bereiche sind: Der größte Wert des unteren Bereichs. Der kleinste Wert des oberen Bereichs. Als Testeingabedaten werden gewählt. Die Grenzwerte einer Äquivalenzklasse Jeweils die 2 benachbarten Werte jedes Grenzwertes, sofern die Werte nicht bereits von anderen Testfällen abgedeckt sind. Grenzwertanalyse ist nur sinnvoll auf sortierten Mengen Klaus Mairon

34 Grenzwertanalyse - Beispiel Numerische Darstellung eines Monats (Wertebereich) Äquivalenzklassen Eingabe Ungültig1 Gültig Ungültig2 Monat <1 >= 1 und <= 12 >12 Grenzwerte <ug-1><ug><ug+1> <og-1><og><og+1> -I I---I---I---I I----I----I I- Min Max Grenzwert-Testeingabedaten U1 U1 G G U2 U2 Min, Min+1-1, 0 1, 2 11, 12 13, 14 Max-1, Max Klaus Mairon

35 Entscheidungstabellentest Entscheidungstabellen können zur Erfassung komplexer von einem System umzusetzenden Regeln verwendet werden. (DIN-Norm 66241) Entscheidungstabellen eignen sich zur Spezifikation von komplexen logischen Regeln. Eine vollständige Abdeckung von Bedingungen wird erreicht. Entscheidungstabellen sind geeignet, um Testfälle zu entwerfen. Üblicherweise mindestens 1 Testfall pro Spalte bzw. Bedingungskombination. Klaus Mairon

36 Entscheidungstabellentest Die vier Quadranten einer Entscheidungstabelle Bedingungen Mögliche Zustände von Objekten Bedingungen Regeln (J/N) Regeln Kombinationen von Bedingungswerten. Aktionen Aktionsanzeiger (x) Aktionen Aktivitäten, die abhängig von den Regeln auszuführen sind. Aktionszeiger Belegung der Bedingungen mit Aktionen. Klaus Mairon

37 Entscheidungstabellentest - Beispiel Beispiel Krankenbesuch Besuchsmöglichkeiten Bedingungen Regeln R 1 R 2 R 3 R 4 R 5 R 6 R 7 R 8 B 1 Ansteckende Krankheiten (J/N) B 2 Besuch innerhalb Besuchszeit (J/N) J J J J J N J N N J N J N N N N B 3 Patient hat Fieber (J/N) J N J N J N J N Aktionen Aktionszeiger Z 1 Z 2 Z 3 Z 4 Z 5 Z 6 Z 7 Z 8 A 1 Besuch max. 30 Minuten X X A 2 Besuch ablehnen X X X X A 3 Besuch nur mit Schwester X X A 4 Normalbesuch X Zu Beginn: 8 Testfälle, B n 2 n Klaus Mairon

38 Entscheidungstabellentest - Beispiel Beispiel Krankenbesuch Besuchsmöglichkeiten Bedingungen Regeln R 1 R 5 R 6 R 7 R 8 B 1 Ansteckende Krankheiten (J/N) J N N N N B 2 Besuch innerhalb Besuchszeit (J/N) -- J J N N B 3 Patient hat Fieber (J/N) -- J N J N Aktionen Aktionszeiger Z 1 Z 5 Z 6 Z 7 Z 8 A 1 Besuch max. 30 Minuten A 2 Besuch ablehnen X X X A 3 Besuch nur mit Schwester X X A 4 Normalbesuch X Nach Konsolidierung: 5 Testfälle Klaus Mairon

39 Blackbox-Verfahren Wann wendet man Blackbox-Verfahren an? Blackbox-Testverfahren Im ganzen Lebenszyklus, aber verstärkt in späten Phasen, d.h. im System- und Abnahmetest, wo der Fokus auf Spezifikationen und Anforderungen liegt. Klaus Mairon

40 Grenzen der Blackbox-Verfahren Testfälle basieren auf Spezifikationen (Verifikation) Spezifikationsfehler werden durch Testen nicht gefunden (aber evtl. bei der Testfallerstellung) Blackbox-Testfälle können keine zusätzlichen Funktionalitäten testen, die in der Spezifikation nicht beschrieben sind. Wechselwirkungen zwischen Eingabe, Ausgabe und dem internen Zustand des Testobjekts werden nur implizit bedacht. Tipp Die Kenntnis der Programmstrukturen sowie die Verfügbarkeit geeigneter Testschnittstellen kann helfen, solche Wechselwirkungen und Abhängigkeiten besser zu erfassen und dadurch intensiver prüfen zu können. Klaus Mairon

41 Blackbox-Verfahren: Zusammenfassung Blackbox-Verfahren definieren Testfälle, insbesondere für funktionale Tests. Testfälle und Testdaten werden aus der (nicht-) funktionalen Spezifikation abgeleitet, ohne die (Programm-) Struktur auszuwerten. Da nachgewiesen werden muss, dass die Software korrekt funktioniert, müssen Blackbox-Tests immer durchgeführt werden. Blackbox-Verfahren können auf allen Teststufen eingesetzt werden, vorzugsweise auf den höheren Teststufen (Systemtest, Abnahmetest) Spezifikationsfehler werden nicht gefunden, aber eventuell bei der Testfallerstellung Benutzersicht (-> Entwicklersicht ) Klaus Mairon

42 Whitebox-Verfahren Was sind Whitebox-Tests? Strukturelle oder Design-orientierte Tests Nutzen der Kenntnis der Programmstruktur: Programm = white box Nutzen des Kontrollflussgraphen Entwicklersicht Welcher bzw. wie viel Code einer Software-Komponente wurde bereits getestet? Ein kompletter Test besteht aus allen möglichen Pfaden durch das Programm (100% Pfadüberdeckung) Aufgabe des Testers besteht nun darin, Testfälle zu ermitteln, welche die angestrebte Überdeckung erreichen Benötigte Dokumente: Quellcode, Designdokumentation Point of Control (PoC) und Point of Observation (PoO) sind innerhalb des Testobjekts. Klaus Mairon

43 Whitebox-Verfahren Whitebox-Verfahren auf verschiedenen Teststufen Komponententest: Die Struktur ist die des Codes selbst, also Anweisungen, Entscheidungen oder Zweige. Integrationstest: Die Struktur kann z.b. ein Aufruf-Baum sein (ein Diagramm, das zeigt, welche Module ein anderes Modul aufrufen), dokumentiert in der Designspezifikation Systemtest: Die Struktur kann z.b. die Menüstruktur sein, Geschäftsprozesse oder die Struktur einer Website, dokumentiert in der Anforderungspezifikation Klaus Mairon

44 Whitebox-Verfahren Abdeckungsmaße: Anweisungsüberdeckung Zweigüberdeckung (Entscheidungsüberdeckung) Bedingungsüberdeckung Einfache Bedingungsüberdeckung Mehrfachbedingungsüberdeckung Pfadüberdeckung Weitere Whitebox-Verfahren Das Konzept der Überdeckungsgrade kann auch auf andere Teststufen übertragen werden (z.b. Integrationstest), wobei der durch eine Testsuite ausgeführte prozentuale Anteil einer Einheit jeweils entsprechend bezeichnet wird: Komponenten-Überdeckung Klassen-Überdeckung... Klaus Mairon

45 Whitebox-Verfahren: Anweisungsüberdeckung Anweisungsüberdeckung (C 0 ) Ziel: Alle Anweisungen im Testobjekt werden mindestens einmal ausgeführt. Vorteil: Einfach zu messendes Kriterium Nachteile: Leere Zweige müssen nicht betreten werden Kontrollfluss wird nicht berücksichtigt Abhängigkeiten zwischen Daten werden nicht berücksichtigt Fazit: Zu schwaches Kriterium! Klaus Mairon

46 Whitebox-Verfahren: Zweigüberdeckung Zweigüberdeckung (C 1 ) Alle Zweige in der Komponente werden mindestens einmal ausgeführt, d.h. alle Entscheidungen müssen mindestens einmal mit Wahr und einmal mit Falsch ausgewertet werden. Ist die Messung des prozentualen Ausgangs eines Entscheidungsausgangs (z.b. wahr und falsch bei einer if-anweisung), welche durch die Testfälle ausgeführt wurden. Um eine hohe Zweigüberdeckung zu erreichen, leitet man Testfälle so ab, dass bestimmte Zweige (Entscheidungsausgang) durchlaufen werden. Klaus Mairon

47 Whitebox-Verfahren: Zweigüberdeckung Zweigüberdeckung (C 1 ) Der Zweigüberdeckungstest ist eine Form des kontrollflussbasierten Tests, da er einen speziellen Kontrollfluss durch die Entscheidungspunkte erzeugt. Die Zweigüberdeckung wird oft auch als Entscheidungsüberdeckung bezeichnet. Vorteil: Einfach zu messendes Kriterium Nachteile: Schleifen müssen nur einmal durchlaufen werden Komplexe Bedingungen werden nicht berücksichtigt Subsumiert Anweisungsüberdeckung: 100% C1 = 100% C0 Fazit: Minimales Kriterium! Klaus Mairon

48 Whitebox-Verfahren: Beispiel für C 0 und C 1 Beispiel: Berechnung der Schaltjahre (Anzahl der Schaltjahre) Klaus Mairon

49 Whitebox-Verfahren: Einfache Bedingungsüberdeckung Einfache Bedingungsüberdeckung (C 2 ) Alle atomaren (Teil-)Bedingungen müssen jeweils mindestens einmal true und einmal false sein. Beispiel: if ( kundennr 5000 prodnr 1000 ) -> 2 Testfälle reichen aus: 1) kundennr = 5000, prodnr = ) kundennr = 4999, prodnr = 1001 Nachteil: Kombinationen von Wahrheitswerten atomarer Teilbedingungen werden nicht berücksichtigt -> schwaches Kriterium! Fazit: C2 ist nicht unbedingt ein umfassenderes Kriterium als C1 Klaus Mairon

50 Whitebox-Verfahren: Mehrfachbedingungsüberdeckung Mehrfachbedingungsüberdeckung (C 3 ) Alle Kombinationen von Wahrheitswerten atomarer (Teil-)Bedingungen müssen berücksichtigt werden. Alle möglichen Kombinationen müssen durchlaufen werden. Beispiel: if ( kundennr 5000 prodnr 1000 ) -> 2 x 2 Testfälle sind notwendig: 1) kundennr = 5000, prodnr = ) kundennr = 4999, prodnr = ) kundennr = 5000, prodnr = ) kundennr = 4999, prodnr = 1000 Klaus Mairon

51 Whitebox-Verfahren: Mehrfachbedingungsüberdeckung Mehrfachbedingungsüberdeckung (C 3 ) Nachteile: Anzahl der möglichen Kombinationen steigt exponentiell mit der Anzahl der atomaren Bedingungen -> sehr aufwendig Oft können nicht alle möglichen Kombinationen mit Testdaten erreicht werden. Subsumiert die vorherigen Überdeckungen: 100% C3 = 100% C2 = 100% C1 = 100% C0 Fazit: C3 ist ein umfassenderes Kriterium als C2 Klaus Mairon

52 Whitebox-Verfahren: Pfadüberdeckung Pfadüberdeckung (C 4 ) Alle möglichen disjunkten Pfade durch ein Programm müssen mindestens einmal durchlaufen werden. Vorteil: Abhängigkeiten zwischen Zweigen und Schleifen werden berücksichtigt Nachteile: Für nichttriviale Programme ist es unmöglich, 100% Pfadüberdeckung zu erreichen! Bei Code mit Schleifen ist die Pfadlänge generell nicht beschränkt! In objektorientierten Sprachen gibt es eine theoretisch unendlich große Zahl von Subtypen durch Vererbung. Subsumiert Anweisungs- und Zweigüberdeckung: 100% C4 = 100% C1 = 100% C0 Fazit: Unpraktikabel wegen potentiell unendlich langen Pfaden Klaus Mairon

53 Instrumentierung und Werkzeugunterstützung Whitebox-Tests erfordern eine Auswertung: Welche Teile des Programms wurden ausgeführt? Welche wurden (noch) nicht ausgeführt? Instrumentieren: Der Quellcode wird um Zähler erweitert, die mit 0 initialisiert und dann beim Durchlauf an den entsprechenden Stellen inkrementiert werden. Die manuelle Instrumentierung und manuelle Berechnung der Abdeckung sind zeitaufwändig und fehleranfällig Klaus Mairon

54 Instrumentierung und Werkzeugunterstützung Somit ist eine Werkzeugunterstützung obligatorisch: Werkzeuge sparen langfristig Geld, steigern die Effizienz und Produktivität und damit auch indirekt die Qualität des Testobjekts. Bekannte Open-Source Werkzeuge im Java-Umfeld: EMMA Cobertura Klaus Mairon

55 Wann wendet man Whitebox-Verfahren an? Hauptsächlich in Entwicklungsphasen, in denen das Hauptaugenmerk auf der internen Struktur eines Programms bzw. einer Komponente liegt. Hauptsächlich beim Komponenten-/Modultest Integrationstest Hier betrachtet man im Allgemeinen die Abdeckung des Aufrufgraphen statt der Abdeckung bzgl. einer der oben aufgeführten Abdeckungskriterien Tipp Prinzipiell für alle Teststufen möglich (Definition eines geeigneten Abdeckungskriteriums entscheidend) Klaus Mairon

56 Wie wendet man Whitebox-Verfahren an? Durchführung des Whitebox-Tests Instrumentiere zu untersuchenden Code Führe die ermittelten (funktionalen) Blackbox-Testfälle aus Ermittle die erreichte Überdeckung Ggf. neue Testfälle entwerfen, wenn erwartete Abdeckung nicht erreicht wird Tipp Prinzipiell ist es auch möglich, für den Whitebox- Test rein strukturelle Testfälle zu erzeugen (d.h. ohne Berücksichtigung der Funktionalität, von Anwendungsfällen, etc.) Dies wird jedoch in der Fachwelt als weniger wirkungsvoll angesehen Es ist sinnvoller, erst bei der Ergänzung der bereits existierenden Blackbox-Testfälle strukturelle Aspekte zu berücksichtigen Klaus Mairon

57 Grenzen der Whitebox-Verfahren Anforderungen, die übersehen und damit nicht implementiert wurden, können mit Whitebox-Tests nicht gefunden werden (ggf. indirekt ). Falsche und fehlende Anforderungen können mit Whitebox-Tests nicht gefunden werden. Whitebox-Tests decken nur implementierte Anforderungen ab! Tipp Klaus Mairon

58 Zusammenfassung Whitebox-Verfahren überprüfen die Programmstruktur. Basierend auf Quellcode. Nicht realisierte Anforderungen können nicht aufgedeckt werden. Eine Werkzeugunterstützung ist obligatorisch. Whitebox-Verfahren werden hauptsächlich auf den niedrigeren Teststufen (Komponententest, Integrationstest) angewendet. Entwicklersicht (vs. Benutzersicht ) Klaus Mairon

59 Vielen Dank für Ihre Aufmerksamkeit. Haben Sie noch Fragen? Kontakt Klaus Mairon Executive IT-Consultant Claims Management Metris GmbH Tel Industriestraße 5 Fax St. Georgen Deutschland IT works. Klaus Mairon

Systemen - Dynamischer Test

Systemen - Dynamischer Test P r a k t I s c h e Testen von Software-Systemen Systemen - Dynamischer Test 2007 Dr. Klaudia Dussa-Zieger Testen von Software-Systemen SS 2007 (1) Inhalt Testfallentwurfsverfahren Festlegen von Testkriterien

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

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

Software Engineering. 9. Testen

Software Engineering. 9. Testen Software Engineering 9. Testen Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz Testen Konfigurationsmanagement

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

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

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

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

Leitfaden API. Testing und Debugging. Erstellt am 4.9.2014 Autor FG API, Rinaldo Lanza. Dokumentenstatus Freigegeben at work Version 1.

Leitfaden API. Testing und Debugging. Erstellt am 4.9.2014 Autor FG API, Rinaldo Lanza. Dokumentenstatus Freigegeben at work Version 1. Leitfaden API Erstellt am 4.9.2014 Autor FG API, Rinaldo Lanza Dokumentenstatus Freigegeben at work Version 1.0 Verteiler Fachgruppe API Änderungen Datum Version Autor Inhaltsverzeichnis 1 Beschreibung

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

Software Testen 2.0 VL

Software Testen 2.0 VL Software Testen 2.0 VL Software Testen VO2 2009W http://www.inso.tuwien.ac.at/lectures/software_testen INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische

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

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

Test-Strategien. Grundsätzliches Blackbox-Testen Whitebox-Testen Graybox-Testen Ablauf von Tests Zusammenfassung. HS Mannheim

Test-Strategien. Grundsätzliches Blackbox-Testen Whitebox-Testen Graybox-Testen Ablauf von Tests Zusammenfassung. HS Mannheim Test- Grundsätzliches - - - Ablauf von Tests Grundsätzliche Test- -Tests Äquivalenzklassenbildung Randwertanalyse -Tests Man unterscheidet verschiedene Überdeckungsgrade: Statement Coverage Decision Coverage,

Mehr

Softwaretechnik 1 Tutorium

Softwaretechnik 1 Tutorium Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Softwaretechnik 1 Tutorium 06. Juli 2009 Matthias Thoma (s_thoma@ira.uka.de) Heute Übungsblatt Nr. 4 + Übungsblatt Nr. 5 Softwarequalität

Mehr

Software - Testung ETIS SS05

Software - Testung ETIS SS05 Software - Testung ETIS SS05 Gliederung Motivation Was ist gute Software? Vorurteile gegenüber Testen Testen (Guidelines + Prinzipien) Testarten Unit Tests Automatisierte Tests Anforderungen an Testframeworks

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

ISTQB Certified Tester Foundation Level Exam Übungsprüfung

ISTQB Certified Tester Foundation Level Exam Übungsprüfung BEMERKUG: Bitte nur eine Antwort auf jede Frage 1. Die statische Analyse kann höchstwahrscheinlich ICHT finden: (A) Die Verwendung einer Variablen bevor diese definiert wurde. (B) Unerreichbaren ( toten

Mehr

Systematische Testfallableitung und Tests durchführen

Systematische Testfallableitung und Tests durchführen Systematische Testfallableitung und Tests durchführen Testen Bereich Kontrolle Aktivität Interne Qualitätssicherung durchführen (Verifikation) Ziele Tests werden systematisch und zielgerichtet erstellt

Mehr

Foundation Level Probeprüfung Syllabus Version 2011 Version 2012-B

Foundation Level Probeprüfung Syllabus Version 2011 Version 2012-B ISTQB Certified Tester Foundation Level Probeprüfung International Software Testing Qualifications Board Frau Herr Vorname: Nachname: Privatadresse: Telefon: E-Mail: Geburtsdatum: Heimatort / Geburtsland

Mehr

Praxiswissen Softwaretest Test Analyst und Technical Test Analyst

Praxiswissen Softwaretest Test Analyst und Technical Test Analyst Graham Bath Judy McKay Praxiswissen Softwaretest Test Analyst und Technical Test Analyst Aus- und Weiterbildung zum Certified Tester - Advanced Level nach ISTQB-Standard 2., durchgesehene Auflage 2011

Mehr

Basiswissen Softwaretest

Basiswissen Softwaretest Basiswissen Softwaretest Vergleich der Vorlesung Software-Engineering Wartung und Qualitätssicherung (Stand WS13/14) mit der 4. überarbeiteten und aktualisierten Auflage von Spillner&Linz: Basiswissen

Mehr

Man schaut in den Kasten hinein Die innere Struktur (das "Wie") des Programms wird zur Überprüfung hinzugezogen

Man schaut in den Kasten hinein Die innere Struktur (das Wie) des Programms wird zur Überprüfung hinzugezogen 6. Test und Integration White-Box-Test Alternative Begriffe: Glas-Box-Test, Strukturtest Man schaut in den Kasten hinein Die innere Struktur (das "Wie") des Programms wird zur Überprüfung hinzugezogen

Mehr

Techniken im Software-Test

Techniken im Software-Test Techniken im Software-Test München, 4. Juli 2000 Heiko Lötzbeyer Institut für Informatik Lehrstuhl für Technische Universität München Inhalt Ziele des Software Tests Überblick Teststufen Unit-Test Integrationstest

Mehr

Foundation Level PRACTICE EXAM CTFL Syllabus Version 2011 deutschsprachig V.1.0.1 ISTQB Glossar V.2.2 CTFL Practice Exam Version 2014A

Foundation Level PRACTICE EXAM CTFL Syllabus Version 2011 deutschsprachig V.1.0.1 ISTQB Glossar V.2.2 CTFL Practice Exam Version 2014A Familienname, Vorname: Firmenadresse: Telefon: Fax : E-Mail-Adresse: Rechnungsadresse: Schulungsunternehmen: Referent: Foundation Level CTFL Syllabus Version 2011 deutschsprachig V.1.0.1 ISTQB Glossar

Mehr

3: Systematisches Testen

3: Systematisches Testen Stefan Lucks 3: Systematisches Testen 70 E für Sichere Vert. Systeme (2007) 3: Systematisches Testen Testen ist ein Prozess, ein Programm mit der Absicht auszuführen, Fehler zu finden. Man muss destruktiv

Mehr

Systemen - Testprozess. Testprozess. Testprozess: Aktivitäten. Testplanung und Teststeuerung. Testplanung und Teststeuerung

Systemen - Testprozess. Testprozess. Testprozess: Aktivitäten. Testplanung und Teststeuerung. Testplanung und Teststeuerung 2007 Dr. Klaudia Dussa-Zieger P r a k t I s c h e Testprozess - Inhalt Testprozess Testen von Software-Systemen Systemen - Testprozess Lehrplan 2003 Testplanung Testausführung ierung Testendebewertung

Mehr

Systemen - Testprozess. Testprozess. Testprozess: Aktivitäten. Testplanung und Teststeuerung. Lehrplan 2003 Testplanung

Systemen - Testprozess. Testprozess. Testprozess: Aktivitäten. Testplanung und Teststeuerung. Lehrplan 2003 Testplanung P r a k t I s c h e Testprozess - Inhalt Testprozess Testen von Software-Systemen Systemen - Testprozess Lehrplan 2003 Testplanung Testausführung ierung Testendebewertung Testberichterstattung Lehrplan

Mehr

Testmanagement in IT-Projekten

Testmanagement in IT-Projekten Teil 1: Projektmagazin 05/20009 Teil 2: Projektmagazin 06/2009 1 Test: Prozess, bei dem ein Programm oder ein Software-System ausgeführt wird, um Fehler zu finden Teil 1: Projektmagazin 05/20009 Teil 2:

Mehr

Software Engineering und Projektmanagement 2.0 VO

Software Engineering und Projektmanagement 2.0 VO Software Engineering und Projektmanagement 2.0 VO Der Therac-25 Fall Prominentes Literaturbeispiel zum Versagen des Tests Strahlentherapiegerät für die Krebstherapie SW-Fehler verursachte Überbestrahlung:

Mehr

Teststrategie festlegen und Teststufen aufeinander abstimmen

Teststrategie festlegen und Teststufen aufeinander abstimmen Testen Teststrategie festlegen und Teststufen aufeinander abstimmen Bereich Projektplanung und -steuerung Aktivität Projekt planen Ziele Effiziente Testausführung Vermeidung von doppelter Arbeit schnell

Mehr

Testen von Software. Dr. Stefan Hanenberg Universität Duisburg-Essen. Universität Osnabrück, 17.11.2006. 1. Motivation und grundlegende Eigenschaften

Testen von Software. Dr. Stefan Hanenberg Universität Duisburg-Essen. Universität Osnabrück, 17.11.2006. 1. Motivation und grundlegende Eigenschaften University of Duisburg Essen (Germany) Institute for Computer Science and Business Information Systems Testen von Software Dr. Stefan Hanenberg Universität Duisburg-Essen Universität Osnabrück, 17.11.2006

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

Software-Engineering

Software-Engineering SWE8 Slide 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 8: Qualitätsmanagement SWE8 Slide 2 Qualitätsmanagement Qualitätskriterium: Korrektheit Korrektheit bedeutet: Übereinstimmung zwischen

Mehr

Software Engineering Testen von Software (1)

Software Engineering Testen von Software (1) Software Engineering Testen von Software (1) Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik Hochschule Kaiserslautern, Standort Zweibrücken 1 Qualitätssicherung (engl.:

Mehr

Software Engineering II (IB) Testen von Software / Modultests

Software Engineering II (IB) Testen von Software / Modultests Testen von Software / Modultests Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München SS 2015 Programm-Tests Tests sollen zeigen, dass ein Programm das tut was es tun soll sowie

Mehr

T3 Testen im Software- Lebenszyklus

T3 Testen im Software- Lebenszyklus T3 Testen im Siemens AG Österreich 2005 All Rights Reserved Institut f. Software Technology, TU-Graz Armin Beer, PSE Support-Center Test AK- 2 1 AK- Definition Test der einzelnen implementierten Komponenten

Mehr

Funktionale Testverfahren. Black Box-Tests. Unsystematisches Testen. Unsystematisches Testen (2) Überblick:

Funktionale Testverfahren. Black Box-Tests. Unsystematisches Testen. Unsystematisches Testen (2) Überblick: Funktionale Testverfahren Überblick: Programmstruktur hat keinen Einfluss auf Testfälle Funktionale Testverfahren Black Box-Tests 155 Testfälle werden aus der Spezifikation abgeleitet hat das Programm

Mehr

1 Einleitung...1. Teil I Handwerkszeug...11. 2 Definitionen zur Qualität...13

1 Einleitung...1. Teil I Handwerkszeug...11. 2 Definitionen zur Qualität...13 Inhaltverzeichnis 1 Einleitung...1 1.1 Wieso dieses Buch?...1 1.2 Wem nutzt dieses Buch wie?...2 1.3 Wie ist dieses Buch zu lesen?...3 1.4 Welche Testwerkzeuge werden genannt?...5 1.5 Was liefert dieses

Mehr

6 Systematisches Testen von Programmen

6 Systematisches Testen von Programmen 6 Systematisches Testen von Programmen Testen Untersuchung des Source-Codes nach Fehlern und Anomalien Stefan Lucks, Software-Entwicklung für Sichere Systeme SS 04, Kapitel 6 p.1/24 Untersuchung des Source-Codes

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

Software-Test: Funktionstest

Software-Test: Funktionstest Software-Test: Funktionstest Andreas Zeller Lehrstuhl für Softwaretechnik Universität des Saarlandes, Saarbrücken 2006-02-06 Funktionale Testverfahren Funktionale Testverfahren testen gegen die Spezifikation

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

Systematische Software-Qualität mittels einer durchgängigen Analyse- und Teststrategie

Systematische Software-Qualität mittels einer durchgängigen Analyse- und Teststrategie Insert picture and click Align Title Graphic. Systematische Software-Qualität mittels einer durchgängigen Analyse- und Teststrategie Dr. Dieter Lederer, Geschäftsführer Vector Consulting Services GmbH

Mehr

Vector Software. Test Automation mit VectorCAST während der gesamten Softwareentwicklung W H I T E P A P E R

Vector Software. Test Automation mit VectorCAST während der gesamten Softwareentwicklung W H I T E P A P E R Vector Software W H I T E P A P E R Test Automation mit VectorCAST während der gesamten Softwareentwicklung VectorCAST Produktfamilie Die VectorCAST Produktfamilie automatisiert Testaktivitäten über den

Mehr

Inhalt. 1 Einführungsveranstaltung. 2 Qualität kompakt

Inhalt. 1 Einführungsveranstaltung. 2 Qualität kompakt Inhalt 1 Einführungsveranstaltung 1.1 Ziel der Veranstaltung Warum Qualität? Inhalt der Veranstaltung 1.2 Formaler Ablauf der Veranstaltung 1.3 Übungs- und Gruppeneinteilung 1.4 Bewertungskriterien mittels

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

Software Testen 2.0 VL

Software Testen 2.0 VL Software Testen 2.0 VL Software Testen VO3 2009W http://www.inso.tuwien.ac.at/lectures/software_testen INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische

Mehr

Thema: Testen von objektorientierter Software

Thema: Testen von objektorientierter Software Seminar Simulation und Bildanalyse mit Java Thema: Testen von objektorientierter Software Uta Dienst 1. Teil: Einführung in den Software-Test 2. Teil: JUnit-Einführung Uta Dienst 17.11.2003 2 1. Teil:

Mehr

8.1 Qualität und Qualitätssicherung 8.2 Softwaretest 8.3 Black-Box Testen 8.4 Zusammenfassung. H. Lichter, RWTH Aachen - 1 -

8.1 Qualität und Qualitätssicherung 8.2 Softwaretest 8.3 Black-Box Testen 8.4 Zusammenfassung. H. Lichter, RWTH Aachen - 1 - 8.1 Qualität und Qualitätssicherung 8.2 Softwaretest 8.3 Black-Box Testen 8.4 Zusammenfassung H. Lichter, RWTH Aachen - 1 - 8.1 Qualität und Qualitätssicherung 8.1 Qualität und Qualitätssicherung Der Qualitätsbegriff

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

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

Softwarequalitätssicherung

Softwarequalitätssicherung Softwarequalitätssicherung Dipl. Inf. Andrea Meyer Medieninformatik (Bachelor), Wahlpflichtmodul: Softwareprojekt II, Dipl. Inf. Andrea Meyer Warum Softwarequalitätssicherung? 2 Fatale Softwarefehler Ariane

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

Testen II. (Management, Tools) Daniela Rose. Software Engineering Projekt WS07/08 Fachgebiet Softwaretechnik und Systemgestaltung

Testen II. (Management, Tools) Daniela Rose. Software Engineering Projekt WS07/08 Fachgebiet Softwaretechnik und Systemgestaltung Testen II (Management, Tools) Daniela Rose Fachgebiet Softwaretechnik und Systemgestaltung 12.12.2007 Gliederung 1. Motivation 2. Der grundlegende Testprozess 3. Testen im Softwareentwicklungsprozess 4.

Mehr

Universität Paderborn Die Universität der Informationsgesellschaft. Validierung und Verifikation (inkl. Testen, Model-Checking, Theorem Proving)

Universität Paderborn Die Universität der Informationsgesellschaft. Validierung und Verifikation (inkl. Testen, Model-Checking, Theorem Proving) Universität Paderborn Die Universität der Informationsgesellschaft Analyse, Entwurf und Implementierung zuverlässiger Software und (inkl., Model-Checking, Theorem Proving) Torsten Bresser torbre@uni-paderborn.de

Mehr

Praxiswissen Softwaretest Test Analyst und Technical Test Analyst

Praxiswissen Softwaretest Test Analyst und Technical Test Analyst isql-reihe Praxiswissen Softwaretest Test Analyst und Technical Test Analyst Aus- und Weiterbildung zum Certified Tester Advanced Level nach ISTQB-Standard von Graham Bath, Judy McKay 2., durchgesehene

Mehr

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Jens Kohlmeyer 05. März 2007 Institut für Programmiermethodik und Compilerbau ActiveCharts Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Seite 2 Übersicht

Mehr

FOM Hochschule für Ökonomie und Management Essen. IT-Management. Seminararbeit im Modul Software-Engineering, IT-Projekt- und Qualitätsmanagement

FOM Hochschule für Ökonomie und Management Essen. IT-Management. Seminararbeit im Modul Software-Engineering, IT-Projekt- und Qualitätsmanagement FOM Hochschule für Ökonomie und Management Essen IT-Management Seminararbeit im Modul Software-Engineering, IT-Projekt- und Qualitätsmanagement Dynamische Testverfahren: Ein Vergleich zwischen White- und

Mehr

Lehrplan: SW- Qualitätssicherung

Lehrplan: SW- Qualitätssicherung Lehrplan: SW- Qualitätssicherung Tobias Brückmann Volker Gruhn Gliederung 1 Grundlagen und Kontext im SW- Prozess 1.1 Ursachen und Risiken von SW- Fehlern 1.2 KlassifikaGon von Fehlern 1.3 Begriffe (Qualität,

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

SQS TEST (THEORIE) SS14. Testfragenausarbeitung bis SS14

SQS TEST (THEORIE) SS14. Testfragenausarbeitung bis SS14 SQS TEST (THEORIE) SS14 Testfragenausarbeitung bis SS14 Anmerkungen Diese Ausarbeitung beruht auf der Sammlung der bisherigen Testfragen vom VoWi stand Mai. 2014. Herzlichen Dank an meine Vorarbeiter.

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

Software Tests (1) Unabhängige ngige Tests

Software Tests (1) Unabhängige ngige Tests Software Tests (1) Unabhängige ngige Tests Was ist? Was ist Software Qualität? DIN ISO 9126: Software-Qualität ist die Gesamtheit der Merkmale und Merkmalswerte eines Software-Produkts, die sich auf dessen

Mehr

Zusammenfassung V7 - Verifikation und Validierung

Zusammenfassung V7 - Verifikation und Validierung Zusammenfassung V7 - Verifikation und Validierung Zusätzlich aus SCR (=> Verständnis) Verifikation: Sicherstellung, dass Ergebnisse einer Phase des Projektes mit der vorangegangenen Phase konsistent sind

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

Inhalt. 1. Sprachspezifische Fehlerrisiken C++ Java. Smalltalk. 2. Coverage - Modelle. Statement Coverage. Branch Coverage

Inhalt. 1. Sprachspezifische Fehlerrisiken C++ Java. Smalltalk. 2. Coverage - Modelle. Statement Coverage. Branch Coverage Inhalt 1. Sprachspezifische Fehlerrisiken C++ Java Smalltalk 2. Coverage - Modelle Statement Coverage Branch Coverage Inkrementelles Testen von Klassen Testen Polymorpher Bindungen Optimistischer Ausblick

Mehr

Softwareentwicklungspraktikum Sommersemester 2007. Testdokumentation

Softwareentwicklungspraktikum Sommersemester 2007. Testdokumentation Softwareentwicklungspraktikum Sommersemester 2007 Testdokumentation Auftraggeber Technische Universität Braunschweig

Mehr

QADVICE. Forum 7-it. Software- und System-Qualitätssicherung für IT-Infrastrukturlösungen. Hermann Will 18.05.2010

QADVICE. Forum 7-it. Software- und System-Qualitätssicherung für IT-Infrastrukturlösungen. Hermann Will 18.05.2010 Forum 7-it Software- und System-Qualitätssicherung für IT-Infrastrukturlösungen Hermann Will 18.05.2010 18.05.2010 Copyright Hermann Will 2010 Folie 1 Agenda Einführung QS Testobjekte Teststrategie Testtechniken

Mehr

Softwarearchitekturen I Softwareentwicklung mit Komponenten

Softwarearchitekturen I Softwareentwicklung mit Komponenten Softwarearchitekturen I Softwareentwicklung mit Komponenten Detlef Streitferdt Technische Universität Ilmenau TU-Ilmenau, Softwaresysteme / Prozessinformatik, KBSE Softwarearchitekturen I 1 Beispiel: Bibliothekssystem

Mehr

7 Literaturverzeichnis

7 Literaturverzeichnis 7 Literaturverzeichnis 7.1 Literatur [1] Spillner, A./Linz, T. (2005): Basiswissen Softwaretest. dpunkt.verlag [2] Fajardo, J./Dustin, E. (2007): Testing SAP R/3. Wiley & Sons [3] Helfen, M./Lauer, M./Trauthwein,

Mehr

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

IT PROFESSION@LLY! SOFTWARE. Mag. Anja Kribernegg. Verlag Cyber Publishing E-Verlag GmbH

IT PROFESSION@LLY! SOFTWARE. Mag. Anja Kribernegg. Verlag Cyber Publishing E-Verlag GmbH SOFTWARE TEST IT PROFESSION@LLY! Ausbildung für zertifizierte Softwaretester Fondation und Füll Advanced Level nach ISTQBStandards (Testmanager, Testanalyst, Technischer Testanalyst) Mag. Anja Kribernegg

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

In der Entwicklung werden die Phasen Systementwurf, Projekten mit Funktionaler Sicherheit. Testen in TESTMETHODEN

In der Entwicklung werden die Phasen Systementwurf, Projekten mit Funktionaler Sicherheit. Testen in TESTMETHODEN MESSEN UND TESTENl AUTOMOTIVE 11.2011l43 TESTMETHODEN Testen in Projekten mit Funktionaler Sicherheit Die ISO 26262 beschreibt die Aktivitäten, Methoden und Maßnahmen zur Funktionalen Sicherheit für elektrische

Mehr

Gegenseitige Beeinflussungen von Testautomatisierung, Testmanagement und Entwicklung

Gegenseitige Beeinflussungen von Testautomatisierung, Testmanagement und Entwicklung Gegenseitige Beeinflussungen von Testautomatisierung, Testmanagement und Entwicklung Jan Düttmann Archimedon Software + Consulting GmbH & Co. KG Marienstraße 66 32427 Minden Stephan Kleuker Hochschule

Mehr

Teil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik

Teil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik Grundlagen der Programmierung 1 Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2 Softwaretechnik Prof. Dr. O. Drobnik Professur Architektur und Betrieb verteilter Systeme Institut für

Mehr

0/37. Software-Test. Andreas Zeller. Lehrstuhl Softwaretechnik Universität des Saarlandes, Saarbrücken

0/37. Software-Test. Andreas Zeller. Lehrstuhl Softwaretechnik Universität des Saarlandes, Saarbrücken 0/37 Software-est Andreas Zeller Lehrstuhl Softwaretechnik Universität des Saarlandes, Saarbrücken Qualitätssicherung 1/37 Wie stellt man sicher, dass die geforderte Qualität erreicht wird? Es genügt nicht,

Mehr

1. Grundbegriffe des Software-Engineering

1. Grundbegriffe des Software-Engineering 1. Grundbegriffe Software Engineering 1 1. Grundbegriffe des Software-Engineering Was ist Software-Engineering? (deutsch: Software-Technik) Teilgebiet der Informatik, das sich mit Methoden und Werkzeugen

Mehr

Unit Testing, SUnit & You

Unit Testing, SUnit & You HUMBOLDT-UNIVERSITÄT ZU BERLIN MENSCH-TECHNIK-INTERAKTION ARBEITSGRUPPE SOFTWARETECHNIK (INSTITUT FÜR INFORMATIK) ARBEITSGRUPPE INGENEURPSYCHOLOGIE (INSTITUT FÜR PSYCHOLOGIE) Unit Testing, SUnit & You

Mehr

Softwaretechnik 3. Klausurnachbesprechung. 09.05.2008, Phillip Ghadir

Softwaretechnik 3. Klausurnachbesprechung. 09.05.2008, Phillip Ghadir Softwaretechnik 3 Klausurnachbesprechung 09.05.2008, Phillip Ghadir Benotungsschema Fest vorgegeben Volle Punktzahl und Negativliste Positivliste Bestehen ab 40 Punkte Aufgabenarten Abfrage von auswendig

Mehr

Software Entwicklung 2. Softwaretest

Software Entwicklung 2. Softwaretest Software Entwicklung 2 Softwaretest Inhalt Testphasen Dynamischer Test Strukturelle, kontrollflussorientierte Verfahren Strukturelle, datenflussorientierte Verfahren Funktionsorientierter Test Literatur

Mehr

1.1 Basiswissen komprimiert... 4 1.2 Praxiswissen Testmanagement Übersicht... 8. 2 Testprozess und Testwerkzeuge 11

1.1 Basiswissen komprimiert... 4 1.2 Praxiswissen Testmanagement Übersicht... 8. 2 Testprozess und Testwerkzeuge 11 xi 1 Einleitung 1 1.1 Basiswissen komprimiert.......................... 4 1.2 Praxiswissen Testmanagement Übersicht.............. 8 2 Testprozess und Testwerkzeuge 11 2.1 Fundamentaler Testprozess.........................

Mehr

Automatisiertes Testen von Prüfplätzen

Automatisiertes Testen von Prüfplätzen EXCO. The Quality Company Solutions for Industry and R&D Automatisiertes Testen von Prüfplätzen Am Beispiel einer Prüfplatz-Software stellen wir einen toolgestützten Prozess zur Erstellung der erforderlichen

Mehr

Systemen - Teststufen

Systemen - Teststufen P r a k t I s c h e Testen von Software-Systemen Systemen - Teststufen 2007 Dr. Klaudia Dussa-Zieger Testen von Software-Systemen SS 2007 (1) Teststufen Teststufen Komponenten-/ Modultest Integration und

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

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

Umsichtig planen, robust bauen

Umsichtig planen, robust bauen Umsichtig planen, robust bauen iks Thementag Mehr Softwarequalität Best practices für alle Entwicklungsphasen 19.06.2012 Autor: Christoph Schmidt-Casdorff Agenda Softwarearchitektur Architekturkonformität

Mehr

Nichtfunktionaler Abnahmetest: Planung, Durchführung und Automatisierung

Nichtfunktionaler Abnahmetest: Planung, Durchführung und Automatisierung Nichtfunktionaler Abnahmetest: Planung, Durchführung und Automatisierung Uwe Hehn TAV Februar 2005 Hochschule Bremen Uwe.Hehn@methodpark.de Abnahmetest: Warum brauchen wir denn so etwas? Projektabnahme

Mehr

Testkonzept. Tipp-Star

Testkonzept. Tipp-Star Tipp-Star Version: V1.0-27.09.2015 Ablageort: Tipp-Star/01_Projektmanagement/03_Test Status: Fertig gestellt (In Bearbeitung / fertig gestellt / geprüft / freigegeben) Anzahl Seiten: 9 Autoren: tse Sergeyeva

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

Testmanagement bei SAP-Projekten

Testmanagement bei SAP-Projekten Testmanagement bei SAP-Projekten Erfolgreich Planen Steuern Reporten bei der Einführung von SAP-Banking von Alberto Vivenzio, Domenico Vivenzio 1. Auflage Springer Vieweg Wiesbaden 2012 Verlag C.H. Beck

Mehr

Stuttgarter Test-Tage 2011 Der Fluch des grünen Balkens in sehr großen Projekten

Stuttgarter Test-Tage 2011 Der Fluch des grünen Balkens in sehr großen Projekten main {GRUPPE} Seite 1 Jürgen Nicolai Geschäftsführender Gesellschafter Liebknechtstrasse 33 70178 Stuttgart Tel : 0711 2270225 Fax : 0711 2270497 Mail : j.nicolai@main-gruppe.de Web: www.health4j.de Stuttgarter

Mehr

Methoden des Software Engineering

Methoden des Software Engineering Vorlesung Methoden des Software Engineering Block F Test und Validierung F 1 Qualitätsmanagement und Software-Test Christian Prehofer Unter Verwendung von Materialien von Martin Wirsing Block F Test und

Mehr

Ist Qualität nachrüstbar? Testen, Dokumentation und Code Qualität von Anfang an

Ist Qualität nachrüstbar? Testen, Dokumentation und Code Qualität von Anfang an Ist Qualität nachrüstbar? Testen, Dokumentation und Code Qualität von Anfang an Was ist Qualität? Definition laut EN ISO 9000:2005 Qualität wird definiert als "Grad, in dem ein Satz inhärenter Merkmale

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

Praxiswissen Softwaretest - Testmanagement

Praxiswissen Softwaretest - Testmanagement Praxiswissen Softwaretest - Testmanagement Aus- und Weiterbildung zum Certified Tester Advanced Level nach ISTQB-Standard dpunkt.verlag 1 Einleitung 1 1.1 Basiswissen - komprimiert 4 1.2 Praxiswissen Testmanagement

Mehr

Software Engineering. 13. Qualitätssicherung. Franz-Josef Elmer, Universität Basel, WS 2006/07

Software Engineering. 13. Qualitätssicherung. Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering 13. Qualitätssicherung Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering: 13. Qualitätssicherung 2 Qualitätssicherung Qualitätssicherung (engl. Quality Assurance

Mehr

Praktikum Software Engineering: Verfahren und Werkzeuge

Praktikum Software Engineering: Verfahren und Werkzeuge Praktikum Software Engineering: Verfahren und Werkzeuge Lehrstuhl für Software Engineering (Informatik 11) Verfahren und Werkzeuge Seite 1 Software Engineering Absichten, Aufgaben Systemnutzung Anforderungsspezifikation

Mehr