SE Besprechung. Übung 6 Softwaretests

Ähnliche Dokumente
SE Besprechung. Übung 6 Softwaretests

Software Engineering

Software Engineering I Prof. Dr. Martin Glinz. Kapitel 2. Zielsetzung, Messung. Universität Zürich Institut für Informatik

Semestrale Softwaretechnik: Software-Engineering

Software Engineering in der Praxis

ASIL-relevante SW-Module identifiziert! Was nun?

Software Engineering in der Praxis

Wiederholung. Testen. Tests nach Methode zum Ableiten der Testfälle White Box Test Black Box Test

Software Engineering 1 6. Übung. Sönke Holthusen, Matthias Kowal, Joachim Steinmetz Institut für Softwaretechnik und Fahrzeuginformatik

Systematisches Testen der Funktionalität von Softwaresystemen. 17. Juni 2015

Besprechung. Übung 1 Software Engineering

Algorithmen und Berechnungskomplexität I

Binärzahlen. Vorkurs Informatik. Sommersemester Institut für Informatik Heinrich-Heine-Universität Düsseldorf

Software Engineering. Einleitung zur Vorlesung. Herbstsemester Universität Zürich Institut für Informatik

Prof. Dr. Peter Knauber. Name:... Vorname:... Unterschrift:...

Adaptive Systeme. Einführung. Grundlagen. Modellierung. Prof. Rüdiger Brause WS Organisation. Einführung in adaptive Systeme B-AS-1, M-AS-1

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

Informatik II Übung 1

Verbesserung des Entwicklungsprozesses durch testgetriebene Entwicklung und kontinuierliche Integration

Übungen zum Bioinformatik-Tutorium. Blatt 3

Karol Frühauf, Jochen Ludewig, Helmut Sandmayr. Software-Prüfung Eine Anleitung zum Test und zur Inspektion

Probe-Klausur Software Engineering Fachbereich BW, für WINFO

Klausur. Softwareentwurf. 04. Februar 2013 Bearbeitungszeit: 120 Minuten

Unterstützungsangebote in. Mathematik: Maßnahmen und Erkenntnisse

White-Box-Test. Black-Box-Test. Testen. Testen. Vorlesung Methoden des Software Engineering. Martin Wirsing. Einheit D.2,

Software Engineering II (IB) Testen von Software / Modultests

Übungsklausur Programmieren / Algorithmen und Datenstrukturen 1

Software Engineering in der Praxis

Einführung in die Informatik: Programmierung und Softwareentwicklung

Computerpraktikum zur Optimierung 1 Evaluierung

Seminar Simulation und Bildanalyse mit Java SS2004. Themenschwerpunkt: Tests in Informatik und Statistik

Klausur. Softwareentwurf. 14. Februar 2011 Bearbeitungszeit: 120 Minuten

Name:... Matr.-Nr... Bearbeitungszeit: 120 Minuten. Lesen Sie die Aufgaben jeweils bis zum Ende durch; oft gibt es hilfreiche Hinweise!

Informatik II: Algorithmen und Datenstrukturen SS 2013

Zentralübung zur Vorlesung Diskrete Strukturen

Klausur Fachprüfung Wirtschaftsinformatik Dauer: 2 Stunden. Name:

Einführung in die Programmierung und Programmiersprachen (OOP)

Informatik II - Übung 01

Aufgaben Objektentwurf

Klausur Softwaretechnologie SS 2017

Einleitung zur Vorlesung Informatik II

BIF/SWE - Übungsbeispiel

Software Tests. Florian Ehmke. 21. Januar / 40

Evaluation der Lehre durch die Studierenden: Vorlesungen

Klausur Softwaretechnik I

Klausur Grundlagen der Programmierung

Forschungsmethoden VORLESUNG WS 2017/2018

Produktion und Logistik Klausuren im Wintersemester 2017/18 Dienstag, den von 08:00 bis 14:00 Uhr

Software Engineering für Softwaretechniker (SEfST)

Von Multiple Choice bis zur Klausurkorrektur: Praxisbericht aus der UB Würzburg , Jens Ilg

Testdokument (Universität Paderborn, Softwaretechnikpraktikum SS2006)

Basispruefung Herbst 2016/ Einführung in die Programmierung

