Testen - Konzepte und Techniken



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

Testen. SEPR Referat: Testen - Oliver Herbst

Whitebox-Tests: Allgemeines

ISTQB Certified Tester Foundation Level Exam Übungsprüfung

Einsatz automatischer Testdatengenerierung im modellbasierten Test

Qualitätsmanagement im Projekt

Basiswissen Softwaretest

Softwaretechnik 1 Tutorium

Software-Test: Funktionstest

Systematische Testfallableitung und Tests durchführen

Testen Prinzipien und Methoden

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

Use Cases. Use Cases

Ein Testprozess für Modellbasiertes Testen

Software- Qualitätsmanagement

SEP 114. Design by Contract

Software - Testung ETIS SS05

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

T1 - Fundamentaler Testprozess

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

Testautomatisierung. Lessons Learned. qme Software. Gustav-Meyer-Allee Berlin. Telefon 030/ Telefax 030/

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

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

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

Tester als Coach ein Erfolgsmodell

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

Systematisches Testen von Software

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Automatische Testfallgenerierung aus Modellen. 8. Neu-Ulmer Test-Engineering-Day Martin Miethe

Fragebogen: Abschlussbefragung

Programmiertechnik II

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

Urlaubsregel in David

OSEK Deadline-Analyse

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller

SDD System Design Document

Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient.

FUTURE NETWORK REQUIREMENTS ENGINEERING

6 Systematisches Testen von Programmen

Schumacher, Chris Druckdatum :11:00

Software Systems Engineering

Kurzanleitung So geht s

Testen von Software. Erfahrungsbericht des INGTES Testcenters. von Ueli Tribelhorn

Grundbegriffe der Informatik

Software-Entwicklungsprozesse zertifizieren

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Testmanagement in IT-Projekten

Teststrategie festlegen und Teststufen aufeinander abstimmen

GDPdU Export. Modulbeschreibung. GDPdU Export. Software-Lösungen. Stand: Seite 1

Validierung und Verifikation!

Requirements Engineering WS 11/12

BSV Ludwigsburg Erstellung einer neuen Internetseite

Use Cases. Die Sicht des Nutzers. Fortgeschrittenenpraktikum SS 2004

Online-Zugang zum EOM. Anleitung

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

Kapiteltests zum Leitprogramm Binäre Suchbäume

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

Variabilität in Produktlinien und das orthogonale Variabilitätsmodell

Softwareanforderungsanalyse

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Übungsblatt 4: Requirements Engineering (2) (für die Übungswoche )

Binär Codierte Dezimalzahlen (BCD-Code)

Erfahrungen mit Hartz IV- Empfängern

Requirements-Traceability in der industriellen Praxis Ziele und Einsatz

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Theoretische Grundlagen des Software Engineering

Gussnummern-Lesesystem

Ein Tool für automatische Performancetests von Java3D Applikationen

1 topologisches Sortieren

Petri-Netze / Eine Einführung (Teil 2)

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Standard Inhaltsverzeichnis für Testvorschrift

Leichte-Sprache-Bilder

Some Software Engineering Principles

Erfassung von Umgebungskontext und Kontextmanagement

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

Programmiersprachen und Übersetzer


Software Engineering in der Praxis

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Bundesverband Flachglas Großhandel Isolierglasherstellung Veredlung e.v. U g -Werte-Tabellen nach DIN EN 673. Flachglasbranche.

Stud.IP. Inhalt. Rechenzentrum. Vorgehen zur Eintragung in Veranstaltungen / Gruppen. Stand: Januar 2015

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

Requirements Engineering

Aktivieren des Anti-SPAM Filters

3: Systematisches Testen

Installationsanleitung WibuKey Treiber

Design Patterns SS 2014 Hausaufgabe 5

Darstellungsformen einer Funktion

Organisation. Was kommt zum Test? Buch Informatik Grundlagen bis inkl. Kapitel 7.4 Wissensfragen und Rechenbeispiele

1. Einführung. 2. Weitere Konten anlegen

Online-Bestellung Tageskarten für Mitglieder des FC St. Pauli, die nicht im Besitz einer Dauer- oder Saisonkarte sind.

Zeichen bei Zahlen entschlüsseln

Themen. Zusammenarbeit Vorbereitung Strafbestimmungen Schüsse von der Strafstossmarke

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Secure Ausführliche Kundeninformation

