Testen & Optimieren
TO1: Fortgeschrittene Techniken der testgetriebenen Entwicklung

Der testgetriebene Entwicklungszyklus lässt sich sehr leicht bei der Entwicklung entkoppelter Domänen-Objekte einsetzen. Doch in echten Projekten kommt es aufgrund der zahlreichen Technologien schnell zu Problemen mit der "reinen" Lehre und zu entsprechenden Frust-Erlebnissen. Dieser Workshop stellt Techniken und Strategien vor, die das Leben des testgetriebenen Entwicklers über die gesamte Projektlaufzeit erleichtern. U.a. werden folgende Themen beleuchtet:
- Mock-Objekte im erweiterten Einsatz
- Testen grafischer und web-basierter Oberflächen
- die unterschiedlichen Angriffspunkte von FIT-Tests
- der Umgang mit Legacy-Code
- Scriptsprachen zur Testvereinfachung
- die Bedeutung von Code-Coverage-Analysen
Grundlegenden Kenntnisse von JUnit 4 werden vorausgesetzt. Je zwei
Teilnehmer benötigen einen Laptop mit installierter
Eclipse-Entwicklungsumgebung (>= 3.2) und Java 5.
|
Saal 1Aa 23.04.2007, 09:00 - 16:30 Uhr |
TO2: Automatisiertes Testen von Webapplikationen

Mit dem Open-Source-Werkzeug WebTest wird die Formulierung von Tests als Anforderungen an das Applikationsverhalten vorgestellt. Sie dienen als Mittel der nachhaltigen Qualitätssicherung in agilen Projekten. Web-Tests werden als Ant-Skripte oder in Groovy formuliert und unterstützen auch das Testen von Ajax-basierten Anwendungen und Web Services z.B. mithilfe von XPath-Verifikationen.
|
Saal 7 26.04.2007, 08:30 - 09:45 Uhr |
TO3: Automated (J)Unit Testing

Unit-Testing kristallisiert sich als Lösung heraus, um der Agilität und immer kürzeren Releasezyklen in der Softwareentwicklung zu realisieren. AgitarOne liefert dem Entwickler direktes Feedback zum aktuellen Verhalten seines Codes und per Knopfdruck können JUnit-Tests generiert werden, um die Regressionsfähigkeit, auch für den Bestandcode zu erlangen. Damit wird wird Unit-Testing einfach und effizient in den Alltag des Entwicklers integriert.
|
Saal 12d 26.04.2007, 14:15 - 15:30 Uhr |
TO4: Testing with Selenium

This session covers all aspects of Selenium, starting from its origins as an internal user-acceptance testing tool through testing Ajax applications. This session covers Selenium functionality, syntax of the test scripts (both HTML and the scripting language), keywords, testing techniques, recording tests, creating extensions, and testing Ajax applications.
|
Saal 6a 26.04.2007, 15:45 - 17:00 Uhr |
TO5: Testgetriebenes Ajax

Die neuen Technologien, Frameworks und Kommunikationsmuster moderner Web 2.0-Applikationen bringen auch neue Herausforderungen für die Verfechter testgetriebener Entwicklung. Wo greifen die herkömmlichen Ansätze? Wo gibt es neue Tools und Wege? Wo bleiben jetzt (noch) Lücken in unserem Testnetz? Grundkenntnisse von Ajax, JavaScript und testgetriebener Entwicklung werden in dieser Session vorausgesetzt.
|
Saal 7 24.04.2007, 10:00 - 11:15 Uhr |
TO6: Endlich vernünftig testen mit EJB 3

Die EJB 3-Version verspricht einen Weg zum Testen ohne Application Server und damit eine massive Vereinfachung und Beschleunigung der Entwicklungsarbeit. Aber Achtung: Auf den zweiten Blick stellt man fest, dass es noch ein paar Hürden zu nehmen gilt, z.B. für Transaktionen und Authentifizierung. Die Session zeigt, wie man mit so genannten "Embedded-Containern" eine tragfähige Testumgebung aufbaut.
|
Saal 1Ac 25.04.2007, 10:15 - 11:30 Uhr |
TO7: Java Performance Myths

Performance myths about the Java platform abound, from the general "Java is slow," to the more specific "reflection is slow," "allocation is slow," "synchronization is slow," "garbage collection is slow," etc. Many of these myths have their root in fact (in JDK 1.0, everything was slow); today, not only are many of these statements not true, but Java performance has surpassed that of C in many areas, such as memory management. In this class, we'll look at some common Java performance myths, identify where they came from, and explore the platform changes that have rendered them no longer true. Many common performance hacks don't actually help, and some can seriously hurt performance. The result is that clean code that follows common usage patterns generally shows far better behavior on modern JVMs than code laden with tweaks designed to "help" the JIT or garbage collector. More often than not, this well-intentioned assistance has the unfortunate effect of undermining many common JIT optimizations, resulting in slower - not faster - code.
|
Saal 7 25.04.2007, 20:30 - 21:45 Uhr |
TO8: Automatically Testing Java GUI Applications

