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:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

7 Literaturverzeichnis

7 Literaturverzeichnis 7 Literaturverzeichnis 7.1 Literatur [1] Spillner, A./Linz, T. (2005): Basiswissen Softwaretest. dpunkt.verlag [2] Fajardo, J./Dustin, E. (2007): Testing SAP R/3. Wiley & Sons [3] Helfen, M./Lauer, M./Trauthwein,

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

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

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

Systematische Software-Qualität mittels einer durchgängigen Analyse- und Teststrategie

Systematische Software-Qualität mittels einer durchgängigen Analyse- und Teststrategie Insert picture and click Align Title Graphic. Systematische Software-Qualität mittels einer durchgängigen Analyse- und Teststrategie Dr. Dieter Lederer, Geschäftsführer Vector Consulting Services GmbH

Mehr

Testen von Data-Warehouse- und Business-Intelligence-Systemen

Testen von Data-Warehouse- und Business-Intelligence-Systemen Edition TDWI Testen von Data-Warehouse- und Business-Intelligence-Systemen Vorgehen, Methoden und Konzepte von Herbert Stauffer, Beat Honegger, Hanspeter Gisin 1. Auflage Testen von Data-Warehouse- und

Mehr

Qualität 1. 1 Qualität

Qualität 1. 1 Qualität Qualität 1 1 Qualität Nach dem Durcharbeiten dieses Kapitels sollten Sie die Qualität für ein Softwaresystem definieren können, typische Qualitätskriterien kennen, Qualitätskriterien messbar festlegen

Mehr

Systemen - Testen im Softwarelebenszyklus

Systemen - Testen im Softwarelebenszyklus P r a k t I s c h e Entwicklung und Test Testen von Software-Systemen Systemen - Testen im Softwarelebenszyklus Entwickler erstellen ihr System bzw. ihre Software und testen es/sie zur Entwicklungszeit

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

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

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

Professioneller Software-Test

Professioneller Software-Test Professioneller Software-Test Damit Software funktioniert, wie sie soll Jan Overbeck 23. April 2010 OUTPUT DD ANECON Software Design und Beratung G.m.b.H. Alser Str. 4/Hof 1 A-1090 Wien Tel.: +43 1 409

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

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

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

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

Java Schulung. Objektorientierte Programmierung in Java Teil IV: Testen mit JUnit. Prof. Dr. Nikolaus Wulff

Java Schulung. Objektorientierte Programmierung in Java Teil IV: Testen mit JUnit. Prof. Dr. Nikolaus Wulff Java Schulung Objektorientierte Programmierung in Java Teil IV: Testen mit JUnit Prof. Dr. Nikolaus Wulff JUnit JUnit ist das Opensource Testframework. Es existieren Portierungen für fast alle objektorientierten

Mehr

1. Motivation 2. Begriffsklärung 3. Komponententests 4. Integrationstests 5. Integrationsstrategien 6. Zusammenfassung

1. Motivation 2. Begriffsklärung 3. Komponententests 4. Integrationstests 5. Integrationsstrategien 6. Zusammenfassung Übersicht s s Gregoire Kemgne 1 Motivation Problem: Software wird immer größer und komplexer, dadurch ist diese immer schwerer zu überschauen Ein Projekt benötigt mehr Zeit und/oder Entwickler. Lösung:

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

TESTAUTOMATISIERUNG & AGILE PROJEKTE EIN BLICK HINTER DIE KULISSEN

TESTAUTOMATISIERUNG & AGILE PROJEKTE EIN BLICK HINTER DIE KULISSEN TESTAUTOMATISIERUNG & AGILE PROJEKTE EIN BLICK HINTER DIE KULISSEN AGenda 27.11.2014, Hacker Day & TIC-Conference 1. Vorstellung T-Systems MMS/Test and Integration Center 2. Was verstehen wir unter Agil?

Mehr

Testest Du schon? Verfahren und Tools zum Testen von Software

