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.) (/ 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) (/ 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: info@msg-systems.com 53

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

Testautomatisierung im Projektalltag

Testautomatisierung im Projektalltag .consulting.solutions.partnership Testautomatisierung im Projektalltag Vorlesung Software Engineering in der industriellen Praxis Agenda 1 Warum testen? 2 2 Grundlagen des Softwaretestens 7 3 Tools zur

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

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

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

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

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich

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

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

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

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

Standard Inhaltsverzeichnis für Testvorschrift

Standard Inhaltsverzeichnis für Testvorschrift Standard Inhaltsverzeichnis für Testvorschrift Inhaltsverzeichnis 1. Zweck, Veranlassung... 1 2. Allgemeines... 1 2.1 Zweck der Testvorschrift... 1 2.2 Freigabe und Änderungen... 1 2.3 Prinzipien... 2

Mehr

Integrierte und automatisierte GUI-Tests in Java

Integrierte und automatisierte GUI-Tests in Java Integrierte und automatisierte GUI-Tests in Java Gliederung Die Idee hinter GUI-Tests Herausforderungen und Probleme Techniken Jemmy-Framework Konzeptorientiertes Testen FIT (Framework for Integrated Tests)

Mehr

FUTURE NETWORK 20.11.2013 REQUIREMENTS ENGINEERING

FUTURE NETWORK 20.11.2013 REQUIREMENTS ENGINEERING 18/11/13 Requirements Engineering 21 November 2013 DIE GRUNDFRAGEN Wie erhält der Kunde den größten Nutzen? Wie kann der Kunde am besten spezifizieren, was er haben will? Welchen Detailierungsgrad braucht

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

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

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

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

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

Was versteht man unter Softwaredokumentation?

Was versteht man unter Softwaredokumentation? Was versteht man unter? Mit bezeichnet man die Dokumentation von Computer-Software. Sie erklärt für Anwender, Benutzer und Entwickler in unterschiedlichen Rollen, wie die Software funktioniert, was sie

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

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

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

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

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin Fragestellungen: Warum reicht das Lastenheft nicht aus? Was kann ich mit dem Lastenheft machen? Was unterscheidet das Pflichtenheft vom Lastenheft? Was gehört zum Auftragsumfang einer Individualsoftware?

Mehr

Kompetenz. rund um. Ihren. Entwicklungsprozess. Über uns. Technische Software. Modellbasierter Test. Prüfplätze. Automatisierung.

Kompetenz. rund um. Ihren. Entwicklungsprozess. Über uns. Technische Software. Modellbasierter Test. Prüfplätze. Automatisierung. Kompetenz rund um Ihren Entwicklungsprozess Modellieren für den Test - Segen oder Fluch? Firmenpräsentation auf der embeddedworld 2010 Dipl. Ing. (Univ) Gerhard Baier Bereichsleiter Marketing und Vertrieb

Mehr

Datenschutzfreundliches Projektmanagement Sven Thomsen Unabhängiges Landeszentrum für Datenschutz Schleswig-Holstein

Datenschutzfreundliches Projektmanagement Sven Thomsen Unabhängiges Landeszentrum für Datenschutz Schleswig-Holstein Datenschutzfreundliches Projektmanagement Sven Thomsen Datenschutz Schleswig-Holstein Projekt? Definition Projekt: Vorhaben, das im Wesentlichen durch die Einmaligkeit der Bedingungen in ihrer Gesamtheit

Mehr

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: Informationssystemanalyse Problemstellung 2 1 Problemstellung Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: große Software-Systeme werden im Schnitt ein Jahr zu spät

Mehr

Programmiertechnik II

Programmiertechnik II Modultests Ziele Überprüfung der Korrektheit eines Moduls Korrektheit: Übereinstimmung mit (informaler) Spezifikation Modul: kleine testbare Einheit (Funktion, Klasse) Engl.: unit test White box testing

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

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

extreme Programming (XP) Hermann Götz Sergij Paholchak Agenda Was ist XP? Grundprinzipien Der Entwicklungsprozess Die Projektplanung Praktiken Vorteile und Nachteile Wann macht XP Sinn für ein Projekt?

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

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

Übungsklausur vom 7. Dez. 2007

Übungsklausur vom 7. Dez. 2007 Übungsklausur vom 7. Dez. 2007 Ein Lösungsmuster Teilbereiche der Softwaretechnik Software Anforderungen Software Entwurf Software Konstruktion Software Test Software Wartung Software Konfigurationsmanagement

Mehr

.. für Ihre Business-Lösung

.. für Ihre Business-Lösung .. für Ihre Business-Lösung Ist Ihre Informatik fit für die Zukunft? Flexibilität Das wirtschaftliche Umfeld ist stärker den je im Umbruch (z.b. Stichwort: Globalisierung). Daraus resultierenden Anforderungen,

Mehr

Java Entwicklung für Embedded Devices Best & Worst Practices!

Java Entwicklung für Embedded Devices Best & Worst Practices! Java Entwicklung für Embedded Devices! George Mesesan Microdoc GmbH Natürlich können wir dieses neue log4j Bundle auch auf dem Device verwenden. Ist doch alles Java. Java Micro Edition (ME) Java Standard

Mehr

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08 Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung Projektmanagement Vorlesung von Thomas Patzelt 9. Vorlesung 1 Pläne Kein Plan überlebt die erste Feindberührung - Feldmarschall Helmuth von Moltke Prognosen sind schwierig, besonders wenn sie die Zukunft

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

Testen von graphischen Benutzeroberflächen. 26. Juni 2013

Testen von graphischen Benutzeroberflächen. 26. Juni 2013 Testen von graphischen Benutzeroberflächen 26. Juni 2013 Überblick Testarten Methoden-, Klassen-, Komponenten-, Systemtests Motivation für automatisches Testen von graphischen Benutzeroberflächen Entwicklungsprinzipien

Mehr

Unser verflixtes 7. Jahr im Testmanagement. Bernd Schindelasch 26. Juni 2013

Unser verflixtes 7. Jahr im Testmanagement. Bernd Schindelasch 26. Juni 2013 Unser verflixtes 7. Jahr im Testmanagement Bernd Schindelasch 26. Juni 2013 Agenda EWE TEL GmbH Testmanagement bei EWE TEL (klassisch) Agile - SCRUM Testmanagement im SCRUM-Projekt Ausblick und Zusammenfassung

Mehr

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung. StuPro-Seminar Dokumentation in der Software-Wartung StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung Folie 1/xx Software-Wartung: theoretisch Ausgangslage eigentlich simpel: fertige

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

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch. Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.pdf Nachdem die Projekt-Vision und die Stakeholder bekannt sind,

Mehr

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwaretechnik. Fomuso Ekellem WS 2011/12 WS 2011/12 Inhalt Projektvorstellung Übung 1 Wiederholung zusammengefasst Planungsphase Lernziele Ziele und Inhalt der Planungsphase Anlass und Aufgabestellung(Was ist dabei erförderlich) Requirement Engineering

Mehr

Testen mit JUnit. Motivation

Testen mit JUnit. Motivation Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen

Mehr

Hochschule Darmstadt Fachbereich Informatik

Hochschule Darmstadt Fachbereich Informatik Hochschule Darmstadt Fachbereich Informatik Entwicklung webbasierter Anwendungen Praktikumsaufgaben 1 Semesterthema "Webbasierter Pizzaservice" Im Lauf des Semesters soll eine integrierte webbasierte Anwendung

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

DOKUMENTATION VOGELZUCHT 2015 PLUS

DOKUMENTATION VOGELZUCHT 2015 PLUS DOKUMENTATION VOGELZUCHT 2015 PLUS Vogelzucht2015 App für Geräte mit Android Betriebssystemen Läuft nur in Zusammenhang mit einer Vollversion vogelzucht2015 auf einem PC. Zusammenfassung: a. Mit der APP

Mehr

Requirements Engineering für IT Systeme

Requirements Engineering für IT Systeme Requirements Engineering für IT Systeme Warum Systemanforderungen mit Unternehmenszielen anfangen Holger Dexel Webinar, 24.06.2013 Agenda Anforderungsdefinitionen Von der Herausforderung zur Lösung - ein

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

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

Fragebogen zur Anforderungsanalyse

Fragebogen zur Anforderungsanalyse Fragebogen zur Anforderungsanalyse Geschäftsprozess Datum Mitarbeiter www.seikumu.de Fragebogen zur Anforderungsanalyse Seite 6 Hinweise zur Durchführung der Anforderungsanalyse Bevor Sie beginnen, hier

Mehr

Abschnitt 16: Objektorientiertes Design

Abschnitt 16: Objektorientiertes Design Abschnitt 16: Objektorientiertes Design 16. Objektorientiertes Design 16 Objektorientiertes Design Informatik 2 (SS 07) 610 Software-Entwicklung Zur Software-Entwicklung existiert eine Vielfalt von Vorgehensweisen

Mehr

Referent: Mathias Notheis Kontakt: Mathias.Notheis@dqs.de

Referent: Mathias Notheis Kontakt: Mathias.Notheis@dqs.de ISO/IEC 62304 Medizingeräte-Software Referent: Mathias Notheis Kontakt: Mathias.Notheis@dqs.de DQS Medizin nprodukte GmbH Übersicht Basics Wann ist ein MP Software? Markteinführung vor der 62304 alles

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

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

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe crm-now/ps Webforms: Webdesigner Handbuch Copyright 2006 crm-now Versionsgeschichte Version 01 2006-08-21 Release Version crm-now c/o im-netz Neue

Mehr

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden Moderne Apps für Smartphones und Tablets lassen sich ohne großen Aufwand innerhalb von wenigen Stunden designen Kunde Branche Zur Firma Produkte Übersicht LFoundry S.r.l Herrngasse 379-381 84028 Landshut

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

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

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg Herzlich willkommen Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg Heike Bickert Software-/Systemingenieurin, Bereich Quality Management Braunschweig // 17.11.2015 1 Agenda ICS AG Fragestellungen

Mehr

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI TTS - TinyTimeSystem Unterrichtsprojekt BIBI Mathias Metzler, Philipp Winder, Viktor Sohm 28.01.2008 TinyTimeSystem Inhaltsverzeichnis Problemstellung... 2 Lösungsvorschlag... 2 Punkte die unser Tool erfüllen

Mehr

10 Gesamtsystemspezifikation

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

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

FRONT CRAFT. www.frontcraft.com contact@frontcraft.com

FRONT CRAFT. www.frontcraft.com contact@frontcraft.com FRONT CRAFT Viele Menschen und viele Unternehmen haben eine Webseite. Jede neue, die dazu kommt, sollte nicht nur gut, sondern erstklassig sein. Das ist unsere Leidenschaft. FrontCraft. www.frontcraft.com

Mehr

GPP Projekte gemeinsam zum Erfolg führen

GPP Projekte gemeinsam zum Erfolg führen GPP Projekte gemeinsam zum Erfolg führen IT-Sicherheit Schaffen Sie dauerhaft wirksame IT-Sicherheit nach zivilen oder militärischen Standards wie der ISO 27001, dem BSI Grundschutz oder der ZDv 54/100.

Mehr

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist Feintypisierung - Überblick Ergebnisse Ergebnisse aus aus anderen anderen Arbeitsergebnissen Arbeitsergebnissen Replikationsplan Replikationsplan

Mehr

Informationssystemanalyse Grundlagen 1 1

Informationssystemanalyse Grundlagen 1 1 Informationssystemanalyse Grundlagen 1 1 Software-Projekte Klassischerweise wird Software-Entwicklung in Projektform abgewickelt. Projekte kommen dabei zwischen einem Anbieter und einem Kunden zustande,

Mehr

Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement

Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement Prof. K.-P. Fähnrich, Prof. H.-G. Gräbe, T. Riechert Institut für Informatik Sommersemester 2012 Allgemeine Bemerkungen

Mehr

your engineering partner boost your development

your engineering partner boost your development boost development Individuelle Lösungen von Ihrem Engineering Partner Luft- und Raumfahrt Wir realisieren Ihre Visionen und setzen unser ganzes Know-How ein, damit Ihre Ziele praxisgerecht, zeitnah und

Mehr

Projektmanagement in der Spieleentwicklung

Projektmanagement in der Spieleentwicklung Projektmanagement in der Spieleentwicklung Inhalt 1. Warum brauche ich ein Projekt-Management? 2. Die Charaktere des Projektmanagement - Mastermind - Producer - Projektleiter 3. Schnittstellen definieren

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

Anforderungen an die HIS

Anforderungen an die HIS Anforderungen an die HIS Zusammengefasst aus den auf IBM Software basierenden Identity Management Projekten in NRW Michael Uebel uebel@de.ibm.com Anforderung 1 IBM Software Group / Tivoli Ein Feld zum

Mehr

Projektmanagement. Vorlesung von Thomas Patzelt 10. Vorlesung

Projektmanagement. Vorlesung von Thomas Patzelt 10. Vorlesung Projektmanagement Vorlesung von Thomas Patzelt 10. Vorlesung 1 Test...(4) Oberflächentests testen die Benutzerschnittstelle des Systems, nicht nur auf Fehlerfreiheit sondern z.b. auch auf Konformität mit

Mehr

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007 Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6

Mehr

Ein Tool für automatische Performancetests von Java3D Applikationen

Ein Tool für automatische Performancetests von Java3D Applikationen Ein Tool für automatische Performancetests von Java3D Applikationen Kristina Wunderlich A Tool for Automated Performance Testing of Java3D Applications in Agile Environments Xueling Shu, Frank Maurer;

Mehr

Fortgeschrittenes Programmieren mit Java. Test Driven Development

Fortgeschrittenes Programmieren mit Java. Test Driven Development Fortgeschrittenes Programmieren mit Java Test Driven Development Test getriebene Programmierung Benedikt Boeck Hochschule für Angewandte Wissenschaften Hamburg 6. November 2009 B. Boeck (HAW Hamburg) Test

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

Wiederkehrende Buchungen

Wiederkehrende Buchungen Wiederkehrende Buchungen Bereich: FIBU - Info für Anwender Nr. 1133 Inhaltsverzeichnis 1. Ziel 2. Vorgehensweise 2.1. Wiederkehrende Buchungen erstellen 2.2. Wiederkehrende Buchungen einlesen 3. Details

Mehr

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert.

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert. Usability Heuristiken Karima Tefifha Proseminar: "Software Engineering Kernkonzepte: Usability" 28.06.2012 Prof. Dr. Kurt Schneider Leibniz Universität Hannover Die ProSeminar-Ausarbeitung beschäftigt

Mehr

Jens Borchers. Kritische Erfolgsfaktoren beim Abnahmetest in Redevelopment- Projekten Erfahrungen aus einem Großprojekt

Jens Borchers. Kritische Erfolgsfaktoren beim Abnahmetest in Redevelopment- Projekten Erfahrungen aus einem Großprojekt Chemnitz 24.11.2006 Jens Borchers Kritische Erfolgsfaktoren beim Abnahmetest in Redevelopment- Projekten Erfahrungen aus einem Großprojekt Vortrag bei der RePro2006 in Chemnitz am 24. November 2006 Kritische

Mehr

Wirtschaftsinformatik I Teil 2. Sommersemester 2008. 1. Übung

Wirtschaftsinformatik I Teil 2. Sommersemester 2008. 1. Übung Wirtschaftsinformatik I Teil 2 Sommersemester 2008 1. Übung Sarah Mund, Kirstin Simon, Markus Trierweiler, Christian Molitor, Jonathan Jäger, Björn Kirsten Aufgabenstellung Diskutieren Sie die Vor- und

Mehr

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungen zur Vorlesung Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungsblatt 4 Lösungshilfe. Aufgabe 1. Zustandsdiagramm (8 Punkte) Geben Sie ein Zustandsdiagramm für

Mehr