Transkript:

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 4 Testarten 5 Testverfahren 6 Dynamisches Testen 7 Testentwurfsverfahren Blackbox Whitebox 8 Weitergehende Fragen Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 2 / 42

Übersicht 1 Motivation 2 Grundbegrie 3 Testen im Softwareentwicklungsprozess 4 Testarten 5 Testverfahren 6 Dynamisches Testen 7 Testentwurfsverfahren Blackbox Whitebox 8 Weitergehende Fragen Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 3 / 42

Motivation Warum sollte man testen? Softwarefehler verursachen hohe Kosten. Es soll sichergestellt werden, dass ein Softwareteil mit einer bestimmten Qualität an die nachfolgenden Phasen der Softwareentwicklung weitergegeben wird. Warum sollte man wissen, wie man testen soll? Man kann unendlich viel testen! Wissen über das Testen hilft es möglichst ezient zu gestallten. Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 4 / 42

Übersicht 1 Motivation 2 Grundbegrie 3 Testen im Softwareentwicklungsprozess 4 Testarten 5 Testverfahren 6 Dynamisches Testen 7 Testentwurfsverfahren Blackbox Whitebox 8 Weitergehende Fragen Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 5 / 42

Testen Testen ist ein Prozess, der sich sowohl statisch als auch dynamisch mit der Qualität eines Programmes befasst. Ziele des Testens: Qualität bestimmem Programmfehler nachweisen Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 6 / 42

Fehler Ein Fehler ist die Nichterfüllung einer festgelegten Anforderung. (Spillner 2005: 240) Es gibt drei Fehlerkategorien: Fehlerwirkung Fehlerzustand Fehlerhandlung Vorsicht: Fehlermaskierung (GTB 2007) Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 7 / 42

Testfall Zu einem Testfall gehören: Vorbedingungen Eingabewerte Randbedingungen Sollwerte Nachbedingungen Spezikation der Testfälle: 1 Logischer Testfall: {, age > 7 m N,, price = 10, } 2 Konkreter Testfall: {, 11,, 10, } Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 8 / 42

Wie ist ein guter Testfall? mächtig valide nicht redundant umsetzbar relevant... (Kaner 2003) Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 9 / 42

Testbasis und Testorakel Die Testbasis besteht aus der gesamten Dokumentation, die zur Auswahl und Herleitung der Testfälle dient. Das Testorakel dient zur Ermittlung der Sollergebnisse. Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 10 / 42

Übersicht 1 Motivation 2 Grundbegrie 3 Testen im Softwareentwicklungsprozess 4 Testarten 5 Testverfahren 6 Dynamisches Testen 7 Testentwurfsverfahren Blackbox Whitebox 8 Weitergehende Fragen Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 11 / 42

Testen im Softwareentwicklungsprozess (GTB 2007) Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 12 / 42

Testen im Softwareentwicklungsprozess (GTB 2007) Auf jeder Stufe: Validierung - wird die richtige Software entwickelt? Verikation - wird die Software bezüglich der Spezikation korrekt umgesetzt? Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 13 / 42

Testen im Softwareentwicklungsprozess Die Teststufen unterscheiden sich bezüglich: Testobjekt Testbasis Testziele Testwerkzeuge (GTB 2007) Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 14 / 42

Übersicht 1 Motivation 2 Grundbegrie 3 Testen im Softwareentwicklungsprozess 4 Testarten 5 Testverfahren 6 Dynamisches Testen 7 Testentwurfsverfahren Blackbox Whitebox 8 Weitergehende Fragen Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 15 / 42

Testarten Der funktionale Test Der nicht-funktionale Test Der strukturbezogene Test Der änderungsbezogene Test Verschiedene Testarten können auf verschiedenen Teststufen zum Einsatz kommen. Die Testarten sind nicht disjunkt. Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 16 / 42

Testarten: der funktionale Test Prüft, OB das Testobjekt das Gewünschte leistet. Das Ein-/Ausgabeverhalten ist relevant. Testbasis: Anforderungsspezikation, Anwendungsfälle Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 17 / 42

