Software Engineering II (IB) Testen von Software / Modultests



Ähnliche Dokumente
Software Engineering II (IB) Testen von Software / Modultests

Testen Prinzipien und Methoden

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

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

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

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

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

Prüfung Software Engineering I (IB)

teischl.com Software Design & Services e.u. office@teischl.com

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

HTML5. Wie funktioniert HTML5? Tags: Attribute:

T1 - Fundamentaler Testprozess

Qualitätsmanagement im Projekt

Testphase. Das Testen

Übungen zur Softwaretechnik

Neue Kennwortfunktionalität. Kurzanleitung GM Academy. v1.0

Systematisches Testen von Software

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

Software - Testung ETIS SS05

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Programmiertechnik II

Validierung und Verifikation!

Educase. Release Notes 1.7: Neue Funktionen und Verbesserungen. Base-Net Informatik AG Wassergrabe 14 CH-6210 Sursee

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

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

2250 Deutsche Internetadressen, für kostenlose Kleinanzeigen"

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

Programmierung von Konturzügen aus Geraden und Kreisbögen

DER SELBST-CHECK FÜR IHR PROJEKT

Die Post hat eine Umfrage gemacht

1 Der federführende Registrant (Lead Registrant) erstellt das Joint Submission Object (Objekt der gemeinsamen Einreichung) (REACH-IT)

Pflegende Angehörige Online Ihre Plattform im Internet

Task: Nmap Skripte ausführen

OUTSOURCING ADVISOR. Analyse von SW-Anwendungen und IT-Dienstleistungen auf ihre Global Sourcing Eignung. Bewertung von Dienstleistern und Standorten

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

Requirements Engineering für IT Systeme

Testen im Software- Entwicklungsprozess

DOKUMENTATION PASY. Patientendaten verwalten

ERP-Evaluation systematisch und sicher zum optimalen ERP-System

1 Mathematische Grundlagen

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

Installieren von Microsoft Office Version 2.1

Online Intelligence Solutions TESTABLAUF. 7 Schritte für ein erfolgreiches Testing.

SX-SATELLITE. Software Update Release Note. Version: 1.4.1

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Folgeanleitung für Fachlehrer

Handbuch ZfEditor Stand

Umfrage. Didaktischer Kommentar. Lernplattform

ClubWebMan Veranstaltungskalender

Oracle APEX Installer

Nachricht der Kundenbetreuung

Internet Explorer Version 6

Projektmanagement. Vorlesung von Thomas Patzelt 10. Vorlesung

Serviceanweisung Austausch Globalsign Ausstellerzertifikate

Qualitätsmanagement. Grundlagen

Reporting Services und SharePoint 2010 Teil 1

SDD System Design Document

Folgeanleitung für Klassenlehrer

MetaQuotes Empfehlungen zum Gebrauch von

OP-LOG

SF-RB. Modul Provisionsabrechnung & Planung Reiseagentenprovisionsabrechnung & Planung. SF-Software Touristiksoftware

Checkliste für die Behebung des Problems, wenn der PC Garmin USB GPS-Geräte nicht erkennt.

Wenn Sie das T-Online WebBanking das erste Mal nutzen, müssen Sie sich zunächst für den Dienst Mobiles Banking frei schalten lassen.

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Stand vr bank Südthüringen eg 1 von 10. Smart TAN plus Umstellungsanleitung VR-NetWorld Software

ERPaaS TM. In nur drei Minuten zur individuellen Lösung und maximaler Flexibilität.

Finanzierung für den Mittelstand. Leitbild. der Abbildung schankz

Sparkasse Aschaffenburg-Alzenau

Software-Entwicklungsprozesse zertifizieren

Was meinen die Leute eigentlich mit: Grexit?

Benutzerhandbuch MedHQ-App

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Aufgabenlandkarte der Schweiz

Backup Premium Kurzleitfaden

Der schnelle Weg zu Ihrer eigenen App