Testest Du schon? Verfahren und Tools zum Testen von Software Testest Du schon? Verfahren und Tools zum Testen von Software Martin Kompf Dezember 2010 JAVA USER GROUP DARMSTADT Testing Software Ziel des Softwaretests ist es, Fehler aufzudecken. Nachzuweisen, dass

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

Software Qualitätssicherung durch systematischen Softwaretest

Software Qualitätssicherung durch systematischen Softwaretest Software Qualitätssicherung durch systematischen Softwaretest Innovative Techniken und aktuelle Herausforderungen Dr. Bernhard Peischl Softnet Austria Institut für Softwaretechnologie Technische Universität

Mehr

Nichtfunktionaler Abnahmetest: Planung, Durchführung und Automatisierung

Nichtfunktionaler Abnahmetest: Planung, Durchführung und Automatisierung Nichtfunktionaler Abnahmetest: Planung, Durchführung und Automatisierung Uwe Hehn TAV Februar 2005 Hochschule Bremen Uwe.Hehn@methodpark.de Abnahmetest: Warum brauchen wir denn so etwas? Projektabnahme

Mehr

Effektive Testautomatisierung durch modulare Tests. Michael Oestereich profi.com AG Dr. Frank Spiegel Haufe-Lexware GmbH & Co. KG

Effektive Testautomatisierung durch modulare Tests. Michael Oestereich profi.com AG Dr. Frank Spiegel Haufe-Lexware GmbH & Co. KG Effektive Testautomatisierung durch modulare Tests Michael Oestereich profi.com AG Dr. Frank Spiegel Haufe-Lexware GmbH & Co. KG Agenda Einführung Vorstellung der Unternehmen Vorstellung des gemeinsamen

Mehr

Softwareentwicklungspraktikum Sommersemester 2007. Testdokumentation

Softwareentwicklungspraktikum Sommersemester 2007. Testdokumentation Softwareentwicklungspraktikum Sommersemester 2007 Testdokumentation Auftraggeber Technische Universität Braunschweig

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

1. Zweckdes Dokuments

1. Zweckdes Dokuments Testplanung Testplanung 1.Zweck des Dokuments 2.Testziele 3.Teststrategie 4. Inkrementeller Test 5. Dokumentation der Tests 6. Performance Test 7. Literaturreferenzen 1. Zweckdes Dokuments Dokumentation

Mehr

Softwarequalität - Qualitätsmodelle

Softwarequalität - Qualitätsmodelle Softwarequalität - Qualitätsmodelle Proseminar IT-Kennzahlen und Codemetriken Clara Lange 17.05.2010 TU München Inhalt 1. Was ist Softwarequalität? 2. Sichten auf Softwarequalität 3. Messen von Qualität

Mehr

Statische Codeanalysen

Statische Codeanalysen Statische Codeanalysen Weniger Review-Aufwand durch automatisierte Sourcecode- Überprüfungen MATTHIAS HÖLZER-KLÜPFEL Wie gut ist unser Code? Qualitätskriterien für Software Funktionalität Angemessenheit

Mehr

Unit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG

Unit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG Unit-Test Theorie und Praxis Stephan Seefeld, INGTES AG Inhalt Was sind Unit-Test? NUnit für.net Demo Seite 2 Quellen Für diesen Vortrag verwendete Quellen: dotnet User Group Berlin Brandenburg http://www.dotnet-berlinbrandenburg.de/

Mehr

SEQIS 10 things API Testing

SEQIS 10 things API Testing SEQIS 10 things API Testing SEQIS 10 things API Testing Herzlich Willkommen! Reinhard Salomon SEQIS Geschäftsleitung SEQIS 10 things Programm 2014 20.03.14 Business Analyse Einführung in den BABOK Guide

Mehr

Software-Lebenszyklus

Software-Lebenszyklus Software-Lebenszyklus Inhalt Vorgehensmodell/Phasenplan Wasserfallmodell WAS-Beschreibung WIE-Beschreibung Weitere Phasenmodelle: Spiral-Modell, V-Modell, RUP Extreme Programming SW-Qualitätssicherung