Klausur Softwaretechnik

Aufgabenblatt 4 IT-Security Angewandte Informatik WS 2016/17

Geoinformatik und Vermessung Prüfung 502 : Informatik (JAVA)

Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 15. Oktober 2005 Dr. Alfons Huhn, Timotheus Preisinger

1. Einführung 1.1. Definitionen

2. Hausübung Algorithmen und Datenstrukturen

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

Produktion und Logistik Klausuren im Wintersemester 2016/17 Dienstag, den von 08:00 bis 14:00 Uhr

Unit Testing mit JUnit. Dr. Andreas Schroeder

UnitTest mit dem SQL-Developer Testgetriebene Entwicklung mit Oracle Werkzeugen

Beispiel: Schriftliche Addition

Informatik II Übung 6 Gruppe 7

Serie 1 Serie 2 Serie 3 Serie 4 Serie 5 Serie 6. Statistik-Tutorium. Lösungsskizzen Übung SS2005. Thilo Klein. Grundstudium Sommersemester 2008

Statistik I Sommersemester 2009 Aufgabenlösung Übung 1: Grundbegriffe und univariate Datenanalyse - deskriptiv

Testen. Robert Binder: Software Testing is the execution of code using combinations of input and state selected to reveal bugs.

Statistik. Herzlich willkommen zur Vorlesung. Grundlagen Häufigkeiten Lagemaße Streuung Inferenzstatistik Kreuztabellen Gruppenunterschiede

Programmierpraktikum

Quantitative Methoden der Agrarmarktanalyse und des Agribusiness

Programmiermethodik 1. Klausur

Modul 04: Messbarkeit von Merkmalen, Skalen und Klassierung. Prof. Dr. W. Laufner Beschreibende Statistik

Thema: Testen von objektorientierter Software

Informatik II. Giuseppe Accaputo, Felix Friedrich, Patrick Gruntz, Tobias Klenze, Max Rosmannek, David Sidler, Thilo Weghorn FS 2017

Testen von graphischen Benutzeroberflächen. 24. Juni 2015

Software - Testung ETIS SS05

Modellierung und Programmierung 1

Methoden des Software Engineering

Einführung in Software Engineering

a) Wandeln Sie folgende Dualzahlen durch Gruppenbildung in das Oktal- und Hexdezimalsystem um

Einführung in die Informatik: Programmierung und Software-Entwicklung

Transkript:

SE Besprechung Übung 6 Softwaretests SE, 15.12.09 Dustin Wüest Tutoren für Informatik IIa Modellierung Voraussetzung Informatik IIa (oder vergleichbar) erfolgreich besucht Aufgaben Korrektur der Aufgaben (6 Übungen) Übungsbesprechung (2 Gruppen) Prüfungsaufsicht an den Zwischentests (3 Tests) Lohn Geld 2 Punkte ECTS Erfahrung in der Lehre / Vertiefung in Modellierung von Software Bei Interesse: wueest@ifi.uzh.ch 12/15/09 Besprechung SE Übung 6 2

TA für Informatik IIa Modellierung Voraussetzung Informatik IIa (oder vergleichbar) erfolgreich besucht Masterstudium (evt. Bachelor höheren Semesters) Aufgaben Aufgabenstellungen (6 Übungen) Zwischentests erstellen (3 Tests) Mithilfe bei Korrektur der Zwischentests Mithilfe bei Vorbereitung der Klausur, evt. Prüfungsaufsicht Lohn Geld 4 Punkte ECTS Erfahrung in der Lehre / Vertiefung in Modellierung von Software 12/15/09 Besprechung SE Übung 6 3 Studierende nach PPO 2001 Bitte so bald wie möglich bei mir melden Bei geringer Anzahl an Studierenden nach PPO 2001 findet für diese eine normale Schlussklausur und eine zusätzliche mündliche Prüfung statt Bei grösserer Anzahl an Studierenden nach PPO 2001 findet für diese eine erweiterte Schlussklausur statt 12/15/09 Besprechung SE Übung 6 4

