Zwischenbericht - Großer Beleg



Ähnliche Dokumente
EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel

Testen von graphischen Benutzeroberflächen. 24. Juni 2015

Testen von graphischen Benutzeroberflächen. 26. Juni 2013

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

Softwareentwicklung mit Enterprise JAVA Beans

Online Banking System

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Software - Testung ETIS SS05

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

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

Swp08-6 Verantwortliche: Yundensuren, Baigalmaa. Testkonzept

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Java Enterprise Architekturen Willkommen in der Realität

Programmiertechnik II

Das Test-Framework JUnit ETIS SS04

Testphase. Das Testen

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand:

Übungsklausur vom 7. Dez. 2007

Qualitätsmanagement im Projekt

Automatisierte GUI Tests in fachlichen Teststufen Patrick Möller

Testen im Software- Entwicklungsprozess

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

Testen mit JUnit. Motivation

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Anwenden eines Service Packs auf eine Workstation

Einführung in die Informatik Tools

Ein Tool für automatische Performancetests von Java3D Applikationen

Softwarequalitätssicherung

Was versteht man unter Softwaredokumentation?

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Telling TestStories Modellbasiertes Akzeptanz Testen Serviceorientierter Systeme

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

360 - Der Weg zum gläsernen Unternehmen mit QlikView am Beispiel Einkauf

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

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version:

Automatisiertes Testen von Java EE-Applikationen mit Arquillian

Gästeverwaltung. Gästestammdaten. Gäste verwalten. Hotelsoftware für Klein- und Mittelbetriebe

Automatisiertes End-to-end Testen von Enterprise Applikationen

Mastermind. Testplan. Hochschule Luzern Technik & Architektur. Programmieren 2 FS12. Gruppe 10

6.9 Java Server Pages

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

Java 2, Enterprise Edition Einführung und Überblick

teamsync Kurzanleitung

Fortgeschrittenes Programmieren mit Java. Test Driven Development

Installationsleitfaden zum Fakturierungsprogramm

Programmieren I. Übersicht. Vorlesung 12. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Quick Reference Historie des Dokuments

NEWSLETTER // AUGUST 2015

BIF/SWE - Übungsbeispiel

T1 - Fundamentaler Testprozess

SE2-10-Entwurfsmuster-2 15

Whitebox-Tests: Allgemeines

OP-LOG

DVD Version 9.1. Netzwerkinstallation + VDE-Admin-Tool.

Version 1.0 [Wiederherstellung der Active Directory] Stand: Professionelle Datensicherung mit SafeUndSave.com. Beschreibung.

SCHULUNG MIT SYSTEM: E-LEARNING VON RAUM21

ATHOS Benutzertreffen

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis

How to do? Projekte - Zeiterfassung

Der lokale und verteilte Fall

proles-login. Inhalt [Dokument: L / v1.0 vom ]

Handbucherweiterung Zuschlag

EoL-Testautomation 2.0. Technische Beschreibung. DI Hans-Peter Haberlandner. Blumatix GmbH

Buddy - Algorithmus Handbuch für Endnutzer Stand

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

Installation OMNIKEY 3121 USB

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

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Prototypische Bug Report / Feature Request Anwendung

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel

,$ -. "+0 *+*+ ! / -#$%$. #$%'' $ () 1 2$ #$%$! 1 2$3 )!

Windows Server 2008 (R2): Anwendungsplattform

Lokale Installation von DotNetNuke 4 ohne IIS

Simulation und Bildanalyse mit Java Vortragsthemen für das Sommersemester 2004 Themenschwerpunkt in diesem Semester: Tests in Informatik und Statistik

SPI-Seminar : Interview mit einem Softwaremanager

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

MPDS4 EXAMPLE DATENBANK

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

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

gallestro BPM - weit mehr als malen...

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Teaser-Bilder erstellen mit GIMP. Bildbearbeitung mit GIMP 1

3.2,,Eichung von Function Points (Berichtigte Angabe)

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

Mai Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Nach der Installation des FolderShare-Satellits wird Ihr persönliches FolderShare -Konto erstellt.

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Verteidigung gegen SQL Injection Attacks

Markus Wichmann. Testen von Java Code mit. JUnit

LimeSurvey -Anbindung

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Planung für Organisation und Technik

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation. 7 Key Features.

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

Schnittstelle DIGI-Zeiterfassung

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

MSDE 2000 mit Service Pack 3a

Transkript:

6WXGLH]XPV\VWHPDWLVFKHQ 7HVWHQYRQZHEEDVLHUWHQ &OLHQW6HUYHU$QZHQGXQJHQ Zwischenbericht - Großer Beleg Thomas Förster Betreuerin: Dipl.-Softwaretechnol. Anne Thomas Hochschullehrer: Prof. Dr. rer. nat. habil. H. Hußmann

