Softwaretest. Software Engineering für große Informationssysteme TU-Wien, Sommersemester 2004. Jürgen Lutz



Ähnliche Dokumente
Testautomatisierung. Lessons Learned. qme Software. Gustav-Meyer-Allee Berlin. Telefon 030/ Telefax 030/

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

MHP Test Management Qualität ist kein Zufall Ihre Lösung zur Abdeckung des ganzheitlichen Testprozesses!

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

Qualitätsmanagement im Projekt

Testen Prinzipien und Methoden

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

BIF/SWE - Übungsbeispiel

T1 - Fundamentaler Testprozess

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

Testmanagement in IT-Projekten

Testen im Software- Entwicklungsprozess

Projektsteuerung Projekte effizient steuern. Welche Steuerungsinstrumente werden eingesetzt?

Praktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Einführung von Testautomatisierung reflektiert. Erkenntnisse eines Linienmanagers zu Herausforderungen und Fallgruben

GRS SIGNUM Product-Lifecycle-Management

3.2,,Eichung von Function Points (Berichtigte Angabe)

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

Qualitätsmanagement. Grundlagen

7HVWHQYRQ6$3$QZHQGXQJHQPLWGHP([WHQGHG &RPSXWHU$LGHG7HVW7RROH&$77

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

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

SIRIUS virtual engineering GmbH

Internet Explorer Version 6

Was versteht man unter Softwaredokumentation?

T2 Fundamentaler Testprozess


Wo sind meine Anforderungen?

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

«PERFEKTION IST NICHT DANN ERREICHT, WENN ES NICHTS MEHR HINZUZUFÜGEN GIBT, SONDERN DANN, WENN MAN NICHTS MEHR WEGLASSEN KANN.»

Qualitätserlebnis statt Qualitätssicherung. Eine Mehrfachfallstudie agiler Teams

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

Ein Tool für automatische Performancetests von Java3D Applikationen

Referent: Mathias Notheis Kontakt:

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS Ohne Gewähr -

Cad-OasEs Int. GmbH. 20 Jahre UG/NX Erfahrung prägen Methodik und Leistungen. Nutzen Sie dieses Wissen!

Software- Qualitätsmanagement

Reporting Services und SharePoint 2010 Teil 1

GPP Projekte gemeinsam zum Erfolg führen

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit

Der Weg zur eigenen App

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

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

Fallbeispiel. Auswahl und Evaluierung eines Software- Lokalisierungstools. Tekom Herbsttagung 2004 Angelika Zerfaß

Lasst die Roboter arbeiten: Oberflächen (Test) Automation im Fokus

T3 Testen im Software- Lebenszyklus

Übungsklausur vom 7. Dez. 2007

Wir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind.

16.4 Wiederverwendung von COTS-Produkten

white sheep GmbH Unternehmensberatung Schnittstellen Framework

SEP 114. Design by Contract

Vector Software. Test Automation mit VectorCAST während der gesamten Softwareentwicklung W H I T E P A P E R

Anforderungen an die HIS

FastGov Die Verwaltung beschleunigen. Antragsbearbeitung. 10. November Prof. Dr. rer. pol. Reza Asghari

Silca Software ERKLÄRUNG. February 2013 Copyright Silca S.p.A. V.2.0

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Datenübernahme easyjob 3.0 zu easyjob 4.0

Kurzanleitung. Zuordnung eines Moodle-Kurses in TUMonline

Testphase. Das Testen

Kap. 35 Swing: Grundlagen Kap Swing: Hauptfenster

Der frühe Tester fängt den Bug

Projektmanagement Vorlesung 14/ 15: Wiederholung ausgewählter Themen zur Klausurvorbereitung. Prof. Adrian Müller, PMP, PSM-1, CSM FH Kaiserslautern

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden

Agile Software Verteilung

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

Vorlesung Betriebstechnik/Netzplantechnik Operations Research

Fragebogen: Abschlussbefragung

Testmanagement bei SAP-Projekten

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Leitfaden zur Durchführung eines Jahreswechsels in BüroWARE 5.x

Testanalyse und Testautomation bei der ImmobilienScout24

Software - Testung ETIS SS05

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Testen und Testautomatisierung in agilen Projekten

Leitfaden zur Durchführung eines Jahreswechsels in BüroWARE 5.x

Anleitung für die Verwendung der Test-Anwendung des XML-File Uploads für MOSS Erklärungen (EU und Non-EU)

6. Programmentwicklung

Anleitung für die Umstellung auf das plus Verfahren mit manueller und optischer Übertragung

Requirements Engineering für IT Systeme

gallestro BPM - weit mehr als malen...

Source Code Konverter Online: (VB.net <-> C#) Kommerzielle Produkte (VB, C#, C++, Java) Code Nachbearbeitung in der Praxis...

Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient.

IT OUTSOURCING. Wie die IT durch Transparenz zum internen Dienstleister wird. Herford, , Steffen Müter

BEO-SANKTIONSPRÜFUNG Eine Einführung zum Thema Sanktionsprüfung und eine Übersicht zur BEO-Lösung.

Proofreading Was solltest Du beim Korrekturlesen beachten?

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Build-Pipeline mit Jenkins

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

ERSTELLEN VON INCENTIVES IM ZANOX NETZWERK

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems

Qualitätssicherung im Lebenszyklus des itcs. Anspruch und Wirklichkeit.

Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren.

Studienplatzbeschaffung

Gemeinsam Software-Lösungen finden. Vom Prototyping bis zur Serienreife.

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Dokumentation! Kapitel 21

Transkript:

Softwaretest Software Engineering für große Informationssysteme TU-Wien, Sommersemester 2004 Jürgen Lutz 1

Agenda Wozu überhaupt Softwaretest Das Problem (Fehler, error, bug) Testmethodik, Testarten Testfälle Testautomation 2

Wozu überhaupt Softwaretest? Wäre es nicht viel einfacher und billiger, bei der Softwareentwicklung Fehler zu vermeiden? Es muss eine gründliche Analyse- und Designphase geben Man muss sauber und nach Spezifikationen entwickeln, dann macht man kaum Fehler Und wenn es doch Fehler gibt, findet die der Entwickler doch selber viel schneller 3

Ein Softwareprojekt Produktionstermin Idee Konzept Spezifikation Codierung Abnahme Auftrag Planung, Abstimmung Software products are never released they escape! (Kaner, (Kaner, 1999) 1999) 4

Es wird teuer ohne Test In jedem Fachkonzept können Fehler gefunden werden Keine Spezifikation ist vollständig Jeder Entwickler produziert auch Fehler Es gibt keine fehlerfreie Software 5

Ein Softwareprojekt Produktionstermin Idee Konzept Spezifikation Codierung Spezifikation Codierung Spezifikation Codierung Abnahme Weniger Probleme Geringere Kosten Zufriedenere User Bessere Nutzung Testprozess 6

Test ist eine Dienstleistung Testplanung Testmanagement Testfallerstellung Testfalldurchführung Manuell Automatisiert Risikoanalyse Unterstützung des Projektmanagements 7

Was ist das Ziel von Softwaretest? Alle Fehler vor Produktiveinsatz finden und korrigieren Verifikation der geforderten Funktionalitäten??? 8

ZIEL: Alle Fehler vor Produktiveinsatz finden... Wie viele Fehler können theoretisch gefunden werden? Was ist überhaupt ein Fehler? Wie erkennt man einen Fehler? Ist es effizient jeden Fehler zu finden? 9

Fehlerfolgekosten 10

ZIEL:... und korrigieren? Kann jeder Fehler korrigiert werden? Der Fehler muss nachvollziehbar sein Der Fehler muss rechtzeitig gefunden werden Die Behebung des Fehlers muss sich rentieren Organisatorische Probleme Projektplan, Termindruck Zuständigkeit muss geklärt sein Berücksichtigung des Faktors Mensch 11

Fehler, Errors, Bugs... Der Entwickler als ewiger Sündenbock?!? Es geht um die Behebung von Problemen, die den User bei der Anwendung der Software behindert. Diese Probleme müssen gefunden, berichtet und behoben werden. 12

... PTARs Problem Tracking And Reporting => Synonym für dokumentiertes Problem Ich habe dir einen PTAR geschickt vs. Du hast einen Fehler gemacht PTAR 13

Was ist ein PTAR Technisches Problem Eine Teilkomponente funktioniert nicht Ein Programmteil reagiert falsch Eine Schnittstelle liefert falsche Daten Fachliches Problem Falscher / unvollständiger Workflow Falsche Dateninterpretation Unrichtige Berechnungen 14

Was kann noch ein PTAR sein Usability Probleme Schlechte Performance Bedienung nicht intuitiv Benutzerführung im Problemfall Unrichtiges / unvollständiges Hilfesystem Layout / Formatierung Rechtschreibfehler 15

PTAR Behandlung Finden eines Problems Erkennen des Fehlers Soll/Ist Beschreibung des PTAR Kommunikation an Entwicklung Fachliche Entscheidung (change request?) Zuordnung an zuständige Gruppe Kontrolle nach Korrektur Ablage 16

PTAR Workflow Fachbereich Test Entwicklung Entscheidung Entscheidung PTAR zugeordnet zugeordnet nicht nicht akzeptiert akzeptiert in in Arbeit Arbeit zur zur Prüfung Prüfung nicht nicht erledigt erledigt weitergeleitet weitergeleitet weitergeleitet weitergeleitet Change Change Request Request ungültig ungültig erledigt erledigt gefixt gefixt 17

ZIEL: Die geforderte Funktionalität verifizieren? Was wird überhaupt gefordert? Spezifikationen, Fachkonzepte Erwartbares Verhalten in vergleichbaren Applikationen Vom User als offensichtlich erwartbar eingestuft Was kann überprüft werden? Ist es effizient, alles zu überprüfen? Äquivalenzklassen risk-based Vorgangsweise 18

Ziele des Softwaretests Kürzere Entwicklungszeiten Bessere Planbarkeit (Termin & Kosten) Bessere Aufgabenverteilung Steigerung der Qualität Reduktion der Fehlerfolgekosten 19

Ziele des Softwaretests Dem Anwender einer IT-Lösung die erwarteten Funktionalitäten zum geplanten Zeitpunkt in ausreichendem Maße sicherstellen 20

Methodik Abweichungsmanagement PTAR-System Testprojekt Testkonzept Messbarkeit von Testerfolg Testphasen, Testarten Testdurchführung, Testautomation 21

Projektabhängiges Testkonzept Arbeitsgrundlage für die Testabteilung Inhalte Testinhalt, Basis der Testplanung Testansatz Testfallfindung Testarten, Testautomation Testbett, Testumgebungen Ansprechpartner, Verantwortliche Vorgehensmodell 22

Fehlerhochrechnungen Wie kann man Testerfolg messen? Hochrechnung der erwarteten Fehler function points lines of code ca. 50 bis 80 Fehler pro kloc ca. 350 bis 500 LOCs pro PM Development PM ca. 20 bis 40 Fehler pro PM 23

Fehleranalyse 24

Fehlerverteilung Wo werden die Fehler gefunden 42% Analyse & Design 31% Code & Unit Test 23% Funktionstest / Betreibbarkeitstest 4% Produktion 25

Testphasen Entwicklungsseitiger Test einzelner Funktionen und Module Strukturierte Betestung der gewünschten Funktionalität (IST / SOLL Abgleich) System Test Betreibbarkeitstest Test der Interaktion einzelner Schnittstellen und Teilkomponenten Integrations Test Regressions Test Wiederholte Durchführung von Funktionstests zur Grundqualitätssicherung Code & Unit Test Funktions Test Test der Gesamtapplikation mit allen Teilkomponenten Performance-, Last- und Katastrophentests in produktions-äquivalenter Umgebung 26

Code & Unit Test Wird von Entwicklung durchgeführt White Box Test Überprüfung von einzelnen Funktionen Schnittstellen einzelnen Modulen 27

Funktionstest Durchführung vom Testteam Black Box Test Test gegen Spezifikation Schnittstelle GUI oder API 28

Integrationstest Integration mehrerer Module, Komponenten oder Applikationen Überprüfung der Schnittstellen Datenstrukturen Interaktion Sind zwei Komponenten parallel lauffähig? 29

Regressionstest Grundqualitätssicherung Ausgewählte Testfälle aus dem Funktionstestfallset (30% der Testfälle) Automatische Durchführung Mit jeder neuen Version Fehler werden aufgenommen 30

Acceptancetest Übergabemodus Ausgewählte Testfälle aus dem Funktionstestfallset Die wichtigsten Funktionsbereiche abgedeckt Mit jeder neuen Version Entscheidung ob Version testbar 31

Systemtest Test in produktionsäquivalenter Umgebung Anbindung aller in der Produktionsumgebung vorhandenen Applikationen In der richtigen Version!! Betestung von durchgängigen Geschäftsprozessen 32

Betreibbarkeitstest Installationstest Performancetest Belastungstest Katastrophentest 33

Manuelles Testen Basis: Testfallbeschreibung Systematisches Vorgehen Guerilla Vorgehen Manuelle Durchführung immer notwendig Probleme Nachvollziehbarkeit Kosten 34

Testfallfindung Was ist ein Testfall Beschreibung einer Applikationsbedienung mit einem erwarteten Ergebnis. Wie findet man gute Testfälle Chance einen Fehler zu finden Realistisch (risk-based) Breite Abdeckung Woraus besteht ein Testfall 35

Testfallfindung Erstellung von Funktionsdiagrammen Geschäftsprozesse, Usecases, Funktionen Masken, Gruppen, Controls Bewertung der Kritikalität Skalierung der Testtiefe Planung der Testbereiche Definition der Testfälle 36

Inhalt eines Testfalles Detaillierte Beschreibung Zweck des Testfalls (Testfokus) Vorbedingungen Aufräumarbeiten Zugrunde liegende Testdaten Beschreibung der einzelnen Schritte Erwartetes Ergebnis Tatsächliches Ergebnis pro Durchführung 37

Struktur eines Testfalls check points erwartetes Ergebnis Vorbedingungen Testfall Endzustand Testaktion Testaktion Testaktion Testattribut Testattribut Testattribut Testattribut Parameter: Aktionstyp (set, get, verify) Wert Zielobjekt 38

Testfälle Testkette Aneinanderreihung von Testfällen Funktionale Verbindung Voneinander abhängig Testfall 1 Testfall 2 Testfall 3 Testfall 4 Testkette 39

Testfälle Testserien Aneinanderreihung von Testketten und/oder Testfällen Fachliche / Thematische Verbindung Voneinander unabhängig Testfall 1 Testkette 1 Testserie 40

Testautomation Wozu Testautomation Ermöglicht breite Abdeckung Vorhandene Testfälle können in jeder neuen Version wiederholt werden Kein manueller Eingriff notwendig Manche Tests können manuell schwer oder überhaupt nicht durchgeführt werden 41

Testautomation Vorteile der Testautomation Wiederholbarkeit Durchführung in konstanter Geschwindigkeit Wiederverwendbarkeit Mehr und umfangreichere Testläufe Besserer Einsatz von Ressourcen (staff morale) Reduktion der Testzeiten 42

Testautomation Grenzen der Testautomation Manuelle Tests werden dadurch nicht unnötig Die erste Durchführung eines automatisierten Testfalls dauert deutlich länger 43

Testautomation Häufige Fehler / Missverständnisse Unrealistische Erwartungen Testautomation löst nicht alle Probleme Wenig Testerfahrung Unzureichende Testfall Dokumentationen Ineffiziente Testfälle Erwartung, viele neue Fehler zu finden 44

Testautomation Häufige Probleme Wartung der automatisierten Testfälle Technische Probleme - fehlerhafte Testtools Organisatorische Dinge Testautomation ist eine mittel- bis langfristige Investition 45

Testautomation capture & replay 46

Testautomation generischer Ansatz Standardisiertes Testfall Format Funktionenschicht 47

Testautomation Unser Konzept der Testautomation NICHT capture & replay Zu hoher Wartungsaufwand Geringe Effizienz bei hoher Anzahl von Testfällen Kein error handling möglich Keine unbeaufsichtigten Testläufe möglich Generischer Ansatz Unterschiedliche Testfälle verwenden die selben Funktionen und Methoden Hoher Grad an Wiederverwendbarkeit Geringer Wartungsaufwand, effizienter... 48

Testtools Der Grundsatz unserer Testtool-Sammlung strikte Trennung von Testfallerstellung und Testdurchführung standardisiertes Testfall Format Funktionenschicht 49

Testautomation Testfälle Automationstool Testobjekt 50

Testlandschaft Projekte Plattformen EMU 1 : n??? SAP 3270 VA-ST Java Web VB 51

Testautomation Testdaten lesen Interpretation Steuerung Dateneingabe 52

XML Interface Testdaten lesen Interpretation Steuerung Dateneingabe XML Interface 53

Funktionenschicht Testdaten lesen Interpretation Steuerung Dateneingabe XML Interface 54

Aufbau der Funktionenschicht Ablaufsteuerung, Logging, Reporting, Errorhandling Plattformspezifische Methoden im WinRunner Plattformspezifische Methoden außerhalb des WinRunner (DLL) SAP ARC WinRunner Web Java VB SLS easypoc SLS Kossy SLS Kossy SLS Kossy GAPA EAS Globale Funktionen, GUI-Methoden des WinRunner Projektspezifische Methoden im WinRunner Projektspezifische Methoden außerhalb des WinRunner 55

Testautomation Kreislauf Resultatsrückführung Testfall Verwaltung generierung der result files (XML) Steuerung der GUI Ausgabe von XML-Files Abarbeitung durch Funktionenschicht 56

Fragen? Danke für Ihre Aufmerksamkeit 57