Functional GUI testing is a vital part of the development and QA process of today's complex GUI applications. Manually testing the GUI of an application is error-prone, unreliable, unpredictable and slow. Automating this process on the other hand, allows to reliably deliver results quickly, enabling developers to find and fix regressions in nearly no time. This does not only save time but also money. This session will highlight the requirements, challenges and solutions to automating the GUI testing of Java Swing/AWT and Java SWT/Eclipse RCP applications based on real-world examples and experience.
|
Saal 12d 26.04.2007, 08:30 - 09:45 Uhr |
TO9: Test First Development Using Eclipse

Test first development is a top-down process by which code is written starting with tests. Once tests have been created, the process changes to that of making the tests work by implementating the application code. In this short talk, we demonstrate how Eclipse support for JUnit facilitates test first development in the context of creating Java and Java EE applications, and plug-ins.
|
Saal 1Ab 25.04.2007, 16:30 - 17:00 Uhr |
TO10: Concurrency, past and present

With the widespread availability of cheap multi-core processors, concurrency is more important than ever for utilizing the hardware resources available to an application. However, writing safe and performant concurrent code is difficult, and requires a more rigorous design, development, and testing approach in order to produce reliable results. In this keynote, we'll look at several programming models for concurrency, contrast them with the shared-state model that is dominant today, and draw some lessons that can help us write better concurrent programs in Java.
|
Halle 1 25.04.2007, 19:30 - 20:15 Uhr |
TO11: Java Runtime Performance Monitoring

Die Suche nach Performance-Engpässen gleicht bei großen Java SE- und EE-Anwendungen oft der Suche nach der besagten Nadel im Heuhaufen. Entweder man ist nicht in der Lage, reale Bedingungen für eine Analyse nachzustellen, oder aber die realen Bedingungen sind so komplex, dass die Identifikation eines isolierten Problems kaum möglich ist. Abhilfe schaffen hierbei Tools, die deutlich vor Java-Low-Level-Profiling ansetzen. Im Rahmen dieser Session werden ein kommerzieller (JInspired JXInsight) und ein freier (JETM) Vertreter vorgestellt und gezeigt, wie damit während der Entwicklung und vor allem im produktiven Betrieb die Basis für gezieltes Profiling geschaffen werden kann.
|
Saal 7 25.04.2007, 13:45 - 15:00 Uhr |
TO12: Using the Right Tool for the Job

Computer science is a discipline that is increasingly ambiguous over time - from the days when scientific computing was the only kind of computing, through increasingly human-friendly (and
processor-unfriendly) metaphors such as objects, to technologies such as web services that embrace the fact that human-useful data tends to be textual and ambiguous, to the more ambitious projects of today which start with "search" and end with the holy grail of computers processing natural language as effectively as humans do. There are two common themes throughout this history: One is that the things people use computers for become increasingly about non-provable, loosely-structured human data over time; the second is that we are seeing a parallel trend in computer languages and technology choice. There are typically two diametrically opposed choices: Impose computer-friendly structure (the semantic web), or mine structure from unstructured data. The temptation is to follow the latest technology fashion; the challenge is to identify the right tool for the job. This talk will seek to put the set of choices facing anyone starting a technology project in perspective, and in the process note Sun Microsystems' role in shaping the technologies involved and our strategy going forward as the Not-Just-Java company.
|
Halle 1 24.04.2007, 09:00 - 09:45 Uhr |
TO13: Performance Anti-Patterns

Performance ist eine der wichtigsten Anforderungen an moderne Java EE- und SOA-Anwendungen. In vielen Projekten wird durch die Auswahl der falschen Architektur und den falschen Einsatz von Frameworks der Grundstein für eine schlechte Performance gelegt. Auf Basis der Erfahrung aus vielen Performance-Troubleshooting-Projekten werden unterschiedliche Performance Anti-Patterns vorgestellt.
|
Saal 12a 24.04.2007, 11:45 - 13:00 Uhr |
TO14: Java EE Application Server und der Java Heap – effektive Speicheranalyse

Eine kritische Ressource heutiger Java EE Application Server ist der Java Heap. Anders als bei Performanceproblemen führt ein zu hoher Speicherverbrauch im Java Heap zu einem sofortigen Abbruch der VM. Leider aber ist genau dieser Java Heap für den Entwickler uneinsehbar. Wir werden die Speicherprobleme großer Application Stacks beleuchten und effektive Mittel für eine detaillierte Analyse aufzeigen.
|
Saal 11a 24.04.2007, 14:15 - 15:30 Uhr |
TO15: Garbage Collection - Memories are made of this

Die Garbage Collection gehört nach wie vor zum Grundwissen für das Performance-Tuning von Anwendungen. Mit jedem Java-Release sind neue, meist undokumentierte Einstellmöglichkeiten hinzugekommen. Der Vortrag stellt die verschiedenen GC-Algorithmen und ihre Live-Beobachtung im Detail vor (inkl. Java 6). Daraus werden Regeln abgeleitet, mit deren Hilfe man zu einem guten Memory-Sizing kommt.
|
Saal 1Ac 25.04.2007, 16:30 - 17:45 Uhr |
TO16: Diagnose und Tuning von Remote-Schnittstellen in verteilten Anwendungen