Einsatz von xalerator. bei den. Ergo Direkt Versicherungen. Bereich Versicherungstechnik/Leben

Praktikum ios-entwicklung im Sommersemester 2015 Übungsblatt 3

Validierung und Verifikation

Upgrade von Starke Praxis

Über den Link erreichen Sie unsere Einstiegsseite:

DAS NEUE TOMTOM RIDER SOFTWARE-UPDATE 15.4

Kern Concept AG Software Entwicklung HMO und BlueEvidence

Mastermind. Testplan. Hochschule Luzern Technik & Architektur. Programmieren 2 FS12. Gruppe 10

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

SWE12 Übungen Software-Engineering

Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen.

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Umstellung und Registrierung Release

Vorkurs Informatik WiSe 15/16

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Auftrag zum Fondswechsel

ModeView Bedienungsanleitung

Die Lernumgebung des Projekts Informationskompetenz

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Anmeldung und Zugang zum Webinar des Deutschen Bibliotheksverbandes e.v. (dbv)

Anleitung Outlook 2002 & 2003

Transkript:

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 Programmfehler vor der Benutzung aufdecken beim Testen nutzen wir künstliche Daten wir prüfen die Ergebnisse von Testläufen auf Fehler, Anomalien oder Informationen über die nicht-funktionalen Attribute des Programms Testen kann nur Fehler finden, nicht ihre Abwesenheit Testen ist Teil eines breiteren Prozesses der Softwareverifikation und -validierung Ziele des Testens 1. Dem Entwickler und dem Kunden zeigen, dass die Software die Anforderungen erfüllt. Validierungstests 2. Situationen aufspüren, in denen sich die Software falsch, unerwünscht oder nicht spezifikationsgemäß verhält. Fehlertests 1

Eingabe-Ausgabe-Modell von Programmtests Abbildung 1: Eingabe-Ausgabe-Modell (Quelle: I. Sommerville: Software Engineering) Keine Fehlerfreiheit durch Tests Edsger Dijkstra et al., 1972: Tests können nur die Anwesenheit von Fehlern aufzeigen, nicht ihre Abwesenheit. Verifikation vs. Validierung Verifikation Erstellen wir das Produkt richtig? Die Software muss die Spezifikation erfüllen! Validierung Erstellen wir das richtige Produkt? Die Software muss bieten was der Benutzer benötigt. Ziele von Verifikation & Validierung Softwarezweck Je kritischer eine Software, desto wichtiger die Zuverlässigkeit. Erwartungen der Benutzer Benutzer manchmal geringe (z.b.neue Sw), manchmal hohe Erwartungen (z.b. spätere Versionen). 2015 Oliver Braun 2

Marktsituation So schnell wie möglich auf den Markt? Softwareinspektionen und Reviews Softwareinspektionen und Reviews analysieren und prüfen Systemanforderungen Entwurfsmodelle Quellcode Systemtests statische V&V -Techniken, bei denen die Software nicht ausgeführt wird Inspektionen und Tests Abbildung 2: Inspektionen und Tests (Quelle: I. Sommerville: Software Engineering) Vorteile von Inspektionen 1. Beim Testen können Fehler andere Fehler verdecken. 2. Unvollständige Systemversionen lassen sich ohne Zusatzkosten inspizieren. 3. Über die Fehlersuche hinaus kann der Inspektionsprozess weitgehende qualitative Programmeigenschaften betrachten, z.b. 2015 Oliver Braun 3

Übereinstimmung mit Standards Portierbarkeit Wartungsfreundlichkeit Ineffinzienzen unpassende Algorithmen schlechter Programmierstil Modell des Softwaretestprozesses Abbildung 3: Modell des Softwaretestprozesses (Quelle: I. Sommerville: Software Engineering) Testphasen 1. Entwicklertests (development testing) 2. Freigabetests (release testing) 3. Benutzertests (user testing) Entwicklertests 1. Modultests (unit testing) 2. Komponententests (component testing) 2015 Oliver Braun 4

