Testautomatisierung im Projektalltag

Größe: px
Ab Seite anzeigen:

Download "Testautomatisierung im Projektalltag"

Transkript

1 Testautomatisierung im Projektalltag 1

2 Agenda 1. Warum testen? 2. Grundlagen des Softwaretestens 3. Tools zur Unterstützung von Tests 4. Automatisiertes Testen - Erfahrungsbericht 2

3 : Erster Bug (Wikipedia) Eine Motte führt zum Ausfall eines Relais im Rechner Mark II. Frau Grace Murray Hopper notierte im Log-Buch:»First actual case of bug being found.offen«-sichtlicher Fehler! Lokalisierung und Beseitigung war einfach! [Spillner, HS Bremen, 2008] Logbuch-Seite des Mark II Aiken Relay Calculator mit dem ersten dokumentierten Bug (Wikipedia) 3

4 Fehler bei der Wiederverwendung von Software US Air Force, Programm zur Raketensteuerung Aus Speicherplatzmangel wurden beim Flug einer Rakete über den Äquator die Flugkoordinaten nicht neu berechnet, sondern nur das Vorzeichen geändert. Dadurch drehte sich die Rakete beim Überflug des Äquator zwar um die eigene Achse, was allerdings niemanden störte. Programm wurde unverändert in den Autopiloten des Jäger F-18 übernommen. Beim Überflug des Äquator drehte sich die Maschine auf den Kopf! [Spillner, HS Bremen, 2008] 4

5 Übersicht Fehlerhäufigkeiten in den USA Branche Anzahl Projekte Fellerrate [Fehler/KLOC] Mittlere Fehlerrate [Fehler/KLOC] Automatisierungstechnik 55 2,0-8,0 5,0 Finanzwirtschaft 30 3,0-10,0 6,0 Eingebettete Systeme 45 0,5-5,0 1,0 IT-Systeme (Datenbanken) 35 2,0-14,0 8,0 Entwicklungsumgebungen 75 5,0-12,0 8,0 Militär - gesamt 125 0,2-3,0 < 1,0 Militär - Luftfahrt 40 0,2-1,3 0,5 Militär - Boden 52 0,5-4,0 0,8 Militär - Raketentechnik 15 0,3-1,5 0,5 Militär - Raumfahrt 18 0,2-0,8 0,4 Wissenschaft 35 0,9-5,0 2,0 Telekommunikation (Switching) 50 3,0-12,0 6,0 Test 35 3,0-15,0 7,0 Trainer/Simulatoren 25 2,0-11,0 6,0 Webapplikationen 65 4,0-18,0 11,0 Sonstige 19 2,0-15,0 7,0 Quelle: Harry M. Sneed, Stefan Jungmayr: Mehr Testwirtschatlichkeit durch Value-Driven-Testing, Informatik Spektrum 34,

6 Und welche Anforderungen stellen unsere Kunden? Projekt mit 3 Releases Jedes Release ist in Produktion gegangen An jedem Release haben ca Entwickler ca. 1,5 Jahre gearbeitet Pro Release 3-5 Lieferungen an Kunden Späte Releases haben zum Teil funktionale Auswirkungen auf frühe Releases Kriterien Abnahmetest: Maximal 5 hohe Fehler durften gefunden werden vom Kunden! Maximal 15 mittlere Fehler durften gefunden werden vom Kunden! Ansonsten: Projektverzögerungen zu unseren Lasten Rahmenbedingungen eines meiner Projekte Inbetriebnahme nur ohne hohe Fehler und wenigen mittleren Fehlern Testen und Qualitätssicherung hilft diese Vorgaben zu erreichen. 6

7 Agenda 1. Warum testen? 2. Grundlagen des Softwaretestens 3. Tools zur Unterstützung von Tests 4. Automatisiertes Testen - Erfahrungsbericht 7

8 Zum Begriff des Testens Testen verfolgt mehrere Ziele: Identifizierung von Defekten Bestimmung der Qualität des Produkts Vertrauen in das Produkt erhöhen Analyse, um Fehlerwirkungen vorzubeugen Steigerung der Softwarequalität natürlich nur, wenn gefundene Fehler behoben werden ;) Aber: Test ist eine stichprobenartige Prüfung Fehlerfreiheit ist durch Testen nicht erreichbar Kein umfangreiches Softwaresystem ist fehlerfrei Test ist nur ein Bestandteil umfangreicher Qualitätsmaßnahmen 8

9 Konstruktives und analytisches Qualitätsmaßnahmen Konstruktive Maßnahmen Konstruktionstechniken und Richtlinien strukturiertes Vorgehen werkzeuggestützte Entwicklung höhere Programmiersprachen Vorgaben entstehen aus projektübergreifende Erfahrungen Planungsaktivitäten in frühen Phasen Einschränkung der Variabilität in der Systementwicklung, um gewisse Fehler nicht auftreten zu lassen und damit ein Maß an Qualität per se zu erreichen. Analytische QS Maßnahmen diagnostische Maßnahmen bringen keine Qualität per se Messung der Qualität der End- bzw. Zwischenprodukte Datenerhebung, um Ist- und Soll-Zustand zu vergleichen und so den Grad der erreichten Qualität im Nachhinein festzustellen. 9

10 Verfahren der konstruktiven Qualitätssicherung Konstruktive Qualitätssicherung Technische Maßnahmen Organisatorische Maßnahme Methoden Sprachen Werkzeuge Richtlinien Standards Checklisten Beispiel Methoden: Ziel: strukturierte Vorgehensweise Technik: Vorgabe von Zwischenprodukten Modelle Diagrammarten Beispiel Richtlinien: Ziel: Eigenschaften a priori festlegen Technik: Vorgabe von Richtlinien Checklisten, Schablonen Überprüfung Richtlinien 10

11 Verfahren der analytischen Qualitätssicherung Inspektion und Reviews Statische Prüfung (Dokument prüfen) Statische Codeanalyse Formale Verifikation Analytische Qualitätssicherung Symbolische Ausführung Tests Black-Box Äquivalenzklassen Grenzwertanalyse Zustandsbezogener Test Anweisungstest Dynamische Prüfung Dynamische Analyse White-Box Memory Leak Analyse Performancemessung Zweigtest 11

12 Testfallerstellung mit Äquivalenzklassen und Grenzwerten Äquivalenzklasse Sammlung von Ein/Ausgabewerten, für die ein System das gleiche Fehlerverhalten aufweist. Für die Testabdeckung muss nur ein Testfall aus der Äquivalenzklasse ausgeführt werden. Bei diesem Prinzip der Ableitung von Testfällen wird untersucht, welche Klassen von möglichen Eingabewerten zu einer ähnlichen Art der Verarbeitung führen. Mit Hilfe von Äquivalenzklassen kann man eine minimale Anzahl an Testfällen ermitteln, um die Anforderungen abzudecken. Grenzwertanalyse Die Grenzwertanalyse ist eine spezielle Form der Äquivalenzklassenanalyse. Die Werte, die sich auf und in der Umgebung der Grenzen der Äquivalenzklassen befinden, nennt man Grenzwerte. Methode wird oft zur Entwicklung von Stress oder Negativtests benutzt. 12

