28
Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de [email protected] Version: 1.0 10 Jahre Java Qualitätssicherung Beim Erscheinen von Java genügten noch sechs simple konstruktive Eigenschaften um die Java Plattform und Sprache als Qualitätsangebot zu positionieren. Heute erstrecken sich die Qualitätsmanagementanstrengungen in der Java, XML und Open Source Welt von konstruktiven Verfahren wie syntaxvalidierenden Entwicklungsumgebungen bis hin zu kontinuierlichen automatisierten Analysen von Codes,Funktionen und Architekturen. Wie kam es zu dieser Entwicklung und hat sich die Qualität der erstellten Software in dieser Zeit wirklich erhöht © 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 2 Gliederung Grundlagen des Qualitätsmanagements 1998-2008 Impressionen aus dem OIO- Qualitätsmanagement Herausforderung Java 2.0 Qualtitätsmanagement Ausblick

10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 [email protected] 10 Jahre Java Qualitätssicherung

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

1

Orientation in Objects GmbH

Weinheimer Str. 6868309 Mannheim

[email protected]: 1.0

10 Jahre JavaQualitätssicherung

Beim Erscheinen von Java genügten noch sechs simple konstruktive Eigenschaftenum die Java Plattform und Sprache als Qualitätsangebot zu positionieren. Heuteerstrecken sich die Qualitätsmanagementanstrengungen in der Java, XML und OpenSource Welt von konstruktiven Verfahren wie syntaxvalidierendenEntwicklungsumgebungen bis hin zu kontinuierlichen automatisierten Analysen vonCodes,Funktionen und Architekturen. Wie kam es zu dieser Entwicklung und hat sichdie Qualität der erstellten Software in dieser Zeit wirklich erhöht

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 2

Gliederung

• Grundlagen desQualitätsmanagements

• 1998-2008 Impressionen ausdem OIO-Qualitätsmanagement

• Herausforderung Java 2.0Qualtitätsmanagement

• Ausblick

Page 2: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

2

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 3

Magisches Viereck (Sneed)

• Entwicklungs-Projekt• Entwicklungs-Projekt

Fertigstellungszeitpunkt Qualität

Personeller Aufwand Funktionaler Umfang

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 4

Qualitätskosten ein Minimierungsproblem

• Softwarekosten = Herstellungskosten + Qualitätskosten

• Qualitätskosten = Qualitätssicherungskosten + Fehlerkosten

Page 3: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

3

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 5

Qualität

• transzendent• produktbezogen• benutzerbezogen• prozessbezogen• Kosten/Nutzen -bezogen

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 6

Qualität

• „Als Qualität eines Gegenstandes bezeichnen wir die Gesamtheitseiner charakteristischen Eigenschaften.“

• „Softwarequalität ist die Gesamtheit der Merkmale undMerkmalswerte eines Softwareproduktes, die sich auf dessenEignuing beziehen, festgelegte oder vorausgesetzte Erfordernissezu erfüllen“( ISO 9126)

Page 4: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

4

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 7

Qualitätsmodelle

• Qualität wird durch Merkmale beschrieben - (engl. Factor)– meist benutzerbezogen

• Merkmale können in Teilmerkmale strukturiert werden - (Criteria)– eher produktbezogen

• mess- oder bewertbarkeit durch Indikatoren• Qualitätsmaße sind quantitative Skala und Meß-Methode• bekannte FCM-Modelle(produktbezogen)

– ISO 9126– FURPS– McCall– Boehm– DGQ

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 8

FCM-Modelle und Qualität

Produkt-Qualität

Wartbarkeit

Brauchbarkeit

Prüfbarkeit

Änderbarkeit

Portabilität

Zuverlässigkeit

Nützlichkeit

Bedienbarkeit

Spezifikations-VollständigkeitLokalität

Testbarkeit

StrukturiertheitSimplizitätKnappheitLesbarkeit

Geräte-UnabhänigkeitAbgeschlossenheit

KorrektheitAusfallsicherheitGenauigkeit

EffizienzSparsamkeitLeistungs-VollständigkeitHandbuch-VollständigkeitKonsistenzVerständlichkeitEinfachheit

Page 5: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

5

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 9

Strategien im Qualitätsmanagement

• Bottom-up– einfach in die Entwicklung zu integrieren (test first?)– Unterstützung durch Unit-Frameworks– Anlehnung an andere Ingenieurwissenschaften