Verteilte Softwaresysteme bauen wesentlich auf Remoting-Schnittstellen wie RMI und Web Services auf. Diese sind häufig die Ursache für Performanzprobleme in Anwendungen. Dieser Session erläutert typische Probleme, Performanzdiagnose und Problemlösungsvorschläge in den Implementierungen von Remote-Anbindungen (Frontend to Backend oder Backend to Backend). Nach der Darstellung der Problemtypen wird deren Diagnose mit Java-Bordmitteln erörtert. Weiters wird auf zusätzliche Techniken (wie z.B. Netwzwerksniffer, Netzwerkmetriken ...) mit deren Vor- und Nachteilen eingegangen, und deren Anwendung in den unterschiedlichen Phasen des Anwendungs-Entwicklungslebenszyklus.
|
Saal 12a 24.04.2007, 10:00 - 11:15 Uhr |
TO17: XP-Live-Demo

Der "Vortrag" zeigt, wie eXtreme Programming funktioniert. Wir zeigen die wichtigen XP-Techniken wie testgetriebene Entwicklung und Pair-Programming anhand einer Live-Demo. So können die Teilnehmer direkt erleben, wie XP funktioniert und was inkrementeller Entwurf bedeutet.
|
Saal 12a 25.04.2007, 13:45 - 15:00 Uhr |
TO18: Using Advanced Source Code Analysis to Improve Quality and Security

Automated source code analysis can detect critical, hard-to-find defects in software programs. Developers can detect critical defects early in the software development lifecycle and fix them faster and more efficiently than ever before. Using leading edge source code analysis tools such as Coverity Prevent, many leading software development companies are improving the quality and security of Java applications while reducing development costs. This session describes leading source code analysis techniques and their benefits.
|
Saal 12a 25.04.2007, 10:15 - 11:30 Uhr |
TO19: SQL-Tuning: Bremsen Sie Ihre Datenbank nicht aus

Performance-Engpässe in Anwendungen sind häufig auf schlecht geschriebene SQL-Statements oder unzureichendes Datenbank-Tuning zurückzuführen. In dieser Session werden Tipps zum SQL-Tuning u.a. bei folgenden Themen gegeben: Indexeinsatz, Materialized Views, Join-Reihenfolgen, Ausführungspläne.
|
Saal 6a 25.04.2007, 08:30 - 09:45 Uhr |
TO20: Agiles Qualitätsmanagement in Java-Projekten nutzen

Der Power Workshop stellt die Konzepte des agilen Qualitätsmanagements vor, die eine Synthese der Vorgehensweisen agiler Softwareentwicklung mit den Werten des traditionellen Qualitätsmanagement anstreben. Es wird gezeigt, wie ein Einsatz in IT-Projekten konkret gestaltet werden kann. Agile Verfahren bewähren sich in Softwareprojekten, sind aber mit klassischen Qualitätsmanagement-Verfahren wenig kompatibel. Qualität nur implizit zu betrachten, wie es verschiedene Vertreter agiler Verfahren tun, greift zu kurz. Deshalb bietet das agile Qualitätsmanagement einen konzeptuellen Rahmen, wie die unterschiedlichen Aspekte von Qualität im Team bewusst gemacht werden, angemessene Lösungen ausgewählt und die Erfahrungen über das konkrete Projekt hinaus in die Organisation transferiert werden.
|
Saal 12a 27.04.2007, 09:00 - 16:30 Uhr |
TO21: Why is everybody interested in Ruby on Rails?

Ruby on Rails is the Web application framework written in Ruby that has taken the software development by storm. This session shows Java developers why everyone is so interested in this framework. It discusses convention over configuration, Ajax, building forms, data migration, make (using Rake) and other topics utilizing this powerful framework.
|
Saal 11a 25.04.2007, 16:30 - 17:45 Uhr |
TO22: Was ist Apache Shale?

Shale ist als Unterprojekt des Struts-Frameworks gestartet worden und mittlerweile ein eigenständiges Apache-Projekt. Doch was steckt hinter Shale? Was hat es mit Struts zu tun? Warum ist Shale auch JSF? Oder nur JSF? Dieser Short Talk gibt einen knappen Überblick zu dem, was das Shale-Projekt ist und welche Komponenten es für die Webentwicklung bereitstellt.
|
Saal 6a 25.04.2007, 17:10 - 17:40 Uhr |
TO23: GUI-Tests für Eclipse RCP-Applikationen

Automatisierte Tests zählen heute zum Standard in der Software-Entwicklung.
Jedoch werden grafische Benutzerschnittstellen immer noch meist von Hand getestet. Diese Session gibt einen Überblick über die verschiedenen Ansätze, GUIs zu testen, und stellt die verfügbaren kommerziellen und Open-Source-Werkzeuge vor, die bei der Erstellung von Tests für SWT/JFace/RCP-basierte Anwendungen helfen.
|
Saal 11b 24.04.2007, 11:45 - 13:00 Uhr |
- Copyright 2007 Software & Support Verlag GmbH
- Imprint
- Privacy
- Contact
- Terms of Participation
