Mehr

Workshop. Testautomatisierung und Performance-Tests mit Open Source Tools. Thomas Bucsics Sonja Kargl

Workshop. Testautomatisierung und Performance-Tests mit Open Source Tools. Thomas Bucsics Sonja Kargl Workshop Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics Sonja Kargl ANECON Software Design und Beratung G.m.b.H. Alser Str. 4/Hof 1 A-1090 Wien Tel.: +43 1 409 58 90 www.anecon.com

Mehr

Wie spezifiziert man die Qualität eines Softwaresystems? Herausforderungen und erste Lösungsideen aus SIKOSA

Wie spezifiziert man die Qualität eines Softwaresystems? Herausforderungen und erste Lösungsideen aus SIKOSA Wie spezifiziert man die Qualität eines Softwaresystems? Herausforderungen und erste Lösungsideen aus SIKOSA Prof. Dr. St. Kirn (Sprecher) Prof. Dr. B. Paech Prof. Dr. D. Kossmann Prof. Dr. G. Müller Schematische

Mehr

Softwaretests. Werkzeuge zur Automatisierung. Thementag Wer testet, ist feige. Autor: für 24.06.2009. Markus Alvermann.

Softwaretests. Werkzeuge zur Automatisierung. Thementag Wer testet, ist feige. Autor: für 24.06.2009. Markus Alvermann. Softwaretests Werkzeuge zur Automatisierung für Thementag Wer testet, ist feige 24.06.2009 Autor: Markus Alvermann Seite 2 / 39 Agenda Motivation Versionsverwaltung Build-Tools Unit-Tests GUI-Tests Continuous

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

Foundation Level PRACTICE EXAM CTFL Syllabus Version 2011 deutschsprachig V.1.0.1 ISTQB Glossar V.2.2 CTFL Practice Exam Version 2014A

Foundation Level PRACTICE EXAM CTFL Syllabus Version 2011 deutschsprachig V.1.0.1 ISTQB Glossar V.2.2 CTFL Practice Exam Version 2014A Familienname, Vorname: Firmenadresse: Telefon: Fax : E-Mail-Adresse: Rechnungsadresse: Schulungsunternehmen: Referent: Foundation Level CTFL Syllabus Version 2011 deutschsprachig V.1.0.1 ISTQB Glossar

Mehr

Fachliche Testautomatisierung, verbindet Test-Outsourcing mit Test-Virtualisierung

Fachliche Testautomatisierung, verbindet Test-Outsourcing mit Test-Virtualisierung Fachliche Testautomatisierung, verbindet Test-Outsourcing mit Test-Virtualisierung Der Stammesverbund Inhaltsverzeichnis Software-Qualitätssicherung Fachliche Testautomatisierung Test-Outsourcing Test-Virtualisierung

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

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

ISO 25001 Der Weg zur Zertifizierung. Adrian Zwingli 06.05. 2010, 18.15 19.00 Uhr Messe Zürich

ISO 25001 Der Weg zur Zertifizierung. Adrian Zwingli 06.05. 2010, 18.15 19.00 Uhr Messe Zürich ISO 25001 Der Weg zur Zertifizierung Adrian Zwingli 06.05. 2010, 18.15 19.00 Uhr Messe Zürich Frage Würden Sie mit der Software Ihrer Organisation zum Mars fliegen? 3 !"#$ %&'(&'$ )*&+,$ -.+"/'0#$ 1%)-2$

Mehr

Testkonzept. Tipp-Star

Testkonzept. Tipp-Star Tipp-Star Version: V1.0-27.09.2015 Ablageort: Tipp-Star/01_Projektmanagement/03_Test Status: Fertig gestellt (In Bearbeitung / fertig gestellt / geprüft / freigegeben) Anzahl Seiten: 9 Autoren: tse Sergeyeva

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