• Top-down Ansätze– in Form von C/R-Ansätzen– ineffiziente Bsp. bekannt– in anderen Ingenieurwissenschaften teilweise sehr spektakulär und

teuer

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 10

Kaufmännischer Hintergrund

• Aufwand für QM sehr ist hoch• Ist dieser Aufwand gerechtfertigt, bzw. bezahlbar?• Risiko durch

– Personenschaden– Hohe Kosten– Imageverlust

• „Sei mindestens genauso gut wie die Konkurrenz“

Page 6: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

6

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 11

Fehlerentstehung

30

25

30

15

63

36

1

30,3

57,8

11,9

0

10

20

30

40

50

60

70

Analyse Design Implementierung Systemintegration

Phase

proz

entu

aler

Feh

lera

ntei

l

Balzert 1985Maus/TestmanagemntNIST 2002

Fehlerentstehung

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 12

Ökonomische Gründe zum Werkzeugeinsatz II

0

20

40

60

80

100

120

Analyse Design Implementierung Systemintegration

Phasen

rela

tive

Fehl

erbe

hebu

ngsk

oste

n

DunnFROX

Page 7: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

7

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 13

Allgemeines V-Modell

AbnahmetestAnforderungsdefinition

Funkt. Systementwurf

Techn. Systementwurf

Komponentenspez.

Integrationstest

Komponententest

Systemtest

Programmierung

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 14

„Die agile These“ - Preis für Änderungen

Technologie

$

Höhere Programmiersprachen

Strukturierte Programmierung

Objektorientierte Programmierung

Generative Programmierung

Page 8: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

8

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 15

Wasserfallmodell

Anforderungen

Implementierung

Deployment

Analyse

Test

Betrieb

Risk

Time

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 16

Inkrementell und IterativA

nalyse

Design

Implem

entierung

Test

Analyse

Design

Implem

entierung

Test

Analyse

Design

Implem

entierung

Test

Analyse

Design

Implem

entierung

Test

1.Iteration

2.Iteration

3.Iteration

n.Iteration

Page 9: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

9

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 17

Classical System Test

Inception Elaboration Construction Transition

TP TBTDTSTCTD

SYSTEMTEST

TP - Test plan TS - Test scripts

TD - Test design specification TE - Test execution protocol

TC - Test case specification TR - Test report

Perform tests

Analyse testresults

Plan tests

Design Tests

Find test cases Implement tests

Operation

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 18

Projektkosten

Kapselung der Protokoll-schichten

Kapselung der Protokoll-schichten

Kapselung der Protokoll-schichten

Kapselung der Protokoll-schichten

Kapselung der Protokoll-schichten

Kapselung der Protokoll-schichten

Kapselung der Protokoll-schichten

Kapselung der Protokoll-schichten

Kapselung der Protokoll-schichten

Anpassung des Test-Management

Kapselung

der Protokoll-schichten

Kapselung

der Protokoll-schichten

Kapselung

der Protokoll-schichten

Kapselung

der Protokoll-schichten

Frame-work

Design

Kap

selu

ng

der P

roto

koll-

schi

chte

n

Kap

selu

ng

der P

roto

koll-

schi

chte

n

Kap

selu

ng

der P

roto

koll-

schi

chte

n

Kap

selu

ng

der P

roto

koll-

schi

chte

n

Testcode im

Container

Anwendungs-

design

Kosten fürfunktionalenTest

Page 10: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

10

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 19

Gliederung

• Grundlagen desQualitätsmanagements

• 1998-2008 Impressionenaus dem OIO-Qualitätsmanagement

• Herausforderung Java 2.0Qualtitätsmanagement

• Ausblick

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 20

Gliederung

• Grundlagen desQualitätsmanagements

• 1998-2008 Impressionenaus dem OIO-Qualitätsmanagement

• Herausforderung Java 2.0Qualtitätsmanagement

• Ausblick

• 1998-2001• 2001-2003• 2003-2005• 2005-2006• 2007-2008

Page 11: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

11

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 21

QM-Trend: Open Source für kommerzielleProjekte

• Versionsverwaltung• Global Ownership of Code• Dokumentation in Mailarchiv und Code• Bugtracking• Continuous Integration• Wiki

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 22

JUnit das Open Source QM-Projekt

• Entwicklung ursprünglich Gamma/Beck (Atlantikflug?)• www.junit.org• viele Designinformationen im Download