Testarten: der nicht-funktionale Test Prüft, WIE das Testobjekt das gewünschte leistet. Testbasis: Qualitätsmodell, nicht-funktionale Anforderungen nicht-funktionale Tests: Lasttest Stresstest Performanztest Sicherheitstest Wartbarkeitstest Benutzbarkeitstest Prüfung der Dokumentation... Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 18 / 42

Testarten: der strukturbezogene Test Ziel ist die Überdeckung möglichst vieler Elemente der Struktur des Testobjekts. Testbasis: die interne Struktur der Software Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 19 / 42

Testarten: der änderungsbezogene Test Fehlernachtest Wurde der Fehler beseitigt? Regressionstest Bleibt nach der Änderung die alte Funktionalität erhalten? Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 20 / 42

Übersicht 1 Motivation 2 Grundbegrie 3 Testen im Softwareentwicklungsprozess 4 Testarten 5 Testverfahren 6 Dynamisches Testen 7 Testentwurfsverfahren Blackbox Whitebox 8 Weitergehende Fragen Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 21 / 42

Testverfahren Im Softwareentwicklungsprozess entstehen verschiedene Artefakte: Modelle, Texte, Programme... Es verden verschiedene Testverfahren benötigt: Statischer Test Das Testobjekt wird einer Analyse unterzogen ohne dabei ausgeführt zu werden. Dynamischer Test Das Testobjekt wird mit Testdaten ausgeführt. Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 22 / 42

Übersicht 1 Motivation 2 Grundbegrie 3 Testen im Softwareentwicklungsprozess 4 Testarten 5 Testverfahren 6 Dynamisches Testen 7 Testentwurfsverfahren Blackbox Whitebox 8 Weitergehende Fragen Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 23 / 42

Dynamisches Testen Schritte: 1 Ermittlung der Testkriterien 2 Spezikation der Testfälle unter Verwendung der Testentwurfsverfahren 3 Spezikation der Testszenarien 4 Planung der Testausführung Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 24 / 42

Übersicht 1 Motivation 2 Grundbegrie 3 Testen im Softwareentwicklungsprozess 4 Testarten 5 Testverfahren 6 Dynamisches Testen 7 Testentwurfsverfahren Blackbox Whitebox 8 Weitergehende Fragen Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 25 / 42

Testentwurfsverfahren Blackbox Testentwurfsverfahren Grundlage ist die Analyse der Spezikation. Die interne Struktur des Testobjektes wird nicht berücksichtigt. Whitebox Testentwurfsverfahren Alle Testverfahren, die zur Herleitung oder Auswahl der Testfälle Informationen über die innere Struktur des Testobjekts benötigen. (Spillner 2005: 259) (GTB 2007) Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 26 / 42

Testentwurfsverfahren Blackbox Äquivalenzklassen Grenzwertanalyse Zustandsbezogener Test Anwendungsbezogener Test Whitebox Kontrollussbasierte Tests Test der Bedingungen Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 27 / 42

Äquivalenzklassenbildung Annahmen: Die Denitionsbereiche der Testobjektsparameter sind in Äquivalenzklassen zerlegbar. Erwartung: gleiches Systemverhalten für alle Repräsentanten der selben Äquivalenzklasse Beispiel: Anforderungen 1 Ein Student muss sich für mindestens eine Veranstaltung anmelden. Jeder Student kann maximal an fünf Veranstaltungen teilnehmen. 2 Jeder Student enthält eine eindeutige Immatrikulationsnummer, die mit einem Buchstaben beginnt. Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 28 / 42

Äquivalenzklassenbildung Schritte: 1 Denitionsbereich für jeden Parameter ermitteln: gültige ÄK1: 1 <= anzahl_veranstaltung <= 5 ungültige ÄK1: anzahl_veranstaltung <= 0 ungültige ÄK2: anzahl_veranstaltung >= 6 gültige ÄK1: das erste Zeichen der Immatrikulationsnummer ist ein Buchstabe ungültige ÄK1: das erste Zeichen der Immatrikulationsnummer ist kein Buchstabe 2 Äquivalenzklassen verfeinern bis alle unterschiedlichen Anforderungen mit verschiedenen Äquivalenzklassen bedeckt werden. Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 29 / 42

