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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

,$ -. "+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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Software-Entwicklung

Software-Entwicklung Software-Entwicklung SEP 96 Geschichte der Programmierung Aufgaben von, Anforderungen an Programme mit der Zeit verändert 1 Programmierung über Lochkarten z.b. für Rechenaufgaben 2 maschinennahe Programmierung

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Softwareentwicklungspraktikum Sommersemester 2007. Testdokumentation

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

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

Projektmanagement. Vorlesung von Thomas Patzelt 10. Vorlesung

Projektmanagement. Vorlesung von Thomas Patzelt 10. Vorlesung Projektmanagement Vorlesung von Thomas Patzelt 10. Vorlesung 1 Test...(4) Oberflächentests testen die Benutzerschnittstelle des Systems, nicht nur auf Fehlerfreiheit sondern z.b. auch auf Konformität mit

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

Jens Borchers. Kritische Erfolgsfaktoren beim Abnahmetest in Redevelopment- Projekten Erfahrungen aus einem Großprojekt

Jens Borchers. Kritische Erfolgsfaktoren beim Abnahmetest in Redevelopment- Projekten Erfahrungen aus einem Großprojekt Chemnitz 24.11.2006 Jens Borchers Kritische Erfolgsfaktoren beim Abnahmetest in Redevelopment- Projekten Erfahrungen aus einem Großprojekt Vortrag bei der RePro2006 in Chemnitz am 24. November 2006 Kritische

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

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

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg Herzlich willkommen Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg Heike Bickert Software-/Systemingenieurin, Bereich Quality Management Braunschweig // 17.11.2015 1 Agenda ICS AG Fragestellungen

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

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

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

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

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

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

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

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

Basiswissen Softwaretest

Basiswissen Softwaretest isqi-reihe Basiswissen Softwaretest Aus- und Weiterbildung zum Certified Tester Foundation Level nach ISTQB-Standard von Andreas Spillner, Tilo Linz 5., überarbeitete und aktualisierte Auflage Basiswissen

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

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

Unit Testing mit JUnit. Dr. Andreas Schroeder

Unit Testing mit JUnit. Dr. Andreas Schroeder Unit Testing mit JUnit Dr. Andreas Schroeder Überblick Was dieses Video behandelt Warum Testen? Was sind Unit Tests? Der Teufelskreis des Nicht-Testens JUnit Unit Test Vorteile Test-Inspiration Wann aufhören?

Mehr

Basiswissen Softwaretest

Basiswissen Softwaretest Basiswissen Softwaretest Aus- und Weiterbildung zum Certified Tester - Foundation Level nach ISTQB-Standard Bearbeitet von Andreas Spillner, Tilo Linz überarbeitet 2005. Buch. XX, 284 S. Hardcover ISBN

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

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

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

Was versteht man unter Softwaredokumentation?

Was versteht man unter Softwaredokumentation? Was versteht man unter? Mit bezeichnet man die Dokumentation von Computer-Software. Sie erklärt für Anwender, Benutzer und Entwickler in unterschiedlichen Rollen, wie die Software funktioniert, was sie

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

Das Wasserfallmodell - Überblick

Das Wasserfallmodell - Überblick Das Wasserfallmodell - Überblick Das Wasserfallmodell - Beschreibung Merkmale des Wasserfallmodells: Erweiterung des Phasenmodells Rückkopplungen zwischen den (benachbarten) Phasen sind möglich Ziel: Verminderung

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

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

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

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

ASIL-relevante SW-Module identifiziert! Was nun?

ASIL-relevante SW-Module identifiziert! Was nun? ASIL-relevante SW-Module identifiziert! Was nun? ASIL-relevante SW-Module testen Blick in die EN 26262 Häufige Irrtümer in der Praxis Funktionale Tests in die Tiefe Funktionale Tests weiter optimieren

Mehr

Testmanagement Sein, Schein und reiner Wein

Testmanagement Sein, Schein und reiner Wein management Sein, Schein und reiner Wein Dr. sc. techn. F. Gramsamer bbv Software Services AG, Luzern www.bbv.ch bbv Software Services Corp. 1 Agenda Schein Der manager (TM) überschätzt unterschätzt Sein

Mehr

Projektmanagement Vorlesung 14/ 15: Wiederholung ausgewählter Themen zur Klausurvorbereitung. Prof. Adrian Müller, PMP, PSM-1, CSM FH Kaiserslautern

Projektmanagement Vorlesung 14/ 15: Wiederholung ausgewählter Themen zur Klausurvorbereitung. Prof. Adrian Müller, PMP, PSM-1, CSM FH Kaiserslautern Projektmanagement Vorlesung 14/ 15: Wiederholung ausgewählter Themen zur Klausurvorbereitung Prof. Adrian Müller, PMP, PSM-1, CSM FH Kaiserslautern phone: +49 631/3724-5329 http://www.hs-kl.de/~amueller

Mehr

Einführung von Testautomatisierung reflektiert. Erkenntnisse eines Linienmanagers zu Herausforderungen und Fallgruben

Einführung von Testautomatisierung reflektiert. Erkenntnisse eines Linienmanagers zu Herausforderungen und Fallgruben Einführung von Testautomatisierung reflektiert Erkenntnisse eines Linienmanagers zu Herausforderungen und Fallgruben Matt Young Leiter Test Acquiring Inhaltsverzeichnis Einleitung Testautomatisierung PostFinance

Mehr

Qualitätssicherung im Lebenszyklus des itcs. Anspruch und Wirklichkeit.

Qualitätssicherung im Lebenszyklus des itcs. Anspruch und Wirklichkeit. Qualitätssicherung im Lebenszyklus des itcs. Anspruch und Wirklichkeit. BEKA: Frankfurt, 25. Oktober 2012 T-Systems Angebot Umsetzung des globalen Telematikprojekts für den ÖPNV im Großherzogtum Luxemburg.

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

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

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

Service Virtualisierung

Service Virtualisierung Service Virtualisierung So bekommen Sie Ihre Testumgebung in den Griff! Thomas Bucsics ANECON Software Design und Beratung G.m.b.H. Alser Str. 4/Hof 1 A-1090 Wien Tel.: +43 1 409 58 90 www.anecon.com office@anecon.com

Mehr