Software Engineering. 9. Testen

Software Engineering. 9. Testen Software Engineering 9. Testen Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz Testen Konfigurationsmanagement

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

Wir schützen Ihre Investitionen. Qualitätssicherung nach Maß. IT Quality Services

Wir schützen Ihre Investitionen. Qualitätssicherung nach Maß. IT Quality Services Wir schützen Ihre Investitionen Qualitätssicherung nach Maß IT Quality Services Sicherheit, die senkt Mit den IT Quality Services schützen Sie Ihre Investitionen Ohne Qualitätssicherung Mit Qualitätssicherung

Mehr

Testautomatisierung und Agiles Testen

Testautomatisierung und Agiles Testen Testautomatisierung und Agiles Testen Durch Testautomatisierung und agile Methoden zu mehr Stabilität und Transparenz in der Softwareentwicklung. Wir zeigen Ihnen wie. Wie effizient ist ihr Softwaretest?

Mehr

Einführung Arten von Softwaretests Prinzipien Continuous Integration Tests in FLOSS-Projekten Quellen. Softwaretests. Christoph Betschart

Einführung Arten von Softwaretests Prinzipien Continuous Integration Tests in FLOSS-Projekten Quellen. Softwaretests. Christoph Betschart Softwaretests Christoph Betschart 27. Oktober 2014 Inhaltsverzeichnis Einführung Arten von Softwaretests Prinzipien Seven Principles of Software Testing Continuous Integration Tests in FLOSS-Projekten

Mehr

Gutes Benehmen Akzeptanztest-getriebene Software-Entwicklung in einem Web-Projekt

Gutes Benehmen Akzeptanztest-getriebene Software-Entwicklung in einem Web-Projekt Gutes Benehmen Akzeptanztest-getriebene Software-Entwicklung in einem Web-Projekt 1 David Tanzer Bakk. Techn. (JKU Linz) Certified Scrum Master Freiberufler seit 2006 http://davidtanzer.net business@davidtanzer.net

Mehr

Testmanagement im agilen Entwicklungsprozess

Testmanagement im agilen Entwicklungsprozess Testmanagement im agilen Entwicklungsprozess Unser Beratungsangebot für die effiziente Abwicklung von Projekten: n Anforderungen erkennen n Software-Qualität steigern n Teams zum Erfolg führen Unser Erfolgskonzept:

Mehr

Test. Dipl. Wirtsch. Ing. Alexander Werth 9-1

Test. Dipl. Wirtsch. Ing. Alexander Werth 9-1 Test Dipl. Wirtsch. Ing. Alexander Werth 9-1 Phasen der Problemdefinition Anforderungsanalyse Spezifikation Entwurf Implementation Erprobung Wartung Methoden der 9-2 Software Test / Erprobung Messen der

Mehr

Qualitätssicherung von Software am Beispiel von Unit Testing. Klaus Kusche, Mai 2012

Qualitätssicherung von Software am Beispiel von Unit Testing. Klaus Kusche, Mai 2012 Qualitätssicherung von Software am Beispiel von Unit Testing Klaus Kusche, Mai 2012 Inhalt Motivation Definition von Unit Tests, Einordnung in der QA, Nutzen Einordnung im V-Modell (==> Tafel) Inhalt,

Mehr

T-Systems Enterprise Services GmbH. Test Factory. Testen nach ISTQB-Standard, Gastvortrag Fontys Hogescholen Venlo, April 2008

T-Systems Enterprise Services GmbH. Test Factory. Testen nach ISTQB-Standard, Gastvortrag Fontys Hogescholen Venlo, April 2008 T-Systems Enterprise Services GmbH. Test Factory. Testen nach ISTQB-Standard, Gastvortrag Fontys Hogescholen Venlo, April 2008 Kennzahlen unserer Leistung. zur Zeit 50 Projekte mit 1 bis zu 300 Mitarbeitern

Mehr

JUnit - Test Driven Development. Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1