– java api-doc– cookbook– cookstour– faq– testinfected

Page 12: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

12

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 23

Frameworkaufbau

Quelle: „A Cooks Tour“

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 24

weitere Trends

• Erste Continuous Integration– Cruisecontrol

• plattformunabhängiges Buildmanagement– Apache ANT

• Konfigurationsmanagement– SCM mit CVS– Einsatz java Doclet-API

Page 13: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

13

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 25

Gliederung

• Grundlagen desQualitätsmanagements

• 1998-2008 Impressionenaus dem OIO-Qualitätsmanagement

• Herausforderung Java 2.0Qualtitätsmanagement

• Ausblick

• 1998-2001• 2001-2003• 2003-2005• 2005-2006• 2007-2008

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 26

QM Trend: Test Driven Development

• Enterprise Extensions für Junit– z.B. Cactus, HttpUnit, HTMLUnit, jWebUnit, JUnitEE

• Anwendungsgebietsspezifische Erweiterung– DBUnit– JPerfUnit

• Assertions in der Plattform (jdk 1.4)

• Endoskopisches Testen– z. B. Mockcreator

Page 14: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

14

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 27

Kostentreiber - Weyuckers Axiome

• Antiextensionalität• Antidecomposition• Anticomposition

• daher Testsuite der Oberklasse reicht nicht für Unterklasse• Aufbau einer parallelen Testklassenhierarchie

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 28

Ergebnis: JUnit Effizienz-Checklist

• Typische Verwendung• Grenzwerte• Äquivalenzklassen• Fehlerfälle/Exceptions• DBC-Ideen• Einfache Objektinteraktionen• komplexe Objektinteraktionen entlang des Integrationspfades• Typische Fehlerfälle• gemäß Ergebniskategorien• Zufallstestfälle

Page 15: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

15

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 29

Gliederung

• Grundlagen desQualitätsmanagements

• 1998-2008 Impressionenaus dem OIO-Qualitätsmanagement

• Herausforderung Java 2.0Qualtitätsmanagement

• Ausblick

• 1998-2001• 2001-2003• 2003-2005• 2005-2006• 2007-2008

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 30

QM Trend - „become Enterprise ready“

• nichtfunktionale Qualität– Last- und Performanztests implementieren– mit Open Source Treibern wie jmeter und the Grinder– Analysen und Monitioring über JMX und VM Erweiterungen

• Design for Testability– POJO Development für Tests– Lightweight Container führt z.B. zu Spring

Page 16: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

16

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 31

OIO:Testplanung der nichtfunktionalen QM

Erfolg festlegen

Testumgebung und Rahmenbedingungen erfassen

Testplan festlegen

Testszenarien festlegen

Test durchführen

Analyse durchführen

Maßnahmen durchführen

Misserfolg analysieren

[gewichtiger Fehler]

[nicht aussagekräftig]

[erfolgreich][nicht erfolgreich]

[nicht behebbar][behebbar]

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 32

OIO: Performanz Tests mit Grinder durchführen

J2EE-Server

Web / EJB Container

Web Service<<A>>:Dienst

Virtual Interface

Client

Testcontroller Client

Contoller Proxy

TestAutomatTestAutomatTestAutomatTestautomat

Multiclientstart

Transfer Logs

Page 17: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

17

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 33

weitere QM Trends

• Model Driven Architecture– generative Softwareentwicklung soll QM-Kosten durch konstruktive

Maßnahmen senken Buildmanagement– muss man generierten Code testen ?

• Verbreitung von werkzeugunterstütztem Issue Tracking– z.B. Bugzilla

• starke Integration von QM-Werkzeugen– IDE als Plattform– z.B. Eclipse und CVS, JUnit, Lightweightcontainer..

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 34

Gliederung

• Grundlagen desQualitätsmanagements

• 1998-2008 Impressionenaus dem OIO-Qualitätsmanagement

• Herausforderung Java 2.0Qualtitätsmanagement

• Ausblick

• 1998-2001• 2001-2003• 2003-2005• 2005-2006• 2007-2008

Page 18: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

18

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 35

QM Trend: Skalierung und Modularisierung

• Lightweight Container wie z.B. Spring senken Test-Kosten– Developertests mit geringeren Integrationskosten– Herausforderung ist die Skalierbarkeit der Architektur in der

nichtfunktionalen analytischen QM