Prüfung Inhalt ca. 1/3 Multiple Choice Anwendungsfragen z.t. ähnlich wie Übungen und Mini-Übungen zum Stoff der Vorlesung Ort, Dauer Dienstag, 12. Januar 10.15h im 0.K.02 90 Minuten (120 Punkte) Hilfsmittel 1 Blatt A4 handgeschrieben (Wörterbuch) 12/15/09 Besprechung SE Übung 6 5 SE Besprechung Übung 6 Softwaretests SE, 06.10.09 Dustin Wüest

Aufgabe 6.1 Testen a), b)! Black-Box-Test c), d), e)! White-Box 12/15/09 Besprechung SE Übung 6 8 Aufgabe 6.1 Testen Ziel beim Auswählen von Testfällen: mit möglichst wenig Testfällen möglichst viele Fehler finden Black-Box-Tests White-Box-Tests 12/15/09 Besprechung SE Übung 1 9

Aufgabe 6.1 Testen, a) Sinn der Äquivalenzklassen Methode kann nicht mit allen möglichen Werten getestet werden Deshalb: gute Auswahl von Testfällen Ziel: Werte, welche ein gleiches / ähnliches Verhalten der Methode bewirken, zu einer Klasse zusammenfassen ABER: Black-Box-Test, Code wird nicht angeschaut! Ähnliche Eingabewerte (oder Ausgabewerte) zu Klassen zusammenfassen Methode wird stichprobenweise getestet: Von jeder Klasse wird ein (oder evtl. ein paar) Wert(e) zum Testen ausgewählt 12/15/09 Besprechung SE Übung 6 10 Aufgabe 6.1 Testen, a) Äquivalenzklassen wählen Jeder mögliche Input gehört zu genau einer Äquivalenzklasse Äquivalenzklassen sind disjunkt Gleichartige Inputs / Outputs zu Klassen gruppieren Methodenkommentar und Signatur! Nimmt einen Float als Input und rechnet modulo 3! (Rückgabewert ist immer >= 0) " Interpretation 1: -4 % 3 = 3 (4 % 3) = 2 " Interpretation 2: -4 % 3 = 4 % 3 = 1 12/15/09 Besprechung SE Übung 6 11

Aufgabe 6.1 Testen, a) Methodenkommentar und Signatur! Nimmt einen Float als Input und rechnet modulo 3 Mögliche Äquivalenzklassen: I) Positive Zahlen zwischen 0 und 3 (3 > x >= 0) II) Positive Zahlen grösser 3, aber kein Vielfaches (x = 4.25, 7,...) III) Positives Vielfaches von 3 (x = 3, 6, 9,...) IV) Negative Zahlen zwischen 0 und -3 (-3 < x < 0) V) Negative Zahlen kleiner als -3, kein Vielfaches (x = -4.25, -7,...) VI) Negatives Vielfaches von 3 (x = -3, -6, -9,...) 12/15/09 Besprechung SE Übung 6 12 Aufgabe 6.1 Testen, a) Grenzfälle wählen An den Grenzen zulässiger Datenbereiche An den Rändern der Äquivalenzklassen Mögliche Grenzfälle: I) x = 0 II) Sehr grosse positive / negative Zahl (x = Float.MAX_VALUE (oder evtl. x = +/- 60)) III) Zahl nahe 0, nahe +/- 3 (x = 0.001, 2.999, 3.001, -3.001,...) (Ungültige Eingaben, z.b. String! Code kompiliert nicht) 12/15/09 Besprechung SE Übung 6 13

Aufgabe 6.1 Testen, a) Testvorschrift 12/15/09 Besprechung SE Übung 6 14 Aufgabe 6.1 Testen, b) Testfall Eingabe Erwartetes Resultat Befund 1 (K I) 2 2-1 2 (K II) 4.5 1.5 1.5 3.1 (K III) 3 0 0 3.2 (K III) 9 0 0 4 (K IV) -2 1 1 5 (K V) -7.3 1.7 1.7 6 (K VI) -6 0 3 7 (G) 0 0-3 8 (G) 123 456 788 2 2* 9 (G) 0.0001 0.0001-3 JUnit Tests? * Endlosschleife bei Test in Eclipse 12/15/09 Besprechung SE Übung 6 15