3. Systemtests (system testing) Modultests individuelle Komponenten in Isolation testen in erster Linie Fehlertests Module/Units können sein: Funktionen, Methoden Objektklassen zusammengesetzte Komponenten Objektklassentests Tests so gestalten, dass sie alle definierten Operationen testen; alle Attributwerte setzen und abfragen; das Objekt in alle möglichen Zustände versetzen. Generalisierung und Vererbung macht das Testen komplexer, denn auch alle vererbten Member müssen in der Subklasse getestet werden Beispiel: Eine Wetterstation Wetterstation Tests Testfälle für reportweather, calibrate, test, startup und shutdown Zustandsmodell um Folgen von Zustandsübergängen zu identizifieren Beispiele: Shutdown Running Shutdown Configuring Running Testing Transmitting Running Running Collecting Running Summarizing Transmitting Running 2015 Oliver Braun 5

Abbildung 4: Klasse WeatherStation (Quelle: I. Sommerville: Software Engineering) Automatisierung Modul-Tests sollten immer automatisiert werden Testframeworks nutzen Testframeworks bieten oft auch graphische Darstellung von Testergebnissen o.ä. Bestandteile Automatisierter Test 1. Aufbau: Initialisierung, Eingaben und Ausgaben festlegen 2. Aufruf: zu testende Methoden oder Objekte 3. Bewertung: Ergebnis des Aufrufs mit dem erwarteten Ergebnis Auswahl der Testfälle für Modultests Testfälle sollen zeigen, dass bei korrekter Verwendung die zu testenden Komponenten, tun was sie sollen. Falls die Komponente Fehler enthält, sollen diese durch die Testfälle entdeckt werden. Zwei Arten von Testfällen: 1. Normale Operationen abbilden. 2. Ungewöhnliche Eingaben wo üblicherweise Probleme entstehen. 2015 Oliver Braun 6

Strategien um Testfälle auszuwählen 1. Klassenbasierte Tests Gruppen von Eingaben identifizieren, die gemeinsame Merkmale haben und auf die gleiche Art und Weise verarbeitet werden. Tests aus jeder dieser Gruppen auswählen. 2. Richtlinienbasierte Tests Richtlinien zur Auswahl von Tests Richtlinien spiegeln vorausgegangene Erfahrungen wider Äquivalenzklassen Abbildung 5: Einteilung in Äquivalenzklassen (Quelle: I. Sommerville: Software Engineering) Äquivalenzklassen Black-/Whitebox-Testen Blackbox-Testen nur Spezifikation für die Klassenbildung Whitebox-Testen zusätzlich Quellcode nutzen 2015 Oliver Braun 7

Abbildung 6: Äquivalenzklassen (Quelle: I. Sommerville: Software Engineering) Richtlinien für Folgen, Listen, Folgen mit nur einem Wert Folgen mit verschiedener Größe leere Folgen weitere Tests ableiten, die die jeweils ersten, mittleren und letzten Elemente verarbeiten Gebräuchliche Richtlinien Wählen Sie Eingaben, die das System zur Ausgabe aller Fehlermeldungen zwingen. Entwerfen Sie Eingaben, die den Eingabepuffer zum Überlaufen bringen. Wiederholen Sie dieselben Eingaben bzw. Eingabefolgen mehrere Male. Erzwingen Sie die Erzeugung ungültiger Ausgaben. Erzwingen Sie, dass die Berechnungsergebnisse zu groß oder zu klein ausfallen. Pfadabdeckungstest Teststrategie mit Ziel: Testen jedes unabhängigen Ausführungspfads eines Programms oder einer Komponentte 2015 Oliver Braun 8

jede bedingte Anweisung muss mit beiden Wahrheitswerten ausgeführt werden 2015 Oliver Braun 9