• Verteiltes Buildmanagement– z.B. durch Maven, Ivy– Herausforderung:

• Modulorientierte und integrierte QM• Integration mit Konfigurationsmanagment

• verbessertes Konfigurationsmanagment– z.B. SVN

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 36

Problem: Versionskonflikte

Lange oder kurze Cyclen?

Eric Raymond: Release Early, Release Often

1.1 RC 22.1

0.9 Alpha

4.1.283.3.17

3.2.1

4.0 Beta

Page 19: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

19

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 37

Versions-Dschungel

• Viele Komponenten in der Laufzeit– Oft gibt es keine Vergleichsinstallationen– Lösung: Disziplin - sind neue Versionen notwendig?– Bundles: z.B. jboss-4.2.3_tomcat-5.5

• Viele Komponenten zur Compilezeit– Repositories verteilter Buildmanagementsysteme

Funktioniert Apache 2.0.45 mit Tomcat 6.0.12 mit JK 2?

Gibt es dafür eine Anleitung?

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 38

weitere Trends

• WEB 2.0– AJAX-Hype– Web-Mashup– Usergruppen akzeptieren ständiges Beta-Status– Herausforderung: Testwerkzeuge

• z.B. Canoo Webtest, Selenium

• Analyse Werkzeuge– Codecoverage

• z.B. Cobertura– Code Style

• z.B: Checkstyle– Integration in CI

• z.B. Maven Report Plugins

Page 20: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

20

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 39

OIO: Selenium Remote Control

„Selenium is a test tool for web applications. Selenium tests rundirectly in a browser, just as real users do. And they run in InternetExplorer, Mozilla and Firefox on Windows, Linux, and Macintosh.No other test tool covers such a wide array of platforms.“

Client ABrowser Selenium IDE Anwendung

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 40

Gliederung

• Grundlagen desQualitätsmanagements

• 1998-2008 Impressionenaus dem OIO-Qualitätsmanagement

• Herausforderung Java 2.0Qualtitätsmanagement

• Ausblick

• 1998-2001• 2001-2003• 2003-2005• 2005-2006• 2007-2008

Page 21: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

21

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 41

QM Trend: Next Generation Tools

• Continuous Integration– z.B: Hudson

• verteiltes Buildmanagement– z.B. Maven2– verbesserte Moduldefinitionen OSGi

• Bundle Repository

• Konfigurationsmanagment– z.B. atomare SVN-Commits

• Analysewerkzeuge– z.B.Clover Probability Test Reordering

• Integration in IDE– Issuetracker z.B. Mylin

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 42

weitere Trends

• Reife Prozesse– Integration Issuetracker/SCM/Projketplanungswerkzeuge/Wiki– Automatisiertes Architekturmanagement

• z.B: Hello2morrow

• Hochintegrierte Softwareprodukte– Herausforderung: wie managt man die Qualität einer Software aus

mehr als 100 Artefakten(„jar-Archiven“)– Wie

• Agile Entwicklung– Feature getrieben– kurze Releasezyklen– hohes Bugfixingaufkommen

Page 22: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

22

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 43

OIO:_ verfeinertes Issue Ablaufschema

In Discussion(Customer)

Confirmed(OIO PL)

In Progress(OIO DEV)

Resolved(OIO PL)

Verified(Klient QM)

Closed(Alle)

Open(Customer)

Reopened(Customer)

Confirm

Verify

Close

Reopen

Reopen

Start Progress Stop Progress

Verify

Resolve

Unresolve VerifyConfirm

Discuss

Verify

Confirm

Status(berechtigt für

Statuswechsel)Legende

Klient: neuer Bug

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 44

OIO: Performance Tactics

1.) Engpässe, deduktive Fehlersucheeinfache Tools für DB und memory

2.) Kennzahlenagile Antwort auf „Performanceafterthought“ Antipattern

3.) SimulationStabilität wird Prio 1 in Betriebsinfrastruktur

4.) benchmarkSkalierung an die Systemgrenzen

development operation

feedback via later operation

feedbackvia simulation

identifybottlenecks

sizing

comparehardware

Page 23: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

23

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 45

Gliederung

• Grundlagen desQualitätsmanagements

• 1998-2008 Impressionen ausdem OIO-Qualitätsmanagement

• Herausforderung Java 2.0Qualtitätsmanagement

• Ausblick

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 46