Äquivalenzklassenbildung Schritte: 3 Repräsentanten der Äquivalenzklassen auswählen: gültige ÄK1: anzahl_veranstaltung = 4 ungültige ÄK1: anzahl_veranstaltung = 1 ungültige ÄK2: anzahl_veranstaltung = 100 gültige ÄK1: a123 ungültige ÄK1: %567 4 Repräsentanten der Äquivalenzklassen zu Testfällen miteinander kombinieren: 1 4 und a123 3-1 und a123 2 4 und "%567" 4 100 und a123 Unzugelassener Testfall: -1 und "%567" Repräsentanten ungültiger ÄK sollten nur mit Repräsentanten gültiger ÄK zu einem Testfall kombiniert werden. Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 30 / 42

Anwendungsbezogener Test Prüft Nutzer-System Interaktionen Grundlage: Anwendungsfälle Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 31 / 42

Anwendungsbezogener Test Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 32 / 42

Blackbox Testentwurfsverfahren Zusammenfassung: Grundlage sind Anforderungen an das System und die Spezikation. Fehlerhafte Anforderungen sowie nicht geforderte Funktionalitäten werden nicht erkannt. Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 33 / 42

Testentwurfsverfahren Blackbox Äquivalenzklassen Grenzwertanalyse Zustandsbezogener Test Anwendungsbezogener Test Whitebox Kontrollussbasierte Tests Test der Bedingungen Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 34 / 42

Kontrollussbasierte Tests Der Kontrolluss ist eine abstrakte Repräsentation von allen möglichen Reihenfolgen von Ereignissen (Pfaden) während der Ausführung einer Komponente oder eines Systems. Kontrolluss als Graph dargestellt: Knoten - Anweisungen Kanten - mögliche Ausführungsreihenfolgen (Spillner 2005: 244) (Spillner 2005: 145) Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 35 / 42

Kontrollussbasierte Tests Testfälle kann man anhand der Pfade im Kontrollussgraphen bestimmen. Überdeckungskriterien: Anweisungsüberdeckung 100%: <a,b,f,g,h,d,e> Entscheidungsüberdeckung 100%: <a,b,f,g,h,d,e>, <a,k,e>, <a,b,c,d,e>, <a,b,f,g,i,g,h,d,e> Pfadüberdeckung 100%: sehr oft nicht erreichbar Grenze-Inneres-Überdeckung 100%: <a,b,f,g,h,d,e>, <a,b,f,g,i,g,h,d,e>. Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 36 / 42

Test der Bedingungen Kontrollussbasierte Tests berücksichtigen nicht die strukturelle Komplexität der Bedingungen. Ein Test der Bedingungen verlangt eine bestimmte Belegung der atomaren Ausdrücke in den zusammengesetzten Bedingungen: Einfache Bedingungsüberdeckung Mehrfachbedingungsüberdeckung Minimale Mehrfachbedingungsüberdeckung Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 37 / 42

Whitebox Testentwurfsverfahren Zusammenfassung: Grundlage ist die innere Struktur des Testobjektes. Nichtrealisierte Teile des Systems verbleiben unaufgedeckt, da nur der vorhandene Code berücksichtigt wird. Sollwerte sind nicht immer einfach zu ermitteln. Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 38 / 42

Zusammenfassung Testen ist ein wichtiges Element im Softwareentwicklungsprozess. Ezientes Testen verlangt entsprechendes Wissen über: Testfälle Testarten Testentwurfsverfahren... Grundsatz Ein Programmtest ist sehr nützlich, um die ANWESENHEIT von Fehlern zu zeigen, nie aber die ABWESENHEIT. (E. W. Dijkstra) Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 39 / 42

Übersicht 1 Motivation 2 Grundbegrie 3 Testen im Softwareentwicklungsprozess 4 Testarten 5 Testverfahren 6 Dynamisches Testen 7 Testentwurfsverfahren Blackbox Whitebox 8 Weitergehende Fragen Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 40 / 42

Psychologie des Testens Ist Testen konstruktiv oder destruktiv? Sollten Entwickler ihre eigenen Programme testen? Wie sollte man die entdeckten Fehlerwirkungen und -zustände vermitteln? Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 41 / 42

Literatur 1 German Testing Board, Basiswissen Softwaretest - Certied Tester, Lehrmaterialien 2007-2010 2 Andreas Spillner und Tilo Linz, Basiswissen Softwaretest, dpunkt.verlag, Heidelberg, 2005 3 Kaner Cem, What Is a Good Test Case?, Florida Institute of Technology, 2003 Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 42 / 42