13 Beispiel für Äquivalenzklassen In der Spezifikation eines Online-Banking-Systems wird gefordert, dass nur Beträge von 0,01 bis 500 eingegeben werden dürfen. Für Tests sollte es daher ausreichen, drei Äquivalenzklassen zu bilden (eine gültige und zwei ungültige Äquivalenzklassen): Werte von 0,01 bis und mit 500,00 (gültig) Werte kleiner gleich null (ungültig) Werte größer als 500,00 (ungültig) Jede Überweisung im Online-Banking-System muss durch die Eingabe einer TAN autorisiert werden. Analog zur ersten Äquivalenzklasse können hier für die Eingabe der TAN vier Äquivalenzklassen gebildet werden: Eingabe einer korrekten TAN Eingabe einer falschen TAN Eingabe zu kurzer TAN Eingabe zu langer TAN Auf Basis der beiden Äquivalenzklassen werden die nachfolgenden Testfälle definiert: Gültiger Wert (z. B. 123,45 ) und korrekte TAN (ausgeführt, weil alles korrekt ist.) Gültiger Wert (z. B. 123,45 ) und falsche TAN (fehlgeschlagen, weil falsche TAN.) Ungültiger Wert (z. B. 600,00 ) und korrekte TAN (fehlgeschlagen, weil ungültiger Wert.) Gültiger Wert (z. B. 123,45 ) und zu kurze TAN (fehlgeschlagen, weil TAN zu kurz ist.) Gültiger Werts (z. B. 123,45 ) und zu lange TAN (fehlgeschlagen, weil TAN zu lang ist.) (/http://de.wikipedia.org/wiki/dynamisches_software-testverfahren) 13

14 Beispiel für Grenzwerte Für die Prüfung der Grenzwerte werden nicht beliebige Werte getestet, sondern nur Randwerte oder Grenzwerte. Im Beispiel wären dies die Werte 0,00 (ungültige Eingabe) 0,01 (gültige Eingabe) 500,00 (gültige Eingabe) 500,01 (ungültige Eingabe) (/http://de.wikipedia.org/wiki/dynamisches_software-testverfahren) 14

15 Softwarequalität umfasst mehr als nur die Beseitigung von Fehlern: Qualitätsmerkmale für Software Qualitätsziele Messbare Vorgaben für die verschiedenen Qualitätsmerkmale Funktionalität - Richtigkeit - Angemessenheit - Interoperabilität - Ordnungsmäßigkeit - Sicherheit Übertragbarkeit - Anpassbarkeit - Installierbarkeit - Konformität - Austauschbarkeit Zuverlässigkeit - Wiederherstellbarkeit - Fehlertoleranz - Reife ISO 9126 Benutzbarkeit - Verständlichkeit - Erlernbarkeit - Bedienbarkeit Änderbarkeit - Analysierbarkeit - Modifizierbarkeit - Stabilität - Prüfbarkeit Effizienz - Zeitverhalten - Verbrauchsverhalten Die Anforderungen an die Qualität hängen ab vom Anwendungsbereich der Software 15

16 Softwarequalität umfasst mehr als nur die Beseitigung von Fehlern Qualitätsmerkmale nach ISO 9126 (1/2) Funktionalität Umfasst Charakteristika, welche die geforderten Funktionalitäten des Systems beschreiben Oft durch Ein-/Ausgabeverhalten spezifiziert Mit Tests wird spezifiziertes Ein-/Ausgabeverhalten geprüft Teilmerkmale: Angemessenheit Richtigkeit Interoperabilität Ordnungsmäßigkeit Richtigkeit Zuverlässigkeit Fähigkeit eines Systems, sein Leistungsniveau unter festgelegten Bedingungen über einen definierten Zeitraum zu halten. Teilmerkmale: Reife Fehlertoleranz Wiederherstellbarkeit Benutzbarkeit Teilmerkmale: Verständlichkeit Erlernbarkeit Bedienbarkeit Wichtig für die Akzeptanz der Systeme Benutzbarkeit ist abhängig von Benutzergruppe Prüfung im Rahmen von nicht-funktionalen Tests 16

17 Softwarequalität umfasst mehr als nur die Beseitigung von Fehlern Qualitätsmerkmale nach ISO 9126 (2/2) Effizienz Teilmerkmale: Zeitverhalten Verbrauchverhalten Benötigte Zeit und Verbrauch an Betriebsmitteln für die Erfüllung einer Aufgabe Messbare Ergebnisse lassen sich mit Performancetest (nicht-funktionale Tests) ermitteln Änderbarkeit Wichtiges Kriterium, da Softwaresysteme oft über längeren Zeitraum eingesetzt werden. Änderbarkeit umfasst folgende Teilmerkmale: Analysierbarkeit Modifizierbarkeit Stabilität Prüfbarkeit Übertragbarkeit Übertragbarkeit umfasst folgende Teilmerkmale: Anpassbarkeit Installierbarkeit Konformität Austauschbarkeit Aspekte lassen sich häufig nur durch statische Analysen prüfen 17

18 Fundamentaler Testprozess (in Anlehnung an ISTQB) Allgemeine Softwareentwicklungsmodelle ordnen Test in Entwicklungsablauf ein und betrachten oft nur die Testdurchführung Fundamentaler Testprozess: Generischer Ablaufplan Anpassung an Gegebenheiten und Erfordernisse im Projekt notwendig. (Rollen und Dokumente sind nicht beschrieben.) Verfeinerter Ablaufplan für das Testen. Aufgaben im Prozess dürfen sich überschneiden und auch gleichzeitig durchgeführt werden. Beginn Planung und Analyse und Design Realisierung und Durchführung Auswertung und Bericht Abschluss Steuerung Ende Spillner, A., Linz, T.: Basiswissen Softwaretest - Aus- und Weiterbildung zum Certified Tester dpunkt, 4. Auflage 18

19 Testen im Softwarelebenszyklus Beispiel V-Modell Grundidee V-Modell Entwicklung und Test sind zueinander korrespondierende, gleichberechtigte Tätigkeiten. 19 Grundidee und daraus entstehende Prinzipien lassen sich auf andere Vorgehensmodelle übertragen.

20 Teststufen - Komponententest Komponententest soll die korrekte Funktionalität der einzelnen Systemkomponenten überprüfen. Schwerpunkt ist die isolierte Prüfung der einzelnen Komponenten. Komponententest wird meist durch den Entwickler durchgeführt vor der Integration Test der Komponenten 20

21 Teststufen - Integrationstest Integrationstest soll das fehlerfreie Zusammenwirken der Systemkomponenten überprüfen. Die einzeln getesteten Komponenten werden schrittweise integriert und das Zusammenwirken getestet. Schwerpunkt ist die Prüfung des Zusammenwirken der Komponenten. Dazu müssen die Schnittstellen in möglichst vielen Kombinationen ausgeführt werden. Test der Schnittstellen 21

22 Teststufen - Systemtest Systemtest ist der abschließende Test in einer realitätsnahen Umgebung (ohne den Auftraggeber), u.a. Funktionstest gegen die Spezifikation Massentest, Performancetest, Lasttest Usability Test Schwerpunkt der Prüfung ist das Verhalten des Gesamtsystems Test des Gesamtsystems 22

23 Teststufen - Abnahmetest Abnahmetest wird in der Einsatzumgebung des Auftraggebers mit realen Daten unter Mitwirkung des Auftraggebers durchgeführt Generierung und Installation des Systems Testfälle für reale Geschäftsvorfälle Zufällige Testfälle Prüfung Dokumentation Abnahmetest ist die Grundlage für die Abnahme durch den Auftraggeber. 23

24 Überblick Teststufen Komponententest Integrationstest Systemtest Abnahmetest Testbasis Komponentenspez. Systemdesign Schnittstellen- Dokumente auf Systemebene, Dokumente, die System aus Anforderungen übergreifende Spezifikation, Anwendersicht Softwaredesign Workflows, UCs Anforderungen... beschreiben Tester Entwickler Tester Tester Kunde Teststrategie White-Box Black-Box Black-Box Black-Box Testziele z.b. Funktionalität z.b. Schnittstellen- z.b. Erfüllt System die z.b. Vorgaben Vertrag Robustheit fehler Anforderungen Akzeptanz Effizienz Wechsel- (funktional vs. Nutzer u. wirkungen nicht-funktional) Systembetreiber 24 Komponententest und Integrationstest erfolgen nicht streng sequentiell Systemtest und Abnahmetest fallen typischerweise in die letzten Projektwochen

25 Frühes Testen ist wichtig für Projekterfolg Frühes Testen verringert die Projektrisiken Frühes Testen macht Entwicklung der Produktqualität transparent Implementierung Komponententest Stufenweise Integrationstest Systemtest Abnahmetest t Bereit zum Systemtest Bereit zur Abnahme 25

26 Grundsätze des Softwaretestens (nach ISTQB) 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 (Pesticide paradox). 6. Testen ist abhängig vom Umfeld. 7. Trugschluss: Keine Fehler bedeutet ein brauchbares System. Spillner, A., Linz, T.: Basiswissen Softwaretest - Aus- und Weiterbildung zum Certified Tester dpunkt, 4. Auflage 26

27 Agenda 1. Warum testen? 2. Grundlagen des Softwaretestens 3. Tools zur Unterstützung von Tests 4. Automatisiertes Testen - Erfahrungsbericht 27

28 Werkzeugtypen zur Unterstützung und Automatisierung von Tests (1/2) Werkzeuge für Management, Steuerung von Tests Erfassung, Verwaltung, Überwachung von Testfällen Verwaltung Problem-, Fehlermeldungen Verwaltung von Anforderungen (Requirements) Konfigurationsmanagement Werkzeuge zur Testspezifikation Verwaltung Vor-/Nachbedingungen von Testfällen Testdatengeneratoren (datenbankbasiert, spezifikationsbasiert, ) Werkzeuge für statische Tests Werkzeuge zur Reviewunterstützung Statische Analysen (z.b. zykomatische Anzahl) Model Checker 28

29 Werkzeugtypen zur Unterstützung und Automatisierung von Tests (2/2) Werkzeuge für dynamischen Tests Testtreiber, Testrahmen Simulatoren, Testroboter (z.b. Capture-and-Replay-Tools) Komparatoren Überdeckungsanalyse, Dynamische Analyse Werkzeuge für nicht-funktionale Tests Last-/Performancetests Monitore 29

30 Beispiel Testmanagement: HP Quality Center 30 HP ist führendes Tool im Kontext Testmanagement (Forrester Wave Studie) Browserbasiert Möglichkeit zur Automatisierung von Tests mit HP Quick Test

31 Werkzeuge für statische Tests Beispiele Checkstyle Prüfung von Coding Conventions in Java Projektkonfiguration notwendig Integration in Eclipse möglich FindBugs Durchsucht Java-Programmen nach Fehlermuster Fehlermuster deuten oft auf tatsächliche Fehler hin. Filterung bei größeren Projekten notwendig: Anzahl der angezeigten Warnungen sehr groß Sonograph for Java: Hinterlegung von Architekturmodellen für Projekt Identifikation von Architektur-oder Abhängigkeitsverletzungen Identifikation zyklischer Abhängigkeiten 31

32 Werkzeuge für die Testautomatisierung Beispiel JUnit Framework zum Testen von Java-Programmen Insbesondere zur Erstellung von Testtreibern für automatisierte Unit-Tests (Klassen oder Methode) Architekturüberblick aus JUnit A Cook's Tour 32

33 Einfacher JUnit-Testfall Test erben von Oberklasse TestCase public class StringTest extends TestCase { protected void setup( ) protected void teardown( ) Initialisierung des Testobjekts Zurücksetzen des Testobjekts nach Ausführung des Tests public void testsimpleadd() { String s1 = new String( abcd ); String s2 = new String( abcd ); Testobjekt wird geprüft mit assert-methoden von JUnit 33 } asserttrue( Strings not equal, s1.equals(s2)); } In Projekten wird Testframework aufgesetzt, das die Junit-TestCase-Klasse spezialisiert. Initialisierung der Datenbank, Komponenten, wird einheitlich für alle Tests gekapselt. Nur spezifische Initialisierungen in konkreten Tests enthalten.

34 JUnit: Integration in Eclipse 34

35 Vorteile, Nachteile JUnit Vorteile Einfache Erstellung von Testtreibern Tests können automatisiert werden Integration in IDEs Regelmäßig Durchführung der Tests möglich (nightly builds) Projektspezifische Anpassungen möglich Refactorings wirken sich auch auf Testtreiber aus Nachteile Keine Trennung von Testcode und Testdaten in Testtreibern Abhängige Komponenten müssen mit eingebunden werden in Test GUI-Tests nicht möglich 35

36 Werkzeuge für die Testautomatisierung Beispiel Selenium Testframework für Webanwendungen Aufzeichnung manuell durchgeführter Bedienschritte Bedienschritte werden als Testskript gespeichert. Beliebige Wiederholung der aufgezeichneten Skripte möglich Testskripte können als HTML-Tabellen abgelegt werden Selenium basiert rein auf HTML und JavaScript Selenium-IDE als Firefox-Addon verfügbar Capture-and-Replay-Tool 36

37 Vorteile, Nachteile Selenium Vorteile Einfache Erstellung von GUI- Testtreibern Gut geeignet für Regressionstests Vernünftiges Reporting durchgeführter Testfälle Generierung von Testskripten möglich Nachteile Keine Trennung von Testcode und Testdaten in Testtreibern Empfindlich ggü. Änderungen an GUI Kein Refactoring der Testfälle möglich Nachbearbeitung der Skripte notwendig Für langlebigen Einsatz ist angemessene Architektur notwendig (Modularisierung Testfälle, ) 37

38 Chancen und Risiken durch automatisiertes Testen Chancen Zeitdruck und Risiko vermindern sich in späten Projektphasen Kurzfristige Absicherung von Änderungen während des Produktivbetriebs Absicherung von Seiteneffekten Kostenersparnis Weniger stupider Test Risiken Zu wenig (Test-)Erfahrung im Team Ungeeignetes Werkzeug Sammlung von Testwerkzeugen passt nicht zusammen Testfälle sind nicht wartbar oder automatisierbar Pflegeaufwände für Testfälle ist hoch 38

39 Automating chaos gives faster chaos* Nicht als erstes über Werkzeuge zur Automatisierung der Testdurchführung nachdenken Nur wenn ein systematischer Testprozess definiert, eingeführt und gelebt wird, kann die Produktivität durch Tests zur Automatisierung erhöht werden. Reihenfolge zur Einführung von Werkzeugen 1. Fehlermanagement 2. Konfigurationsmanagement 3. Testplanung 4. Testdurchführung 5. Testspezifikation *Fewster, M., Graham, D.: Software Automation, Effective use of test execution tools 39

40 Abhängig von der Anzahl Wiederholungen der Testdurchführung lohnt sich eine Testautomatisierung Kosten Manuelle Tests Kosten Wartung TF Automatisierte Tests Kosten Implemen tierung TF Kosten Testspezifikation Anzahl Wiederholungen Testfälle Ab ca. 5 Wiederholungen lohnt sich eine Testautomatisierung Große Projekte laufen oft über mehrere Jahre mit mehreren Releases Früh über Testautomatisierung nachdenken 40

41 Agenda 1. Warum testen? 2. Grundlagen des Softwaretestens 3. Tools zur Unterstützung von Tests 4. Automatisiertes Testen - Erfahrungsbericht 41

42 Kernelemente des Testkonzepts in unserem Projekt Unittests auf Komponentenebene (Entwicklertests) Continuous Integration mit Nightly Builds und Reports Manuelle Integrationstests Testkonzept Erstellung von Testfallspezifikationen Zentrale Bereitstellung von Testdaten Automatisierte Integrationstests 42

43 Entwicklertests und Continuous Integration Entwicklertests Manuelle Entwicklertests (für Dialoge) JUnit-Tests Entwickler durfte erst einchecken, wenn die automatisierten Tests der Komponente lokal erfolgreich waren Vorgaben über Art und Umfang der Tests Refactoring der JUnit-Tests hat gut funktioniert Continuous Integration Einsatz von Hudson Sobald Entwickler eingecheckt hat, wurde Anwendung neu gebaut und getestet (auf Komponentenebene mit Junit) Reports wurden bereitgestellt und per Mail versandt an Verantwortliche Nightly-Build Nighly-Build wurde täglich ausgeführt Bauen und Deployen der Anwendung für manuelle Integrationstests am nächsten Tag Ausführung der automatisierten Entwicklertests und Integrationstests Historisierung der Reports über mehrere Wochen (Zur Identifikation eines Fehler, musste nachgestellt werden können, wann Fehler aufgetreten ist) 43

44 Testfallspezifikation: Testziele werden zu Testfällen gruppiert Ableiten von Testzielen/Testkriterien aus Spezifikation Gruppierung zu logischen Testfällen [Capgemini] 44

45 Verwendung der Testfallspezifikationen Konkrete Regeln/Vorgehensweisen zur Ableitung von Testzielen aus Spezifikationen Regeln sollen Testabdeckung sicherstellen Regeln stellen sicher, dass alle Themen ähnlich detailliert geprüft werden Beispiele: Vorbelegungen sind zu prüfen Vor-/Nachbedingungen sind zu prüfen Einfache Validierung (Zeichenanzahl, Umlaute, Datum, usw.) sind nicht explizit zu prüfen. Regeln haben sich sehr stark an gegebenen Strukturen der Spezifikation ausgerichtet Vergabe von Teststrategien auf Ebene der Testfallspezifikation Einfaches Dialogverhalten wurde manuell getestet, nicht wiederholt getestet Pflichtfelder Korrekte Generierung von Dokumenten Verhalten aus Anwendungsfällen wurde automatisiert getestet Vor-/Nachbedingungen Externe Schnittstellen. Entscheidung über Testwerkzeug (Proven! Oder JUnit) Testfallspezifikationen wurden einem Review unterzogen Frühe Qualitätssicherung darüber, was getestet werden soll Prüfung auf Vollständigkeit Testfallspezifikationen wurden dem Kunden übergeben Abgleich mit Testideen des Kunden war insbesondere auf der Ebene der Testziele möglich 45

46 Vorgehen automatisierte Dialogtests Testfallbeschreibung Testausführung Testergebnis Beschreibung basiert auf einer einfachen Sprache in HTML- Tabellen Organisation im Dateisystem Versionierung ist möglich Automatische Ausführung der Testfälle, dabei Anbinden verschiedener Testschnittstellen Verknüpfte Testfälle erlauben Wiederverwendung von Testsequenzen Report von Testergebnissen in der Testfallspezifikation Einfache und leicht verständliche Ergebnispräsentation im Ampel-Stil [Capgemini] 46

47 Proven! setzt keyword-basiertes Testen um Tool bei Capgemini entwickelt Schlüsselworte mit optionalen Parametern Für Schlüsselwörter ist im Testtreiber eine Implementierung hinterlegt, die vordefinierte Aktionen auslöst Testautomatisierer erstellt Tabellen, in denen die Schlüsselworte mit ihren Testdaten zu Testszenarien zusammengestellt sind Während automatisierter Testausführung liest Testframework Testfalltabellen ein und führt die dazugehörigen Operationen aus und protokolliert die Durchführung Vorteil: Testautomatisierer kann ohne Kenntnis der Testautomatisierungsdetails durch Kombination der Schlüsselwörter Testfälle erstellen Nachteil: Sprache ist nicht so leistungsfähig wie z.b. JUnit [Capgemini] 47

48 Regeln zur Implementierung von automatisierten Tests Problem im Projekt Proven!-Testfälle nicht robust gegen Änderungen der Anwendung Proven!-Testfälle nicht robust gegen Änderungen der Testdaten Hohe Kosten bei Anpassung der Testfälle Identifikation von Antipattern bei der Implementierung von Testfällen SQL-Antipattern Teilweise wurden in den Testfällen SQL-Anweisungen abgesetzt Bei einer Anpassung des Datenmodells funktionierten die Testfälle nicht mehr Falsche Annahmen bezüglich der Konstanz der Testdaten Teilweise wurden Ergebnismengen als statisch angenommen Bei einer Änderung der Testdaten können sich Ergebnismengen ändern, nur Konsistenz der Kerndaten konnte sichergestellt werden Programmierung in den Testfällen Programmierung mit den Hausmitteln der Testframeworks ist fehleranfällig und nicht wartbar Einsatz von fachlichen Konnektoren, die aus dem Skript heraus aufgerufen werden schafft Abhilfe 48

49 Erfahrung mit automatisierten Dialogtests Automatisierung von Dialogtests ist sinnvoll in einem Projekt über mehrere Jahre Vollautomatisierung ist nicht wirtschaftlich Aufwand zur Erstellung der automatisierten Tests ist sehr hoch Wartungsaufwand von automatisierten Testfällen kann hoch werden Abhängig von den Projektbedingungen muss geprüft werden, was wie oft getestet werden muss Modularisierung bei Dialogtests Modularisierung bei Dialogtests verschlechtert die Lesbarkeit Frameworks für die Unterstützung von Dialogtests erlauben einfache Implementierung von Testfällen Vorgaben für Implementierung sind unbedingt notwendig, da sonst Wartung nicht möglich ist Automatisierte Dialogtestfälle werden oft naiv implementiert Testfälle sind anfällig gegenüber Änderungen der Anwendung und den Testdaten Frameworks für die Unterstützung von Dialogtests unterstützen Refactoring nur unzureichend/gar nicht Kontinuierliche Überwachung und Wartung der Testfälle ist notwendig Anwendung darf den Testfällen nicht davon laufen 49

50 Vorgehen automatisierte Dialogtests Erstbefüllung Test-DB-Skripte Test-DB für Tests DB Skripte zur Ausführung von Anwendungsfällen Test- DB Befüllung über Schnittstellen zu Inputsytemen Initiale Daten von Kunden geliefert Skripte nutzen Testframework Skripte führen Anwendung aus Nach Ausführung der Skripte stehen Testdaten zur Verfügung Testdaten für Integrations und Entwicklertests Ziel: Zentrale Bereitstellung von konsistenten, korrekten Testdaten Gründe für Vorgehen Erstellung von konsistenten Testdaten erfordert detailliertes fachliches Wissen Einzelne Einzelne Testfallentwickler oftmals überfordert mit Erstellung Testdaten Anwendung und damit die Testdaten ändern sich Erstellung Testdaten muss wiederholbar sein Aufwand bei einzelnen Personen für die Erstellung von Testdaten reduziert sich. 50 Nicht alle Testdaten für alle Testfälle hinterlegen! Zentraler Testdatenpool Testdaten werden in Testfällen (über Anwendung) angepasst

51 Fazit: Testautomatisierung Testautomatisierung erlaubt gleichbleibend hohe Qualität über mehrere Releases Testautomatisierung sollte mit Beginn der Entwicklung hochgezogen werden Automatisiertes Testen erfordert strukturiertes Vorgehen Genau überlegen, was automatisiert getestet wird Testfälle müssen sorgfältig automatisiert werden Migrationsdaten sollten für den Test so früh wie möglich zur Verfügung stehen Testfälle müssen aktuell sein ansonsten bekommen Entwickler kein Feedback Tester und Entwickler sollten sich persönlich kennen Häufige Spezifikationsänderungen führen zu hohen Aufwänden bei automatisierten Tests Qualität zwischen einzelnen Testphasen messen/prüfen Gute Traceability zwischen Analysewelt und Test ist sehr hilfreich Neben funktionalen Tests auch früh genug mit nichtfunktionalen Tests beginnen 51

52 Literatur A. Spillner, T Linz: Basiswissen Softwaretest: Aus- und Weiterbildung zum Certified Tester - Foundation Level nach ISTQB-Standard) Guter Überblick über die Grundlagen des Softwaretestens. Vorstellung statischer und dynamischer Testverfahren, Testwerkzeuge Testen im Softwarelebenszyklus Aufgaben des Testmanagements Konform zum zum Certified Tester - Foundation Level F. Westphal: Testgetriebene Entwicklung mit JUnit & FIT: Wie Software änderbar bleibt Einführung in JUnit und FIT! Vorgehensweise beim Test Driven Development Webseiten - Open Source Tools for Software Testing Professionals - Üb erblick über Open-Source-Java-Testtools - Testwerkzeug (Ebene Testmanagement) - Review-Formulare, Test-Tool-Requirements, - Überblick über JUnit 52

53 Vielen Dank für Ihre Aufmerksamkeit msg systems ag Robert-Bürkle-Straße Ismaning/München Telefon: Fax:

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

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

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

Projektmanagement aus der Praxis der Softwareentwicklung

Projektmanagement aus der Praxis der Softwareentwicklung Projektmanagement aus der Praxis der Softwareentwicklung Vorlesung im Wintersemester 2015/16 an der Technischen Universität Dortmund 4. Vorlesung am 30.11.2015: Qualitäts- und Risikomanagement Oliver Hakim

Mehr

Projektmanagement aus der Praxis der Softwareentwicklung

Projektmanagement aus der Praxis der Softwareentwicklung Projektmanagement aus der Praxis der Softwareentwicklung Vorlesung im Wintersemester 2013/14 an der Technischen Universität Dortmund 4. Vorlesung am 24.11.2014: Qualitäts- und Risikomanagement Dr. Thomas

Mehr

QADVICE. Forum 7-it. Software- und System-Qualitätssicherung für IT-Infrastrukturlösungen. Hermann Will 18.05.2010

QADVICE. Forum 7-it. Software- und System-Qualitätssicherung für IT-Infrastrukturlösungen. Hermann Will 18.05.2010 Forum 7-it Software- und System-Qualitätssicherung für IT-Infrastrukturlösungen Hermann Will 18.05.2010 18.05.2010 Copyright Hermann Will 2010 Folie 1 Agenda Einführung QS Testobjekte Teststrategie Testtechniken

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

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

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

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

Effizienzsteigerung von Softwaretests durch Automatisierung

Effizienzsteigerung von Softwaretests durch Automatisierung Bachelorarbeit am Institut für Informatik der Freien Universität Berlin, Arbeitsgruppe Programmiersprachen Effizienzsteigerung von Softwaretests durch Automatisierung David Emanuel Diestel 04.02.2016 Übersicht

Mehr

Testen in KMU Projekten Bern, November 2013

Testen in KMU Projekten Bern, November 2013 Testen in KMU Projekten Bern, November 2013 Beraterprofil Stephan Wiesner Beratungsschwerpunkte Beratungsschwerpunkte Testmanagement Testautomation Entwicklung und Testen im Mobile-Umfeld Applikationsschwerpunkte

Mehr

Swp08-6 Verantwortliche: Yundensuren, Baigalmaa. Testkonzept

Swp08-6 Verantwortliche: Yundensuren, Baigalmaa. Testkonzept Testkonzept 1.Einführung Um die Zuverläsigkeit und die Qualität der Software und des gesamten Systems zu verbessern, sind Tests durchzuführen. Die Testreihe läst sich in drei Stufen einteilen, nülich Komponententest,

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

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

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

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

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

Softwarequalität: Einführung. 15. April 2015

Softwarequalität: Einführung. 15. April 2015 Softwarequalität: Einführung 15. April 2015 Überblick Warum ist Softwarequalität wichtig? Was ist Softwarequalität? Wie erreicht man Softwarequalität? Taentzer Softwarequalität 2015 8 Berühmte Software-Fehler

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

Testmanagement. Dirk Tesche

Testmanagement. Dirk Tesche Testmanagement Dirk Tesche Agenda Einführung in die Thematik Testarten Testprozess Agile Methoden und Techniken Testautomatisierung Eingrenzung und Motivation Abbildung entnommen aus: www.campero.de Ziele

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

Ein Testprozess für Modellbasiertes Testen

Ein Testprozess für Modellbasiertes Testen Ein Testprozess für Modellbasiertes Testen Seminar: Software-Qualitätssicherung Tobias Eckardt 8. Juli 2008 Testen von Softwaresystemen Fehler in einer adaptiven Geschwindigkeitsregelung (engl. adaptive

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

Gegenseitige Beeinflussungen von Testautomatisierung, Testmanagement und Entwicklung

Gegenseitige Beeinflussungen von Testautomatisierung, Testmanagement und Entwicklung Gegenseitige Beeinflussungen von Testautomatisierung, Testmanagement und Entwicklung Jan Düttmann Archimedon Software + Consulting GmbH & Co. KG Marienstraße 66 32427 Minden Stephan Kleuker Hochschule

Mehr

Softwareentwicklungsprozesse. 18. Oktober 2012

Softwareentwicklungsprozesse. 18. Oktober 2012 Softwareentwicklungsprozesse 18. Oktober 2012 Überblick Was soll ein Softwareentwicklungsprozess leisten? Überblick über Softwareentwicklungsprozesse Welche gibt es? Warum gibt es mehrere? Diskussion:

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

Stuttgarter Test-Tage 2011 Der Fluch des grünen Balkens in sehr großen Projekten

Stuttgarter Test-Tage 2011 Der Fluch des grünen Balkens in sehr großen Projekten main {GRUPPE} Seite 1 Jürgen Nicolai Geschäftsführender Gesellschafter Liebknechtstrasse 33 70178 Stuttgart Tel : 0711 2270225 Fax : 0711 2270497 Mail : j.nicolai@main-gruppe.de Web: www.health4j.de Stuttgarter

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

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

Automatische Testfallgenerierung aus Modellen. 8. Neu-Ulmer Test-Engineering-Day 2013 06.06.2013 Martin Miethe Automatische Testfallgenerierung aus Modellen 8. Neu-Ulmer Test-Engineering-Day 2013 06.06.2013 Martin Miethe Über sepp.med Über 30 Jahre Erfahrung im industriellen Umfeld Medizintechnik Pharmazie Automotive

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

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

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

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

Requirements Engineering & Software Test - Synergien effektvoll nutzen

Requirements Engineering & Software Test - Synergien effektvoll nutzen Requirements Engineering & Software Test - Synergien effektvoll nutzen Software & Systems Quality Conference, 27.-29. Mai 2009 Düsseldorf, Deutschland Bernhard Rauter, BSc (Hons) Software-Test Berater

Mehr

Testmanagement. Q-Day. Frank Böhr Fraunhofer IESE frank.boehr@iese.fraunhofer.de

Testmanagement. Q-Day. Frank Böhr Fraunhofer IESE frank.boehr@iese.fraunhofer.de Frank Böhr Fraunhofer IESE frank.boehr@iese.fraunhofer.de Agenda Warum Testmanagement? Was sind die wichtigsten Schritte beim Testmanagement? Wie funktioniert Testmanagement Toolunterstützung Page 1/15

Mehr

IT-Arbeitskreis OWL. Testautomatisierung 2.0. Modellbasiertes Testen. Baris Güldali 08.12.2010

IT-Arbeitskreis OWL. Testautomatisierung 2.0. Modellbasiertes Testen. Baris Güldali 08.12.2010 IT-Arbeitskreis OWL Testautomatisierung 2.0 Baris Güldali 08.12.2010 Modellbasiertes Testen Agenda Warum Testautomatisierung 2.0? Was ist MBT? Wie soll ich mit MBT anfangen? Wann ist MBT geeignet? 2 Fundamentaler

Mehr

Profil. Persönliche Daten: Fachkenntnisse: Dominikus Gerbl Dipl. Inf. (FH) Name: Titel: Jahrgang: 1981 Schwerpunkte:

Profil. Persönliche Daten: Fachkenntnisse: Dominikus Gerbl Dipl. Inf. (FH) Name: Titel: Jahrgang: 1981 Schwerpunkte: Persönliche Daten: Name: Titel: Jahrgang: 1981 Schwerpunkte: Branchen: Ausbildung: Zertifizierungen: Fremdsprachen: Nationalität: Dominikus Gerbl Dipl. Inf. (FH) Funktionaler Test Last- & Performancetest

Mehr

Agiles Testen - Ein Erfahrungsbericht Thomas Schissler / artiso AG Michael Lierheimer/ infoteam software AG

Agiles Testen - Ein Erfahrungsbericht Thomas Schissler / artiso AG Michael Lierheimer/ infoteam software AG Agiles Testen - Ein Erfahrungsbericht Thomas Schissler / artiso AG Michael Lierheimer/ infoteam software AG Herausforderungen bei agilem Testen Klassische Projektstruktur Projektleiter Entwickler QS-Abteilung

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

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

Validierung von Software-Werkzeugen. Matthias Hölzer-Klüpfel

Validierung von Software-Werkzeugen. Matthias Hölzer-Klüpfel Validierung von Software-Werkzeugen Matthias Hölzer-Klüpfel Was ist Validierung ISO 9000:2000 Bestätigung durch Bereitstellung eines objektiven Nachweises, dass die Anforderungen für einen spezifischen

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

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

Testen von graphischen Benutzeroberflächen. 24. Juni 2015

Testen von graphischen Benutzeroberflächen. 24. Juni 2015 Testen von graphischen Benutzeroberflächen 24. Juni 2015 Überblick Motivation für das automatische Testen von graphischen Benutzeroberflächen Entwicklungsprinzipien für GUIs Capture / Replay Testmethode

Mehr

Notwendigkeit der Testautomatisierung? Neue Ideen, Konzepte & Werkzeuge

Notwendigkeit der Testautomatisierung? Neue Ideen, Konzepte & Werkzeuge i.s.x. Software GmbH & Co. KG Notwendigkeit der Testautomatisierung? Neue Ideen, Konzepte & Werkzeuge i.s.x. Software GmbH & Co. KG Dresden, 19. Februar 2013 Karin Eisenblätter Die i.s.x. Software GmbH

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

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

GELEBTE ENTWICKLUNGSRICHTLINIEN

GELEBTE ENTWICKLUNGSRICHTLINIEN GELEBTE ENTWICKLUNGSRICHTLINIEN VOM VERSTAUBTEM PAPIERSTAPEL ZUM SPICKZETTEL FÜR ENTWICKLER BORIS WEHRLE ENTWICKLUNGSRICHTLINIEN Ein Programmierstil (engl. code conventions, coding conventions, coding

Mehr

Testmanagement bei SAP-Projekten

Testmanagement bei SAP-Projekten Testmanagement bei SAP-Projekten Erfolgreich Planen Steuern Reporten bei der Einführung von SAP-Banking von Alberto Vivenzio, Domenico Vivenzio 1. Auflage Springer Vieweg Wiesbaden 2012 Verlag C.H. Beck

Mehr

Agile Testing. Der agile Weg zur Qualität. von Siegfried Tanczos, Martin Klonk, Richard Seidl, Helmut Pichler, Manfred Baumgartner. 1.

Agile Testing. Der agile Weg zur Qualität. von Siegfried Tanczos, Martin Klonk, Richard Seidl, Helmut Pichler, Manfred Baumgartner. 1. Agile Testing Der agile Weg zur Qualität von Siegfried Tanczos, Martin Klonk, Richard Seidl, Helmut Pichler, Manfred Baumgartner 1. Auflage Hanser München 2013 Verlag C.H. Beck im Internet: www.beck.de

Mehr

Die Welt der SW-Qualität Ein Streifzug in 30 Minuten! Johannes Bergsmann Eigentümer

Die Welt der SW-Qualität Ein Streifzug in 30 Minuten! Johannes Bergsmann Eigentümer Die Welt der SW-Qualität Ein Streifzug in 30 Minuten! Johannes Bergsmann Eigentümer Inhalt Top Themen Requirements Testen Testautomatisierung Change-Management Risiko-Management Agile Methoden Traceability

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

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

Systematisches Testen der Funktionalität von Softwaresystemen. 17. Juni 2015 Systematisches Testen der Funktionalität von Softwaresystemen 17. Juni 2015 Überblick Semantische Qualität von Software Teststrategien und prinzipien Testgetriebene Softwareentwicklung Welche Arten von

Mehr

Build-Pipeline mit Jenkins

Build-Pipeline mit Jenkins JUG Augsburg 24.10.2013 Seite 1 Wer sind wir? Agiler Architekt und Entwickler Eigenes Produkt mit kompletter Pipeline / CD aktuell: Architekt / Entwickler in einem großen Entwicklungsprojekt im Automotiv

Mehr

Agilität und systematischer Test

Agilität und systematischer Test Agilität und systematischer Test Wie können die Vorteile der agilen Softwareentwicklung mit einem systematischen Test kombiniert werden? Prof. Dr.-Ing. Andreas Spillner Hochschule Bremen Acceptance Café,

Mehr

Agiles Testen. Handwerkszeug zur Prävention von Fehlern und technischen Schulden. Entwicklertag 2014. Lars Alvincz, Daniel Knapp

Agiles Testen. Handwerkszeug zur Prävention von Fehlern und technischen Schulden. Entwicklertag 2014. Lars Alvincz, Daniel Knapp Agiles Testen Handwerkszeug zur Prävention von Fehlern und technischen Schulden Entwicklertag 2014 Lars Alvincz, Daniel Knapp 2 Agenda Ziel dieses Vortrags Grundzüge des agilen Testens Voraussetzungen

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

ALLG. METHODEN DES SOFTWAREENGINEERING

ALLG. METHODEN DES SOFTWAREENGINEERING Test und Testdokumentation ALLG. METHODEN DES SOFTWAREENGINEERING Agenda Maßnahmen zur Qualitätssicherung und Steigerung Tests, Testkategorien und Fehlerarten Teststufen und Testplanung Testdokumentation

Mehr

Automatisierte GUI Tests in fachlichen Teststufen. 07.09.2011 Patrick Möller

Automatisierte GUI Tests in fachlichen Teststufen. 07.09.2011 Patrick Möller Automatisierte GUI Tests in fachlichen Teststufen 07.09.2011 Patrick Möller Inhaltsangabe Vorstellung und Situation BITMARCK BITMARCK und iskv_21c Testautomatisierung - warum? Teststufen bei BITMARCK Testautomatisierung

Mehr

FWP Komponentenorientierte Softwareentwicklung Test-Driven-Development mit Java

FWP Komponentenorientierte Softwareentwicklung Test-Driven-Development mit Java FWP Komponentenorientierte Softwareentwicklung Test-Driven-Development mit Java Hochschule München FK 07 SS 2009 Theis Michael - Senior Developer HVB Information Services GmbH März 2009 Grundlagen des

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

Unit Tests in der Testgetriebenen Entwicklung

Unit Tests in der Testgetriebenen Entwicklung Unit Tests in der Testgetriebenen Entwicklung Reduzierung des Testanteils am Gesamtsoftwareentwicklungsaufwand -- neue Strategien und Tools -- Hauptseminar Systemorientierte Informatik Christian Krauß

Mehr

Kooperatives Testen Basis auch zur Testautomatisierung während der Softwareentwicklung. Dipl. Inform. Hans-Josef Eisenbach

Kooperatives Testen Basis auch zur Testautomatisierung während der Softwareentwicklung. Dipl. Inform. Hans-Josef Eisenbach Kooperatives Testen Basis auch zur Testautomatisierung während der Softwareentwicklung Dipl. Inform. Hans-Josef Eisenbach Der rote Faden Motivation zum Testen während der Softwareentwicklung Das Testkonzept

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

Lernziel Für Fallstudien und Beispiele eine Qualitätszielbestimmung anhand des ISO 9126-Qualitätsmodells vornehmen können.

Lernziel Für Fallstudien und Beispiele eine Qualitätszielbestimmung anhand des ISO 9126-Qualitätsmodells vornehmen können. 1 Software-Qualitätssicherung 2 Einführung und Überblick LE 1 V Unternehmensmodellierung 1 Grundlagen [stark gekürzt] Prof. Dr. Helmut Balzert Lehrstuhl für Software-Technik Ruhr-Universität Bochum 1 Grundlagen

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

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

SL PROVISOR Automation in der Qualitätssicherung sinnvoll erhöhen

SL PROVISOR Automation in der Qualitätssicherung sinnvoll erhöhen SL PROVISOR Automation in der Qualitätssicherung sinnvoll erhöhen Christian Langmann langmann@softwareloft.de Stefan Kohrs kohrs@softwareloft.de Oktober 2013 SoftwareLoft IT-Solutions GmbH gegründet 2004

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

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

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

Testautomatisierung. Märchen, Möglichkeiten und praktischer Nutzen. Richard Seidl 21. Januar 2013 TU Dresden. Medizin- und Informationstechnik AG

Testautomatisierung. Märchen, Möglichkeiten und praktischer Nutzen. Richard Seidl 21. Januar 2013 TU Dresden. Medizin- und Informationstechnik AG Medizin- und Informationstechnik AG Testautomatisierung Märchen, Möglichkeiten und praktischer Nutzen Richard Seidl 21. Januar 2013 TU Dresden Kardiologische Funktionsdiagnostik Vitalfunktions-Monitoring

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Softwareentwicklung Probleme bei großer Software Life-Cycle-Modelle Teilphasen eines Software-Projekts Methoden und Werkzeuge 01101101 01011001 11010011 10011000 00000011 00011100

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

Profil 0519. Profil. Jahrgang Ausbildung. xxx ISTQB Certified Tester Foundation Level Ausbildung zur Applikationsentwicklerin Multimedia Magister xxx

Profil 0519. Profil. Jahrgang Ausbildung. xxx ISTQB Certified Tester Foundation Level Ausbildung zur Applikationsentwicklerin Multimedia Magister xxx Profil Jahrgang Ausbildung xxx ISTQB Certified Tester Foundation Level Ausbildung zur Applikationsentwicklerin Multimedia Magister xxx Schwerpunkte Qualitätssicherung (Testfallerstellung, Testdurchführung)

Mehr

T4 - Testen im Software- Lebenszyklus

T4 - Testen im Software- Lebenszyklus AK 2 am Armin Beer, Siemens PSE und Wirtschaftlichkeitsaspekte Armin Beer, Siemens PSE 2 1 Aufgabe: Test einer Applikation aus dem Sozialversicherungsbereich Client-side Web Browser Network Internet Web

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

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

Entwicklungswerkzeuge

Entwicklungswerkzeuge Entwicklungswerkzeuge Werner Struckmann & Tim Winkelmann 10. Oktober 2012 Gliederung Anforderungen Projekte Debugging Versionsverwaltung Frameworks Pattern Integrated development environment (IDE) Werner

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

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

Qualität von Software - Prof. Schlingloff, Lackner - SS2013 DYNAMISCHER TEST. Whitebox Testen mit JUnit 1 DYNAMISCHER TEST Whitebox Testen mit JUnit Übersicht 2 1. Grundlagen des Unittests 1. Units 2. Unit Testing 2. Testverfahren 1. Blackbox 2. Whitebox 3. Unit Testing mit Eclipse 4. Besprechung der Übungsaufgabe

Mehr

Automatisiertes Testen von Prüfplätzen

Automatisiertes Testen von Prüfplätzen EXCO. The Quality Company Solutions for Industry and R&D Automatisiertes Testen von Prüfplätzen Am Beispiel einer Prüfplatz-Software stellen wir einen toolgestützten Prozess zur Erstellung der erforderlichen

Mehr

Softwarequalität: Zusammenfassung und Ausblick. 17. Juli 2013

Softwarequalität: Zusammenfassung und Ausblick. 17. Juli 2013 Softwarequalität: Zusammenfassung und Ausblick 17. Juli 2013 Überblick Rückblick: Qualitätskriterien Qualitätsmanagement Qualitätssicherungsmaßnahmen Thesen zur Softwarequalität Ausblick: Lehrveranstaltungen

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

Berufsbild Tester - eine Profession?

Berufsbild Tester - eine Profession? Berufsbild Tester - eine Profession? Ingolstadt 22. November 2013 TAV 35 Vortrag: Berufsbild Tester Aufgabe? Ausbildung? Karrierepfad? Jörn Münzel German Testing Board e.v. ITinera projects & experts Mittwoch,

Mehr

Das Test-Framework JUnit ETIS SS04

Das Test-Framework JUnit ETIS SS04 Das Test-Framework JUnit ETIS SS04 Gliederung Motivation TestFirst Grundlagen Assert TestCase Lebenszyklus TestCase UML-Diagramm TestCase TestSuite Zusammenfassung 2 Motivation (I) Kostspielige Folgen

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

Software Engineering in

Software Engineering in Software Engineering in der Werkzeuge für optimierte LabVIEW-Entwicklung Folie 1 Best Practices Requirements Engineering Softwaretest Versionsmanagement Build- Automatisierung Folie 2 Arbeiten Sie im Team?

Mehr

Stand 01.08.2013. Profil. Frank Sommer. Dipl. Informatiker (FH) Profil: Frank Sommer Seite 1 / 5

Stand 01.08.2013. Profil. Frank Sommer. Dipl. Informatiker (FH) Profil: Frank Sommer Seite 1 / 5 Profil Frank Sommer Dipl. Informatiker (FH) Profil: Frank Sommer Seite 1 / 5 PERSÖNLICHE DATEN Name Frank Sommer Jahrgang 1964 Staatsang. Deutsch AUSBILDUNG 06.83 Allgemeine Hochschulreife, Martin-von-Cochem

Mehr

Was versteht man unter Softwarequalität?

Was versteht man unter Softwarequalität? Was versteht man unter? ist die Gesamtheit der Merkmale und Merkmalswerte eines Softwareproduktes, die sich auf dessen Eignung beziehen, festgelegte oder vorausgesetzte Erfordernisse zu erfüllen. Was ist

Mehr

13 Anhang A: Erfüllung der Norm ISO 9000 durch HERMES

13 Anhang A: Erfüllung der Norm ISO 9000 durch HERMES 13 Anhang A: Erfüllung der Norm ISO 9000 durch Hinweis Einleitung Eine der wesentlichsten Grundlagen für die Qualitätssicherung in einem Unternehmen ist die Normenserie «ISO 9000», insbesondere ISO 9001:1994

Mehr

Unit Tests. Programmiermethodik. Eva Zangerle Universität Innsbruck

Unit Tests. Programmiermethodik. Eva Zangerle Universität Innsbruck Unit Tests Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

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

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 16.04.2013 Software Komponenten FS13 Gruppe 03 Horw, 16.04.2013 Bontekoe Christian Estermann Michael Moor Simon Rohrer Felix Autoren Bontekoe Christian Studiengang Informatiker (Berufsbegleitend) Estermann Michael

Mehr

Ready for Check-in 3 Praxisbericht Flughafen Wien

Ready for Check-in 3 Praxisbericht Flughafen Wien Ready for Check-in 3 Praxisbericht Flughafen Wien DI Susanne Ebm (Flughafen Wien AG) DI Thomas Bucsics (ANECON) Vorstellung DI Susanne Ebm Seit 2009 beschäftigt bei Flughafen Wien AG Seit Mitte 2011 Leitung

Mehr

10 Gesamtsystemspezifikation

10 Gesamtsystemspezifikation Bundesamt für Informationsmanagement und Informationstechnik der Bundeswehr 10 Gesamtsystemspezifikation V-Modell XT Anwendung im Projekt

Mehr

Testen II. (Management, Tools) Software Engineering Projekt WS07/08. Fachgebiet Softwaretechnik und Systemgestaltung

Testen II. (Management, Tools) Software Engineering Projekt WS07/08. Fachgebiet Softwaretechnik und Systemgestaltung Fachgebiet Softwaretechnik und Systemgestaltung Schriftliche Ausarbeitung zum Referat vom 12.12.2007 Testen II (Management, Tools) von Daniela Rose Inhaltsverzeichnis 1 Motivation... 3 2 Der grundlegende

Mehr

12 Nicht-funktionale Anforderungen

12 Nicht-funktionale Anforderungen 12 Nicht-funktionale Anforderungen Nicht-funktionale Anforderungen (non-functional requirements) Anforderungen an die Umstände, unter denen die geforderte Funktionalität zu erbringen ist. Gesamte Anforderungen

Mehr

Prozess-Modelle für die Softwareentwicklung

Prozess-Modelle für die Softwareentwicklung Prozess-Modelle für die Softwareentwicklung Prof. Dr. Andreas Spillner Institut für Informatik und Automation Hochschule Bremen Übersicht Softwareentwicklungs-Modelle Wasserfall-Modell Vorgehensmodell

Mehr