2 hehueolfn Aufgabe und Motivation Webbasierte Anwendungen Beispiel: ProjectWeb Grundlagen des Testens Grundbegriffe und Testverfahren Vorgehen beim Entwicklertest Untersuchte Testframeworks Erstellung von Testklassen Probleme bei mehrschichtigen Anwendungen Erste Bewertung und Einschätzung Bisher Erreichtes Ausblick

3 $XIJDEH Ermittlung und Darstellung vorhandener Testansätze und Verfahren für webbasierte Anwendungen Beispiele: ProjectWeb und jexam Einarbeitung, Auswertung und Bewertung von verschiedenen Testframeworks für Entwicklertests Erstellung einer Testumgebung für ProjectWeb unter Nutzung geeigneter Testframeworks

4 0RWLYDWLRQ Test und Wartung erfordert ca. 50% des Gesamtaufwandes eines Softwareprojektes - Hoher Zeitbedarf -> höhere Kosten -> mehr Qualität - Weniger Tests -> weniger Qualität -> unzufriedene Kunden Fragen: - Wie wird möglichst effizient getestet? - Manuelle oder automatische Tests? - Welche Werkzeuge sollten genutzt werden? Wenn Sie glauben, daß Entwurf und Codierung dieses Programmes schwierig war, so haben Sie noch nichts mitbekommen. (Myers)

5 :HEEDVLHUWH$QZHQGXQJHQ Meist mehrschichtige Applikationen (2-, 3-, 4-Tier) - Anwendungscode nur auf dem Server - Thin-Clients (Webbrowser) Realisierung auf Grundlage der Java 2 Enterprise Edition (J2EE) möglich - Nutzung u.a. von Servlets, Java Server Pages (JSP) und Enterprise Java Beans (EJB) Trend der Entwicklung webbasierter Anwendungen hält an - E-Commerce Weihnachtsgeschäft 2001: Anstieg um 44% gegenüber Vorjahr in Europa, Umsatz von 2,9 Milliarden Euro - Business-To-Business - Business-To-Customer

6 :HEEDVLHUWH$QZHQGXQJHQ Stufe 1: grafische Benutzeroberfläche Stufe 2: Web- und Applikationsserver Stufe 3: Datenbank(en)

7 :HEEDVLHUWH$QZHQGXQJHQ Client Anwendungslogik Daten HTML/XML HTTP Web- Server JSP Tag libraries JavaBeans JDBC JavaMail RMI Applet Servlets JNDI Client- Anwendung Security Manager Error Log Servlet Engine Session Beans EJB Server Entity Beans Connection Pool IIOP

8 %HLVSLHO3URMHFW:HE Anwendung zur webbasierten Verwaltung von Forschungsprojekten Funktionen: - Nutzer- und Rollenmanagement - Verwaltung von Projekteinheiten, Arbeitsplänen, Beschreibungen - Dokumentenverwaltung - Adressbuch Realisierung auf Grundlage der J2EE Einfache Auszubauen durch Modulstruktur

9 *UXQGODJHQGHV7HVWHQV Definition Testen durch Myers (1978): Testen ist der Prozeß, ein Programm mit der Absicht auszuführen, Fehler zu finden. - Destruktiver Vorgang - Kann nur die Anwesenheit von Fehlern und Mängeln feststellen - Restfehlerzahl gegen Null minimiert - In der Praxis häufigste Maßnahme zur Qualitätssicherung

10 *UXQGEHJULIIH Testfall: - spezifiziert Ausgangszustand, Eingabewerte oder Bedingungen und erwartete Ausgabewerte - Erfolgreich wenn er einen Fehler entdeckt Testsequenz: - Zusammenfassung von Testfällen Spanne oder Reichweite: - Ganze Methoden bis hin zum gesamten System Verschiedene Testverfahren: - Blackbox-Test: Betrachtet Programm von aussen in seinen Schnittstellen - Whitebox-Test: Untersucht innere Struktur des Programms

11 :HLWHUH7HVWYHUIDKUHQ Unit-Test: - Test einer einzelnen Klasse getrennt von ihrer Umgebung Interaktionstest: - Test des Zusammenspiels mehrerer Objekte Regressionstest: - Test nach Erweiterung, Änderung und Korrektur von Code Systemtest: - Test der Funktionalität des Gesamtsystems Akzeptanztest: - Test durch Kunden ob das Programm richtig arbeitet u.v.a.m