Aufgabe 6.1 Testen, b) Falsche Resultate für folgende Fälle (war in der Aufgabe nicht verlangt) 0 <= x < 3 x negativ und Vielfaches von 3 für zu grosse Werte (pos. und neg.) (falls -x % 3 = x % 3, dann für alle negativen Werte falsch, ausser für -1.5, -4.5,...) 12/15/09 Besprechung SE Übung 6 16 Aufgabe 6.1 Testen, c) float number = input 1 2 number < 0 number <= 0 3 4 number = number - 3 number = number + 3 number >= 3 5 Return number 6 12/15/09 Besprechung SE Übung 6 17

Aufgabe 6.1 Testen, c) 6 Zweige Mein Test: 100% Zweigüberdeckung n = input n <= 0 n = n + 3 1 2 4 3 n < 0 n = n - 3 n >= 3 return n 6 5 12/15/09 Besprechung SE Übung 6 18 Aufgabe 6.1 Testen, d) Wieviele Testfälle mind. für 100% Zweigüberdeckung? 2 Testfälle: input < 0! durchläuft die Zweige 1, 3, 4 input >= 6! durchläuft die Zweige 2, 5, 6 Achtung: bei 0 <= input < 6 wird Zweig 5 nicht durchlaufen! (do...while) Zweigüberdeckung vs. Anweisungsüberdeckung vs. Pfadüberdeckung n <= 0 n = n + 3 1 2 4 3 n = input n < 0 n = n - 3 n >= 3 return n 6 5 12/15/09 Besprechung SE Übung 6 19

Aufgabe 6.1 Testen, e) ohne Fehler = nur positive Befunde input < 0 z.b. input = 7.3 input >= 6 z.b. input = 9 input < 0 z.b. input = 1.5 input >= 6 z.b. input = 9 12/15/09 Besprechung SE Übung 6 20 Aufgabe 6.1 Testen, f) Welche Fehlerarten werden beim White-Box-Test leichter gefunden? dead code entdecken (Anweisungsüberdeckung) Programmierfehler, falsch implementierte Funktionalität (Lokalisierung von...defekten) Welche Fehlerarten werden beim Black-Box-Test leichter gefunden? Fehler im Gesamtsystem (Integrationstests, Interaktion zw. Komponenten) Fehler in der Spezifikation / Interfaces / Kommentaren Tests sind üblicherweise nicht pure Black-/White-Box-Tests, sondern...irgendwo dazwischen 12/15/09 Besprechung SE Übung 6 21

Aufgabe 6.2 Messen: Faktoren, Fragen Einfaches und schnelles Reservieren und Einkaufen von Theaterkarten Faktoren Klarheit des GUIs Weiss der Benutzer, was er gerade macht? Übersichtlichkeit des GUIs Wie schnell kann man Karten reservieren / kaufen? Wie einfach kann man Karten reservieren / kaufen? Anzahl auftauchender Probleme Wieviele Bestellvorgänge werden abgebrochen? 12/15/09 Besprechung SE Übung 6 22 Aufgabe 6.2 Messen: Messbare Merkmale Weiss der Benutzer, was er gerade macht? Hilfestellungen durch das System vorhanden (Nominalskala: ja/nein) Wie schnell kann man Karten reservieren / kaufen? Zeit vom Beginn bis zum Reservationsabschluss (Verhältnisskala) Antwortzeiten des Servers (Verhältnisskala) Wie einfach kann man Karten reservieren / kaufen? Anzahl Klicks bis zum Reservationsabschluss (Absolutskala) Kundenzufriedenheit (Ordinalskala: --, -, ~, +, ++) Wieviele Bestellvorgänge wurden abgebrochen? Anzahl (Absolutskala) 12/15/09 Besprechung SE Übung 6 23

Aufgabe 6.2 Messen Nominalskala (ja / nein / n.a.) Ordinalskala (--, -, ~, +, ++) Intervallskala (z.b. Datumskala: Distanzen bestimmbar, aber keine... Multiplikation etc. möglich) Verhältnisskala (z.b. # Code-Zeilen für Programmgrösse) Absolutskala (z.b. # Code-Zeilen, z.b. Anzahl Einwohner) Absolutskala: Keine Transformation möglich (f(x) = ax mit a = 1)!...können nicht halbe Einwohner zählen und * 2 rechnen... 12/15/09 Besprechung SE Übung 6 24