Hier finden Sie eine Musterlösung in Form von zwei JUnit Tests für die erste Übungsaufgabe zum Thema Komponententests, geprüft wird die Klasse Quicksort:
Link zur Musterlösung
Freitag, 23. Oktober 2015
Donnerstag, 22. Oktober 2015
Übungsaufgabe zu Komponententests
Für die Komponente "quicksort" im Java Package "swqs.quicksort" soll ein Komponententest (Unit-Test) geschrieben werden. Die Komponente umfasst alle Klassen im Java Package.
Anschließend entpacken Sie das Archive und rufen das folgende Gradle Kommando auf:
gradlew.bat eclipse
(Linux und OSX Benutzer können das Kommando wie folgt aufrufen ./gradlew eclipse)
Nun können Sie das Projekt in Eclipse importieren als existierendes Projekt.
Hinweis für den Import in Eclipse:
Für den Import die Funktion File > Import aufrufen.
Das Verzeichnis mit dem entpackenten Projekt (ZIP) auswählen und den Finsh Button klicken.
Geben Sie der Klasse den Namen QuicksortTest geprüft werden soll die Komponente Quicksort, die Test-Klasse sollte im Source-Folder "src/test/java" abgelegt werden
new Integer[]{5, 6, 3};
Dazu kann das Gradle Skript wie folgt aufgerufen werden:
./gradlew.bat
Der Report mit der Abdeckung kann dem folgenden Ordner entnommen werden:
swqs.quicksort\build\reports\tests\index.html
Oder Sie installieren ein entsprechendes Eclipse Plugin z.B. EclEmma (http://eclemma.org/)
Versuchen Sie 100 % Anweisungsabdeckung zu erreichen und 100 % Zweigabdeckung.
siehe dazu https://github.com/alexruiz/fest-assert-2.x/wiki/Using-fest-assertions
Installieren von Code Cover in Eclipse
(siehe http://codecover.org/documentation/install.html)
Name: CodeCover Update Site
URL: http://update.codecover.org/
Installieren von EclEmma Eclipse Plugin
(siehe auch http://www.eclemma.org/)
Name: EclEmma
URL: http://update.eclemma.org/
Schritt 0: Importieren des Beispiel-Projekts in Eclipse
Dazu laden Sie sich die ZIP Datei herunter: DOWNLOADAnschließend entpacken Sie das Archive und rufen das folgende Gradle Kommando auf:
gradlew.bat eclipse
(Linux und OSX Benutzer können das Kommando wie folgt aufrufen ./gradlew eclipse)
Nun können Sie das Projekt in Eclipse importieren als existierendes Projekt.
Hinweis für den Import in Eclipse:
Für den Import die Funktion File > Import aufrufen.
Das Verzeichnis mit dem entpackenten Projekt (ZIP) auswählen und den Finsh Button klicken.
Schritt 1: Erstellen einer Unit Test Klasse
Geben Sie der Klasse den Namen QuicksortTest geprüft werden soll die Komponente Quicksort, die Test-Klasse sollte im Source-Folder "src/test/java" abgelegt werden
Schritt 2: Schreiben eines Tests zum Sortieren des folgenden Arrays:
new Integer[]{5, 6, 3};
Schritt 3: Markieren Sie die 4 Phasen in Ihrer Unit Test Klasse
Nutzen Sie dazu einfache Java Kommentare.Schritt 4: Messen der Abdeckung mittels Gradle oder Eclipse Plugin.
Dazu kann das Gradle Skript wie folgt aufgerufen werden:
./gradlew.bat
Der Report mit der Abdeckung kann dem folgenden Ordner entnommen werden:
swqs.quicksort\build\reports\tests\index.html
Oder Sie installieren ein entsprechendes Eclipse Plugin z.B. EclEmma (http://eclemma.org/)
Schritt 5: Erstellen eines Tests zum Sortieren des folgenden Arrays:
new String[]{"xy", "aa", "bb"};
Schritt 6: Identifizieren Sie weitere Testfälle
Versuchen Sie 100 % Anweisungsabdeckung zu erreichen und 100 % Zweigabdeckung.
Optional Schritt 6: FEST Asserts
Nutzen Sie anstelle der JUnit Assertion API die FEST assertssiehe dazu https://github.com/alexruiz/fest-assert-2.x/wiki/Using-fest-assertions
Hinweis - Eclipse Tooling für Coverage
Um Coverage in Eclipse messen zu können müssen Sie eine Erweiterung installieren z.B. Code Cover oder EclEmma. Die Links zu den Eclipse Update Sites finden Sie hier.Installieren von Code Cover in Eclipse
(siehe http://codecover.org/documentation/install.html)
Name: CodeCover Update Site
URL: http://update.codecover.org/
Installieren von EclEmma Eclipse Plugin
(siehe auch http://www.eclemma.org/)
Name: EclEmma
URL: http://update.eclemma.org/
Mittwoch, 21. Oktober 2015
Komponententests und Testabdeckung
Download Folien (als PDF) hier.
Lernziele:
- Beschreiben Sie die Phasen in die ein Unit-Test aufgeteilt werden kann.
- Welchen Teil einer Anwendung testet ein Komponententests?
- Welche Qualitätskriterien sollten bei Komponententests (Modultests) geprüft werden?
- Was bezeichnet der Begriff Testabdeckung?
- Warum ist eine vollständige Testabdeckung i.d.R. nicht möglich?
- Welche Methoden zur Bestimmung der Testabdeckung für White-Box (bzw. Gray-Box) Tests kennen Sie?
- Wie bestimmen Sie die mögliche Anzahl der Pfade in einer Schleife?
- Was sind "Test Doubles" und wozu braucht man sie?
- Welche unterschiedlichen Typen von "Test Doubles" kennen Sie?
- Wann sollte man ein Mocking Werkzeug wie Mockito zum testen einsetzten?
- JUnit - http://www.junit.org/
- Mockito - https://code.google.com/p/mockito/
- EclEmma - http://eclemma.org
- Code Cover - http://codecover.org/
Mittwoch, 7. Oktober 2015
Einführung Software Qualitätssicherung
Download
Lernziele
- Was ist Software-Qualität?
- Was sind die Kriterien guter Software?
- Wie kommt man zu guter Software?
- Was versteht man unter konstruktive und analytischer Qualitässicherung?
- Unterscheiden Sie die Begriffe Fehlerwirkung, Fehlerzustand, Fehlhandlung.
- Was ist der Unterschied zwischen Testen und Debuggen?
- Beschreiben Sie das Vier Phasen Test Muster. Welche Phasen gibt es und wozu dienen sie?
- Wozu setzt man bei JUnit die Methoden setUp() und tearDown() ein?
- Wie muss man vorgehen, um aus einer "normelen" Klasse eine Testklasse zu machen?
- Welche Java Sprachfunktionen werden in JUnit 4 verwendet um eine Methode als Test zu markieren?
ISO-9126 Attribute
ISO-25010 Attribute
Links
- JUnit Homepage - http://www.junit.org/
- Linksammlung zu bekannten Software Fehlern - http://www5.in.tum.de/lehre/seminare/semsoft/unterlagen_02/
Blog Software-Qualitätssicherung
Herzlich Willkommen zur Vorlesung Softwarequalitätssicherung. Hier auf diesem Blog finden Sie alle Informationen (Folien, Hinweise zu Bücher, Links, etc.) zu der SWQS Vorlesung des WS1516. Es wird zur jeder Vorlesung ein Blogeintrag geben über den ich Ihnen alle Unterlagen zur Vorlesung bereitstelle.
Am besten Sie abonnieren einfach den News-Feed dann bekommen Sie immer mit wenn es was neues rund um die Vorlesung gibt.
Viele Grüße
Christian Baranowski
Am besten Sie abonnieren einfach den News-Feed dann bekommen Sie immer mit wenn es was neues rund um die Vorlesung gibt.
Viele Grüße
Christian Baranowski
Abonnieren
Posts (Atom)