12 9RUJHKHQEHLP(QWZLFNOHUWHVW Mindestens eine Testklasse pro Anwendungsklasse Auswahl geeigneter Eingabedaten (Testfallentwurf) - Äquivalenzklassen - Grenzwertanalyse Nullreferenzen, leere Strings, Zahl 0 Kollektionen: leer, ein Element, mehrere Elemente Insb.: gültige und ungültige Werte Starten des Tests durch geeigneten Testtreiber (Framework) Auswertung des Tests

13 9RUJHKHQEHLP(QWZLFNOHUWHVW Testorganisation - Verwaltung der Testklassen - Verwaltung und Erstellung von Testsequenzen Testausführung - Wie oft und wann werden die Tests ausgeführt? Unterstützung durch geeignete Testframeworks zur Automatisierung Anforderungen: - Trennung von Test- und Applikationscode - Sprache der Testspezifikation = Programmiersprache - Erfolg oder Misserfolg der Testausführung auf einen Blick erkennbar - Unterstützung von Testsequenzen

14 8QWHUVXFKWH7HVWIUDPHZRUNV Testframeworks sind für verschiedene Schichten eine webbasierten Client-Server Anwendung vorhanden 7 Testframeworks wurden (werden) untersucht: - HTTPUnit - Cactus Testklassen - Canoo Webtest - junitee Klassen der Präsentationsschicht - dbunit - junit, jxunit Klassen der Geschäftslogik Klassen der Persistenzschicht Geschäftsund Hilfsklassen

15 (UVWHOOXQJYRQ7HVWNODVVHQ Testklasse erbt von frameworkspezifischer Oberklasse - junit: TestCase, dbunit: DBTestCase Cactus: ServletTestCase, JspTestCase Methoden zum erzeugen und zerstören einer Objektstruktur (Fixture) - junit: setup(), teardown() Überschreiben oder Implementation von Methoden - dbunit: getconnection(), getdataset() Implementation jedes Testfalles in einer eigenen Methode - public void testxxx() Starten des Testframeworks mit Testklasse als Argument - java junit.textui.testrunner test.exampletest

16 3UREOHPHEHLPHKUVFKLFKWLJHQ $QZHQGXQJHQ Anwendungsklassen sind abhängig von einem Applikationsserver - z.b.: EJBs, Servlets, JSP - Ständiges Deployment Unit-Tests sind nahezu unmöglich - Evtl. mit Attrappen, Mocks - Zahlreiche Versuche gescheitert Ausführungsgeschwindigkeit der Tests sehr hoch - Datenbankzugriffe Ausweg: - Nutzung geeigneter Testframeworks und -strategien - Testlauf in sog. Nightly Builds

17 (UVWH%HZHUWXQJXQG (LQVFKlW]XQJ Vor allem die Nutzung von Applikationsservern macht das Testen von webbasierten Anwendungen schwierig - großer Zeitaufwand, Abhängigkeit vom Server, Deployment - Testen im Container z.b. mit Cactus Unit-Tests beschränken sich auf autonome Klassen - junit zum Test sehr nützlich Test von EJBs erfordert meist vorhandene Datenbankeinträge - dbunit ist hierfür sehr nützlich Problem der Integration mit Frameworks und definierten Umgebungen für Klassen bleibt auch in Zukunft bestehen - Entwicklung für Werkzeuge zum Test

18 %LVKHU(UUHLFKWHV Literaturrecherche Einarbeitung in ProjectWeb Schreiben einer ersten Version des Großen Beleges (theoretischer Teil) Genaue Untersuchung der Testframeworks junit, jxunit, dbunit, junitee Implementierung von Testfällen für EJBs (Bsp.: EmailManagement) unter Berücksichtigung verschiedener Teststrategien Beginn der Erstellung der Testumgebung (Konzept)

19 $XVEOLFN Implementation der Testumgebung auf Grundlage der vorhandenen - Einfache Erstellung von Tests für SessionBeans - Überarbeitung der Loggingfunktion Genaue Untersuchung der restlichen Frameworks Erstellung des Nightly Builds für die Ausführung der Tests

20 9LHOHQ'DQNI U,KUH $XIPHUNVDPNHLW )UDJHQ 'LVNXVVLRQ

21 /LWHUDWXU Glenford J. Myers. Methodisches Testen von Programmen, Oldenbourg Verlag, München, 1982 Johannes Link, Peter Fröhlich. Unit Tests mit Java, Der Test- First-Ansatz, dpunkt-verlag, Heidelberg, 2002 Robert V. Binder. Testing Object-Oriented Systems, Models, Patterns and Tools, Addison Wesley, Massachusetts, 2000 URLs: - http://www.testing.com - http://www.mockobjects.com - http://www.xprogramming.com - http://projectweb.inf.tu-dresden.de