JUnit - Test Driven Development. Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1 JUnit - Test Driven Development Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1 Gliederung 1.Einleitung 1.1 Geschichte 1.2 Was sind Unit-Tests? 1.3 Failures/Errors 1.4 Ziele und Nutzen

Mehr

Kenntnisse: P R O F I L. Dr. Michael Kuß Beethovenstraße 10 50858 Köln. Tel. 0174 / 3234279 e-mail: Michael.Kuss@PerfCon.de

Kenntnisse: P R O F I L. Dr. Michael Kuß Beethovenstraße 10 50858 Köln. Tel. 0174 / 3234279 e-mail: Michael.Kuss@PerfCon.de P R O F I L Dr. Michael Kuß Beethovenstraße 10 50858 Köln Tel. 0174 / 3234279 e-mail: Michael.Kuss@PerfCon.de Alter: 33 Jahre Verfügbarkeit: ab Nov. 2005 Schwerpunkte: Konzeption, Koordination und Durchführung

Mehr

Wie misst man Qualität?

Wie misst man Qualität? Software Systems Engineering Wie misst man Qualität? Dr. Privat-Doz. A Herrmann Institut Software Systems Engineering Ziele dieses Workshops Workshop Wie misst man Qualität? Methoden lernen: Herleitung

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

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen

Mehr

Softwarequalitätssicherung

Softwarequalitätssicherung Softwarequalitätssicherung Dipl. Inf. Andrea Meyer Medieninformatik (Bachelor), Wahlpflichtmodul: Softwareprojekt II, Dipl. Inf. Andrea Meyer Warum Softwarequalitätssicherung? 2 Fatale Softwarefehler Ariane

Mehr

Testnutzen und -aufwand präzise schätzen: Methoden, Kennzahlen, Erfahrungswerte

Testnutzen und -aufwand präzise schätzen: Methoden, Kennzahlen, Erfahrungswerte Testnutzen und -aufwand präzise schätzen: Methoden, Kennzahlen, Erfahrungswerte Melanie Späth ATAMI 2010 Fraunhofer Institut FIRST, Berlin 15. Januar 2010 Capgemini sd&m steht für leistungsfähige Prozess-

Mehr

Whitepaper. Automatisierte Akzeptanztests mit FIT. Einleitung. Die Bedeutung von Akzeptanztests

Whitepaper. Automatisierte Akzeptanztests mit FIT. Einleitung. Die Bedeutung von Akzeptanztests Automatisierte Akzeptanztests mit FIT Einleitung Dieses beschreibt, wie man Tests aus Anwender-/Kundensicht mit dem Open-Source-Werkzeug FIT beschreibt und durchführt. Das ist für Kunden, Anwender und

Mehr

Foundation Level Probeprüfung Syllabus Version 2011 Version 2012-B

Foundation Level Probeprüfung Syllabus Version 2011 Version 2012-B ISTQB Certified Tester Foundation Level Probeprüfung International Software Testing Qualifications Board Frau Herr Vorname: Nachname: Privatadresse: Telefon: E-Mail: Geburtsdatum: Heimatort / Geburtsland

Mehr

Praktikum Software Engineering: Verfahren und Werkzeuge

Praktikum Software Engineering: Verfahren und Werkzeuge Praktikum Software Engineering: Verfahren und Werkzeuge Lehrstuhl für Software Engineering (Informatik 11) Verfahren und Werkzeuge Seite 1 Software Engineering Absichten, Aufgaben Systemnutzung Anforderungsspezifikation

Mehr

Zwei starke Werkzeuge mit Methodik vereint Dynamic Process Testing (DPT)

Zwei starke Werkzeuge mit Methodik vereint Dynamic Process Testing (DPT) Zwei starke Werkzeuge mit Methodik vereint Dynamic Process Testing (DPT) Agenda 1 2 3 4 5 6 Testpille - Die Herausforderung Testpille - Die Realisierung Testpille - Die Keyfacts Testpille - Der Prozess

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