Java 2.0

• Dynamic Languages = Produktivität ?– Objektorientiert– dynamisch typisiert– einsatzspezifische Frameoworks– hohe Produktivität vs. Flexibilität

• Polyglot Programming– JVM Basis

• z.B. JRuby– direkte Kopplung mit Java Bibliotheken und Objekten

• nichtfunktionale Qualitätsaspekte von Java nutzbar– JSR 223

• Realtime Java– JSR 1 auf Solaris frei verfügbar– Scala ?

Page 24: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

24

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 47

Polyglot Programming vs. BabylonischeZustände

• Riesige Auswahl an Sprachen– z.B. Groovy,JRuby,Jython, Scala ..– JSR 223 Javascript, Python, Ruby ..

• DSL– dynamische Sprachen erlaubt Laufzeit DSLs– MDD macht DSLs vom Reißbrett möglich– populäre Spezialansätze wie z.B. GWT, JavaFX

• Technology Mashups– z.B. Rich UI mit AJAX, GWT und Spring/JPA Backend

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 48

Gliederung

• Grundlagen desQualitätsmanagements

• Qualitätsmanagement in derJava und XML Welt

• Java 2.0Qualtitätsmanagement

• Ausblick

Page 25: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

25

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 49

2010 ?

• werden Mobiltelefone den PC als dominantes Verbindungsgerätins Internet ablösen (Forrester 2006)

• weltweiter Medien und Entertainment Markt erreicht $1.83Billionen US$ (PWC 2006)

• China will be the largest market for PCs (Forrester 2005)• Digital Music Sales account for 40% of Recording Industry (iSuppli

2006)• 12% of the global handset population will be TV capable with over

100 Million new Subscribers (iSuppli 2006)• Content comes from ISVs and SPs, not operators' portals• Nearly all applications “phone home” for updates

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 50

Java als Plattform

• Java ist überall• ca. 4.5 Milliarden Geräte

– davon 1.5 Milliarden Handys– 800 Millionen Desktops– 6 Millionen Set-Top Boxen– 180 Operator Organisationen

• 5 Millionen Entwickler

Page 26: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

26

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 51

Auswirkungen

• Webentwicklung– kontinuierliche Entwicklungs- und Releasemodelle– inkrementelle 7-14tägige Releasezyklen

• Releasetestaufwände müssen minimiert werden– weitere Steigerung der QM-Aktivitäten in der Entwicklung– immer höhere Integrationsstufen der Developertests– entwicklungsbegleitende, kontinuierliche nichtfunktionale Optimierung

• Release Tests fokussieren auf– echte Integrationsszenarien

• produktorientiert nicht technologische definiert– Usability

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 52

Qualitätsmanagement

• „Qualitätsmanagement(QM) umfaßt alle Tätigkeiten derGesamtführungsaufgabe, welche die Qualitätspolitik, ziele undVerantwortungen festlegt, sowie diese durch Mittel wieQualitätsplanung, -sicherung und -verbesserung im Rahmen desQM-Systems verwirklichen“(ISO 8402).

• „Qualitätssicherung umfaßt alle geplanten und systematischenTätigkeiten, die innerhalb des QM-systems verwirklicht sind,.., umangemessenes Vertrauen zu schaffen, daß eine Einheit dieQualitätsforderung erfüllen wird.“– konstruktive Maßnahmen– analytische Maßnahmen

Page 27: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

27

© 2008 Orientation in Objects GmbH 10 Jahre Java Qualitätssicherung 53

Qualitätsmanagement als Strategie – wozu eigentlich?

Wenn das System komplex wird,kommen detaillierte Plänezuweilen an ihre Grenzen

Dann brauchen Sie eineStrategie

Eine Strategie ist ein längerfristigausgerichtetes planvollesAnstreben einer vorteilhaftenLage oder eines Ziels.

http://de.wikipedia.org/wiki/Strategie

Orientation in Objects GmbH

Weinheimer Str. 6868309 Mannheim

[email protected]: 1.0

? ?

???

Fragen ?

Page 28: 10 Jahre Java Qualtit.tssicherung Jahre Java QualtitätssicherungFINAL.pdf1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 info@oio.de 10 Jahre Java Qualitätssicherung

28

Orientation in Objects GmbH

Weinheimer Str. 6868309 Mannheim

[email protected]: 1.0

Vielen Dank für IhreAufmerksamkeit !