SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
Hauptsache,                  Entwicklung           Test
     es läuft?
                                               Wartung

                           iks Thementag

„Mehr Softwarequalität – Best practices für alle Entwicklungsphasen“

                            19.06.2012



                               Autor:
                          Dr. Reik Oberrath
Agenda

      Begriffserklärung: Entwicklung, Wartung, Test

      Sieben Einflussgrößen der Softwarequalität in
      Entwicklung und Wartung

      Best practices im Einsatz

      Zusammenfassung




iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test   Seite 3 / 42
Agenda

      Begriffserklärung: Entwicklung, Wartung, Test

      Sieben Einflussgrößen der Softwarequalität in
      Entwicklung und Wartung

      Best practices im Einsatz

      Zusammenfassung




iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test   Seite 4 / 42
Was ist Entwicklung, was Wartung und was Test?

                                           Software-           Release                      Software-Erweiterung,
Entwicklung                               Erweiterung           Build                         Fehlerbehebung,
                                                                                              Entwicklungstests




                                                                                                 Release
                                         Enwicklungs-           Freigabe-                       Build & Test
      Test                                  tests                 tests



                                                                                                 Freigabe


                                           Fehler-         Produktions-
  Wartung                                 behebung         unterstützung
                                                                                               Produktions-
                                                                                               unterstützung
iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test                      Seite 5 / 42
Agenda

      Begriffserklärung: Entwicklung, Wartung, Test

      Sieben Einflussgrößen der Softwarequalität in
      Entwicklung und Wartung

      Best practices im Einsatz

      Zusammenfassung




iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test   Seite 6 / 42
7. Produktions-                                                   1. Entwicklungs-          Entwicklung
      unterstützung                                                          tools               im engeren Sinn




6. Freigabe
                                    Software-                                 2. Clean Code
                                                                                                4. Kommunikation
                                     qualität                                                        im Team




        5. Release
        Build & Test                                                    3. Entwicklungs-
                                                                              tests


    iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test          Seite 7 / 42
7. Produktions-                                                  1. Entwicklungs-
                                                                      1. Entwicklungs-
      unterstützung                                                         tools
                                                                            tools




6. Freigabe
                                    Software-                                 2. Clean Code
                                                                                                4. Kommunikation
                                     qualität                                                        im Team




        5. Release
        Build & Test                                                    3. Entwicklungs-
                                                                              tests


    iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test          Seite 8 / 42
1. Entwicklungstools: Best practices

      Entwicklungsumgebung (IDE):
                 Java: Eclipse, NetBeans, IntelliJ
                .NET: Visual Studio
                AS/400: RDP

      Versionsverwaltung:
                Java:           CVS, SVN,           Mercurial, GIT
                .NET: Team Foundation Server
                AS/400: TD/OMS

      Issue Tracker:
                Jira, Mantis, Bugzilla, Trac


iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test   Seite 9 / 42
7. Produktions-                                                   1. Entwicklungs-
      unterstützung                                                          tools




6. Freigabe
                                    Software-                                 2. Clean Code
                                                                                                4. Kommunikation
                                     qualität                                                        im Team




        5. Release
        Build & Test                                                    3. Entwicklungs-
                                                                              tests


    iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test         Seite 10 / 42
2. Clean Code: Was ist das?

      Codequalität
      Interne / Strukturelle Qualität des Produkts
      Effiziente Software-Entwicklung




  Merkmale:
       Leicht verständlich
                                                        flexibel
       Einfach änderbar                                                                     wartbar
       Gut testbar



iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test             Seite 11 / 42
2. Clean Code: Best practices

                              Allgemeine                                          Sprachen-spezifische
                              Prinzipien                                          Prinzipien
Patterns                      Clean-Code-Developer [1]:                            Buch-Tipp:
„so ist‘s gut“                DRY-Prinzip, KISS-Prinzip, …                         „Effektive Java“ [2]
                              SOLID-Prinzipien, …
                              Softwaremetriken, …


Antipatterns                   Vortrag:                                            Buch-Tipp:
„so nicht!“                    „Clean Code: Von der                                „Bug Patterns in Java“ [3]
                               Lehre in den Alltag“
                               von Jörg Vollmer &                                  Code-Inspection-Tools:
                               Reik Oberrath                                       Findbugs, Checkstyle,
                                                                                   PMD, Eclipse

   iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test              Seite 12 / 42
2. Clean Code: Softwaremetriken

      Messbar sind Umfang, Komplexität, Koppelung,
      Lesbarkeit, Abstraktion, …

      Bsp. 1: Lines of Code (LOC) pro Quelltextdatei

      Bsp. 2: Cyclomatische Komplexität (CCN)
              bzw. McCabe-Metrik

      Tools: Checkstyle, Sonar




iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test   Seite 13 / 42
2. Clean Code: Softwaremetriken im Einsatz I

                             60
     Anz. Quelltextdateien




                             50
                             40
                             30
                             20
                             10
                              0
                                  1    2     3         4        5         6        7
                                      Zyklomatische Komplexität



iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test   Seite 14 / 42
2. Clean Code: Softwaremetriken im Einsatz II
   Zyklomatischen Komplexität > 4


                                     6
   Anz. Quelltextdateien mit einer




                                     5
                                                                                            Akzeptanzgrenze
                                     4
                                     3
                                                                                                Sollwert
                                     2
                                     1
                                     0
                                         1 2 3 4 5 6 7 8 9 10 11
                                               Release Candidate



iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test                  Seite 15 / 42
7. Produktions-                                                   1. Entwicklungs-
      unterstützung                                                          tools




6. Freigabe
                                    Software-                                 2. Clean Code
                                                                                                4. Kommunikation
                                     qualität                                                        im Team




        5. Release
        Build & Test                                                   3. Entwicklungs-
                                                                             tests


    iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test         Seite 16 / 42
3. Entwicklungstest: Testtypen

                                                                 aufwändige
                                                                Testumgebung
End-To-End-Tests                                                     nötig
                                                                                                System-
                                                                                                 tests
Integrationstests,
Komponententests,
„Servicetests“                                   schnell in der
                                                                                               Modultests
                                                  Ausführung


„Programmzeilen-
                                                                                               Unittests
 test“


   iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test                Seite 17 / 42
3. Entwicklungstest: Aussagekraft


                                                       Externe Qualität
                                                       Interne Qualität
                   Informationsmenge




                                                                                                Nach [4]




                                       Unittests         Modultests               Systemtests



iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test          Seite 18 / 42
3. Entwicklungstest: Teststrategie

Testabdeckung               Testausführung

   ca. 10 %                        täglich bis                                                   System-
                                  wöchentlich                                                     tests


   ca. 50 %                        möglichst                                                    Modultests
                                     oft


möglichst hoch                     nach jeder
   (>90%)                          Änderung                                                     Unittests



    iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test                Seite 19 / 42
3. Entwicklungstest: Best practices

       Automatisierung aller Testtypen (Unit-, Modul- und Systemtests)

       Regelmäßige Ausführung durch CI-Tools




  Tools für CI (Continuous Integration):
       Hudson
       Jenkins
       Teamcity
       Team Foundation Server (.NET)



iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test   Seite 20 / 42
3. Entwicklungstest: CI - Funktionsweise


       Versionskontroll-                                                                      Continuous Integration
           system                                                                                    Server
                                                       Prüft Aktualität

                                                         Neuer Stand

                                                                                                           Führt
                                                                                                           Build & Test
                                                                                                           aus


                                                                benachrichtigt
                                                                                    Prüft
                                                                                 Testergebnisse
                                Neuer Stand




                                                     Entwickler



iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test                            Seite 21 / 42
7. Produktions-                                                   1. Entwicklungs-
      unterstützung                                                          tools




6. Freigabe
                                    Software-                                 2. Clean Code
                                                                                                4. Kommunikation
                                     qualität                                                        im Team




        5. Release
        Build & Test                                                    3. Entwicklungs-
                                                                              tests


    iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test         Seite 22 / 42
4. Kommunikation im Entwicklerteam:
   Wichtigkeit

      Wissensaustausch
      (Tools, Technologien, Clean Code, Teststrategie …)

      Einigung auf gemeinsame Ziele
      (Teststrategie, Clean Code, Definition of Done, …)

      Arbeitsteilung („aufeinander zu arbeiten“)




iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test   Seite 23 / 42
4. Kommunikation im Entwicklerteam:
   Vorrausetzungen

      Kluge Teamzusammenstellung:
      Gute Stimmung im Team, hohe Motivation zur Kommunikation

      Soft-Skill „Kommunikationsfähigkeit“:
      Buch-Tipp: Soft-Skills für Softwareentwickler [5]




iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test   Seite 24 / 42
4. Kommunikation im Entwicklerteam:
   Best practices

      Pairprogramming

      Regelmäßige Code-Review-Meetings

      Einsatz von Tools
           - Dokumentation: Wiki, Confluence
           - Issue-Tracking: Jira, Bugzilla
           - Sonstige: RE-Tools, EMail




iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test   Seite 25 / 42
7. Produktions-                                                   1. Entwicklungs-
      unterstützung                                                          tools




6. Freigabe
                                    Software-                                 2. Clean Code
                                                                                                4. Kommunikation
                                     qualität                                                        im Team




        5. Release
       Build & Test                                                     3. Entwicklungs-
                                                                              tests


    iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test         Seite 26 / 42
5. Release Build & Test: Best practices

      Automatischer Build („Auf-Knopfdruck“)

      Regelmäßige Durchführung (Continuous Delivery)

      Java-Tools: Ant, Maven, Gradle

      Automatische (System-)Tests & Manueller Anlauftest




iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test   Seite 27 / 42
7. Produktions-                                                   1. Entwicklungs-
      unterstützung                                                          tools




6. Freigabe
                                    Software-                                 2. Clean Code
                                                                                                4. Kommunikation
                                     qualität                                                        im Team




        5. Release
        Build & Test                                                    3. Entwicklungs-
                                                                              tests


    iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test         Seite 28 / 42
6. Freigabe: Hochstufungsprozess



                          Produktionsumgebung


                             Abnahmeumgebung


                          Integrationsumgebung

iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test   Seite 29 / 42
6. Freigabe: Best practices

      Dreistufiger Hochstufungsprozess

      Automatische Freigabetests (Akzeptanztests)

      Manuelles freies Testen




iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test   Seite 30 / 42
7. Produktions-                                                   1. Entwicklungs-
      unterstützung                                                          tools




6. Freigabe
                                    Software-                                 2. Clean Code
                                                                                                4. Kommunikation
                                     qualität                                                        im Team




        5. Release
        Build & Test                                                    3. Entwicklungs-
                                                                              tests


    iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test         Seite 31 / 42
7. Produktionsunterstützung: Best practices

      Gute Produkteinführung für die Benutzer

      Guter Informationsaustausch zwischen Entwicklern
      und Betrieb (technische Administration): DevOps

      Guter Informationsaustausch zwischen Entwicklern
      und Fachseite (fachliche Administration): „DevBus“

      Guter Informationsaustausch zwischen Entwicklern
      und Benutzern: „DevUse“




iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test   Seite 32 / 42
7. Produktions-                                                   1. Entwicklungs-
      unterstützung                                                          tools




6. Freigabe
                                    Software-                                 2. Clean Code
                                                                                                4. Kommunikation
                                     qualität                                                        im Team




        5. Release
        Build & Test                                                    3. Entwicklungs-
                                                                              tests


    iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test         Seite 33 / 42
Agenda

      Begriffserklärung: Entwicklung, Wartung, Test

      Sieben Einflussgrößen der Softwarequalität in
      Entwicklung und Wartung

      Best practices im Einsatz

      Zusammenfassung




iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test   Seite 34 / 42
Die best practices im laufenden Projekt
Symptom                                             betrifft                                Abhilfe

Entwickler findet seinen Code nicht                 1. Entwicklungstools                    Bessere Tools
Fehlerbehebung dauert zu lange                      2. Clean Code                           Strukturelle Codequalität
                                                                                            verbessern
Zu viele Fehler im Release                          3. Entwicklungstests                    Teststrategie verbessern
Entwickler: „Das ist nicht von mir,                 4. Kommunikation im Team                Mehr Wissensaustausch unter
ich kenne mich da nicht aus.“                                                               den Entwicklern
Release Build dauert zu lange                       5. Release Build & Tests                Höhere Automatisierung,
                                                                                            häufigere Builds
Zu viele Fehler in der Produktion                   6. Freigabe                             Hochstufungsprozess einführen,
                                                                                            intensivere Freigabetests
System ist technisch zu instabil                    7. Produktionsunterstützung             Bessere Kommunikation mit
                                                                                            dem Betrieb (tech. Admin.)
Zu viele Fehler in der Abnahme-                     3. Entwicklungstests                    Intensivere Entwicklertests
umgebung                                            5. Release Build & Tests                Intensivere Releasetests

Entwickler: „It‘s a feature, not a bug“             7. Produktionsunterstützung             Bessere Produkteinführung

iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test                        Seite 35 / 42
Die best practices für ein neues Projekt
1. Entwicklungs-             Eclipse, GIT
   tools
2. Clean Code                DRY, KISS, …                     SOLID, …                          Automatische
                                                                                                Softwaremetriken, …
3. Entwicklungs-             Automatische Unit-               Automatische                      Automatische System-
   tests                     Tests, CI                        Integrationstests                 tests
4. Kommunikation             Issue Tracker                    Reviews, Pairprogramming,         Vieraugenprinzip im
   im Team                                                    Doku-Tools                        Definition of Done
5. Release Build             Automatischer Build              Automatische Systemtests
   & Tests
6. Freigabe                  -                                Abnahmeumgebung                   Dreistufiger
                                                                                                Hochstufungsprozess
7. Produktions-              Produkteinführung                DevOps, „DevUse“,
   unterstützung                                              „DevBus“


                                 Billig                                                                          Teuer
                                 Einfach                   Mausklick
                                                              Kritikalität                                    Komplex
                                 Kurzweilig                                                                 Langfristig
                                 Ungefährlich
    iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test          Lebensgefährlich 42
                                                                                                               Seite 36 /
Wie wirkt sich die Anwendung
   der best practices aus?




                                                                                               1 0 011 01 00 1 1 100      1001101   0011100
                                                                                                                          0110011   1010110
                                                                                               01 1 01 10 1 10 0 001      0110110   1100001
                                                                                                             11 11 0 00   1010010   1111000
                                                                                              10 10 01 0
                                                                                               01 00 011 0 1 111 01       0100011   0111101
                                                                                                                          1000011   1001010
                                                                                               01 010 10 1 00 11 01       0101010   1001101




                                                       ERROR




                iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test                                     Seite 37 / 42
Agenda

      Begriffserklärung: Entwicklung, Wartung, Test

      Sieben Einflussgrößen der Softwarequalität in
      Entwicklung und Wartung

      Best practices im Einsatz

      Zusammenfassung




iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test   Seite 38 / 42
Nicht-funktionale
 Hauptsache, es läuft?                                                        Qualitätsmerkmale von Software




 Das Produkt                                                                  korrekt, skalierbar, performant,
  (finales Ziel mit                                                           stabil, effizient, sicher (Security),
    Selbstzweck)                                                              zuverlässig, gesetzeskonform,
                                                                              gut bedienbar




Der Entwicklungs-                                                             wirtschaftlich, testbar, erweiterbar,
     prozess                                                                  veränderbar, analysierbar, wartbar
  (Zwischenziel, nur
  Mittel zum Zweck)




     iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test                        Seite 39 / 42
Zusammenfassung

      In Entwicklung und Wartung hat die SQ 7 Einflussgrößen

      Für jede Einflussgröße gibt es eine Reihe von best practices

      SQ kostet und zahlt sich u.U. erst langfristig aus

      Ein guter Entwicklungsprozess ist der Schlüssel zu einem
      guten Produkt

      Produkt und Herstellungsprozess sind gleich wichtig




iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test   Seite 40 / 42
Referenzen

[1] Die Clean Code Developer
    www.clean-code-developer.de/

[2] Effective Java: A Programming Language Guide
    Joshua Bloch, 2. Auflage, 2008

[3] Bug Patterns in Java
    Eric Allen, 2002

[4] Growing Object-Oriented Software, Guided By Tests
    Steve Freeman & Nat Pryce, 2010

[5] Soft Skills für Softwareentwickler
    Uwe Vigenshow, Björn Schneider & Ines Meyrose, 2. Auflage, 2011



iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test   Seite 41 / 42
Weiterführende Literatur

      Growing Object-Oriented Software, Guided By Tests
      Steve Freeman & Nat Pryce, 2010

      Clean Code - Refactoring, Patterns, Testen und Techniken
      für sauberen Code
      Robert C. Martin, 2009

      Der Pragmatische Programmierer
      David Thomas, Andrew Hunt, Steffen Gemkow und Andreas
      Braig, 2003

      Clean Coder: Verhaltensregeln für professionelle Programmierer
      Robert C. Martin, 2011


iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test   Seite 42 / 42
Fragen?
www.iks-gmbh.com

Más contenido relacionado

La actualidad más candente

Ich will agil testen! was muss ich können iqnite 2014 - verison 2.0
Ich will agil testen! was muss ich können   iqnite 2014 - verison 2.0Ich will agil testen! was muss ich können   iqnite 2014 - verison 2.0
Ich will agil testen! was muss ich können iqnite 2014 - verison 2.0Michael Fischlein
 
Yin and Yang - Product Manager and Usability/Ux-Professionals in der Software...
Yin and Yang - Product Manager and Usability/Ux-Professionals in der Software...Yin and Yang - Product Manager and Usability/Ux-Professionals in der Software...
Yin and Yang - Product Manager and Usability/Ux-Professionals in der Software...Prof. Dr. Alexander Maedche
 
Agiles Testen
Agiles TestenAgiles Testen
Agiles Testenoose
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsGFU Cyrus AG
 
Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...
Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...
Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...Ergosign GmbH
 
Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.GFU Cyrus AG
 
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...GFU Cyrus AG
 
Testen mit, durch und in Scrum
Testen mit, durch und in ScrumTesten mit, durch und in Scrum
Testen mit, durch und in ScrumFrank Düsterbeck
 
Abenteuer Qualität in der SW-Wartung
Abenteuer Qualität in der SW-WartungAbenteuer Qualität in der SW-Wartung
Abenteuer Qualität in der SW-WartungErnest Wallmueller
 
WPF UI-Development Best Practices
WPF UI-Development Best PracticesWPF UI-Development Best Practices
WPF UI-Development Best PracticesErgosign GmbH
 
Test Management mit Visual Studio 2012
Test Management mit Visual Studio 2012Test Management mit Visual Studio 2012
Test Management mit Visual Studio 2012Nico Orschel
 
Scrum Rocks, Testing Sucks ?! RELOADED
Scrum Rocks, Testing Sucks ?! RELOADEDScrum Rocks, Testing Sucks ?! RELOADED
Scrum Rocks, Testing Sucks ?! RELOADEDSwissQ Consulting AG
 

La actualidad más candente (20)

Ich will agil testen! was muss ich können iqnite 2014 - verison 2.0
Ich will agil testen! was muss ich können   iqnite 2014 - verison 2.0Ich will agil testen! was muss ich können   iqnite 2014 - verison 2.0
Ich will agil testen! was muss ich können iqnite 2014 - verison 2.0
 
Yin and Yang - Product Manager and Usability/Ux-Professionals in der Software...
Yin and Yang - Product Manager and Usability/Ux-Professionals in der Software...Yin and Yang - Product Manager and Usability/Ux-Professionals in der Software...
Yin and Yang - Product Manager and Usability/Ux-Professionals in der Software...
 
Agiles Testen
Agiles TestenAgiles Testen
Agiles Testen
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
 
Agiles Testen - Überblick
Agiles Testen - ÜberblickAgiles Testen - Überblick
Agiles Testen - Überblick
 
Scrum 2009 10_23
Scrum 2009 10_23Scrum 2009 10_23
Scrum 2009 10_23
 
Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...
Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...
Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...
 
Softwaretests: Motivation und Überblick
Softwaretests: Motivation und ÜberblickSoftwaretests: Motivation und Überblick
Softwaretests: Motivation und Überblick
 
Agilität mit Scrum - Überblick
Agilität mit Scrum - ÜberblickAgilität mit Scrum - Überblick
Agilität mit Scrum - Überblick
 
Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.
 
DevOps Sepc15
DevOps Sepc15DevOps Sepc15
DevOps Sepc15
 
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
 
Mehr Softwarequalität: Team-Cleancoding
Mehr Softwarequalität: Team-CleancodingMehr Softwarequalität: Team-Cleancoding
Mehr Softwarequalität: Team-Cleancoding
 
Testen mit, durch und in Scrum
Testen mit, durch und in ScrumTesten mit, durch und in Scrum
Testen mit, durch und in Scrum
 
Mehr Softwarequalität: Team Clean Coding
Mehr Softwarequalität: Team Clean CodingMehr Softwarequalität: Team Clean Coding
Mehr Softwarequalität: Team Clean Coding
 
Abenteuer Qualität in der SW-Wartung
Abenteuer Qualität in der SW-WartungAbenteuer Qualität in der SW-Wartung
Abenteuer Qualität in der SW-Wartung
 
WPF UI-Development Best Practices
WPF UI-Development Best PracticesWPF UI-Development Best Practices
WPF UI-Development Best Practices
 
Test Management mit Visual Studio 2012
Test Management mit Visual Studio 2012Test Management mit Visual Studio 2012
Test Management mit Visual Studio 2012
 
Softwaretests: Werkzeuge zur Automatisierung
Softwaretests: Werkzeuge zur AutomatisierungSoftwaretests: Werkzeuge zur Automatisierung
Softwaretests: Werkzeuge zur Automatisierung
 
Scrum Rocks, Testing Sucks ?! RELOADED
Scrum Rocks, Testing Sucks ?! RELOADEDScrum Rocks, Testing Sucks ?! RELOADED
Scrum Rocks, Testing Sucks ?! RELOADED
 

Destacado (20)

La contaminacion ambiental
La contaminacion ambientalLa contaminacion ambiental
La contaminacion ambiental
 
Keniia fold calculo original
Keniia fold calculo originalKeniia fold calculo original
Keniia fold calculo original
 
Día del amigo
Día del amigoDía del amigo
Día del amigo
 
Psicologia
PsicologiaPsicologia
Psicologia
 
Medio de transporte
Medio de transporteMedio de transporte
Medio de transporte
 
09.08.01 hg hotelblogs_ho
09.08.01 hg hotelblogs_ho09.08.01 hg hotelblogs_ho
09.08.01 hg hotelblogs_ho
 
La cultura chavinnn
La cultura chavinnnLa cultura chavinnn
La cultura chavinnn
 
Sony
SonySony
Sony
 
"Raus aus der Dependency Hölle" - ein Artikel der iks im JavaSPEKTRUM
"Raus aus der Dependency Hölle" - ein Artikel der iks im JavaSPEKTRUM"Raus aus der Dependency Hölle" - ein Artikel der iks im JavaSPEKTRUM
"Raus aus der Dependency Hölle" - ein Artikel der iks im JavaSPEKTRUM
 
Clase filosofia 9
Clase filosofia 9Clase filosofia 9
Clase filosofia 9
 
Revista ANEM-HI - Año 2009- Nº4
Revista ANEM-HI - Año 2009- Nº4Revista ANEM-HI - Año 2009- Nº4
Revista ANEM-HI - Año 2009- Nº4
 
SEO Longtail KPI's
SEO Longtail KPI'sSEO Longtail KPI's
SEO Longtail KPI's
 
Edison estrella
Edison estrellaEdison estrella
Edison estrella
 
Evaluacion pagina web[1]
Evaluacion pagina web[1]Evaluacion pagina web[1]
Evaluacion pagina web[1]
 
Presentación1
Presentación1Presentación1
Presentación1
 
Ifm grenzstandsensoren-lmt-2014
Ifm grenzstandsensoren-lmt-2014Ifm grenzstandsensoren-lmt-2014
Ifm grenzstandsensoren-lmt-2014
 
Türkisch für Anfänger
Türkisch für AnfängerTürkisch für Anfänger
Türkisch für Anfänger
 
Apresmatch15
Apresmatch15Apresmatch15
Apresmatch15
 
Clcgs proyecto uso del tiempo libre
Clcgs proyecto uso del tiempo libreClcgs proyecto uso del tiempo libre
Clcgs proyecto uso del tiempo libre
 
101001generacin e-101027103010-phpapp01
101001generacin e-101027103010-phpapp01101001generacin e-101027103010-phpapp01
101001generacin e-101027103010-phpapp01
 

Similar a Softwarequalität Entwicklung - Test - Wartung

Creasoft - Software QS Review
Creasoft - Software QS ReviewCreasoft - Software QS Review
Creasoft - Software QS ReviewCreasoft AG
 
Creasoft - Software QS
Creasoft - Software QSCreasoft - Software QS
Creasoft - Software QSCreasoft AG
 
Software Measurement in agilen Projekten mit Open Source Tools
Software Measurement in agilen Projekten mit Open Source ToolsSoftware Measurement in agilen Projekten mit Open Source Tools
Software Measurement in agilen Projekten mit Open Source ToolsDominik Dary
 
Robert Risch - Was sind die verschiedenen Phasen bei DevOps
Robert Risch - Was sind die verschiedenen Phasen bei DevOpsRobert Risch - Was sind die verschiedenen Phasen bei DevOps
Robert Risch - Was sind die verschiedenen Phasen bei DevOpsRobert Risch
 
Software-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenSoftware-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenGjero Krsteski
 
Einführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungEinführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungChristian Baranowski
 
Testautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für FortgeschrittendeTestautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für FortgeschrittendeNico Orschel
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerDennis Wilson
 
Crowdsourced Mobile Testing – Alternative oder Ergänzung?
Crowdsourced Mobile Testing – Alternative oder Ergänzung?Crowdsourced Mobile Testing – Alternative oder Ergänzung?
Crowdsourced Mobile Testing – Alternative oder Ergänzung?Connected-Blog
 
The new job of qa was ein quality engineer zukünftig können muss
The new job of qa   was ein quality engineer zukünftig können mussThe new job of qa   was ein quality engineer zukünftig können muss
The new job of qa was ein quality engineer zukünftig können mussraezz
 
Lean development 04
Lean development 04Lean development 04
Lean development 04SuperB2
 
Software Entwicklung im Team
Software Entwicklung im TeamSoftware Entwicklung im Team
Software Entwicklung im Teambrandts
 
VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019Markus Speth
 
software test management
software test managementsoftware test management
software test managementTest Management
 
Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014WebcsonsultsEU
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsAndreas Schreiber
 
Agil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-GroßprojekteAgil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-GroßprojekteQAware GmbH
 
Agil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-GroßprojekteAgil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-GroßprojekteQAware GmbH
 
DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
DevDay 2016 Keynote - Die Evolution agiler Software EntwicklungDevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
DevDay 2016 Keynote - Die Evolution agiler Software EntwicklungMarc Müller
 
Softwaretest Grundlagen
Softwaretest GrundlagenSoftwaretest Grundlagen
Softwaretest GrundlagenAndreasKleffel
 

Similar a Softwarequalität Entwicklung - Test - Wartung (20)

Creasoft - Software QS Review
Creasoft - Software QS ReviewCreasoft - Software QS Review
Creasoft - Software QS Review
 
Creasoft - Software QS
Creasoft - Software QSCreasoft - Software QS
Creasoft - Software QS
 
Software Measurement in agilen Projekten mit Open Source Tools
Software Measurement in agilen Projekten mit Open Source ToolsSoftware Measurement in agilen Projekten mit Open Source Tools
Software Measurement in agilen Projekten mit Open Source Tools
 
Robert Risch - Was sind die verschiedenen Phasen bei DevOps
Robert Risch - Was sind die verschiedenen Phasen bei DevOpsRobert Risch - Was sind die verschiedenen Phasen bei DevOps
Robert Risch - Was sind die verschiedenen Phasen bei DevOps
 
Software-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenSoftware-Tests in PHP-Anwendungen
Software-Tests in PHP-Anwendungen
 
Einführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungEinführung in die Software-Qualitätssicherung
Einführung in die Software-Qualitätssicherung
 
Testautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für FortgeschrittendeTestautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für Fortgeschrittende
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem Softwerker
 
Crowdsourced Mobile Testing – Alternative oder Ergänzung?
Crowdsourced Mobile Testing – Alternative oder Ergänzung?Crowdsourced Mobile Testing – Alternative oder Ergänzung?
Crowdsourced Mobile Testing – Alternative oder Ergänzung?
 
The new job of qa was ein quality engineer zukünftig können muss
The new job of qa   was ein quality engineer zukünftig können mussThe new job of qa   was ein quality engineer zukünftig können muss
The new job of qa was ein quality engineer zukünftig können muss
 
Lean development 04
Lean development 04Lean development 04
Lean development 04
 
Software Entwicklung im Team
Software Entwicklung im TeamSoftware Entwicklung im Team
Software Entwicklung im Team
 
VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019
 
software test management
software test managementsoftware test management
software test management
 
Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
 
Agil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-GroßprojekteAgil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
 
Agil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-GroßprojekteAgil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
 
DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
DevDay 2016 Keynote - Die Evolution agiler Software EntwicklungDevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
 
Softwaretest Grundlagen
Softwaretest GrundlagenSoftwaretest Grundlagen
Softwaretest Grundlagen
 

Más de IKS Gesellschaft für Informations- und Kommunikationssysteme mbH

Más de IKS Gesellschaft für Informations- und Kommunikationssysteme mbH (20)

Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingtEs wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
 
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
 
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdf
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdfThementag 2023 04 Lindern, heilen oder gar fit machen.pdf
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdf
 
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
 
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdfThementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
 
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdf
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdfThementag 2023 03 Einführung in die Softwaremodernisierung.pdf
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdf
 
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdfThementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
 
Thementag 2022 04 ML auf die Schiene gebracht.pdf
Thementag 2022 04 ML auf die Schiene gebracht.pdfThementag 2022 04 ML auf die Schiene gebracht.pdf
Thementag 2022 04 ML auf die Schiene gebracht.pdf
 
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdfThementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
 
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdfThementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
 
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
 
Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?
 
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
 
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
 

Softwarequalität Entwicklung - Test - Wartung

  • 1. Hauptsache, Entwicklung Test es läuft? Wartung iks Thementag „Mehr Softwarequalität – Best practices für alle Entwicklungsphasen“ 19.06.2012 Autor: Dr. Reik Oberrath
  • 2. Agenda Begriffserklärung: Entwicklung, Wartung, Test Sieben Einflussgrößen der Softwarequalität in Entwicklung und Wartung Best practices im Einsatz Zusammenfassung iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 3 / 42
  • 3. Agenda Begriffserklärung: Entwicklung, Wartung, Test Sieben Einflussgrößen der Softwarequalität in Entwicklung und Wartung Best practices im Einsatz Zusammenfassung iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 4 / 42
  • 4. Was ist Entwicklung, was Wartung und was Test? Software- Release Software-Erweiterung, Entwicklung Erweiterung Build Fehlerbehebung, Entwicklungstests Release Enwicklungs- Freigabe- Build & Test Test tests tests Freigabe Fehler- Produktions- Wartung behebung unterstützung Produktions- unterstützung iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 5 / 42
  • 5. Agenda Begriffserklärung: Entwicklung, Wartung, Test Sieben Einflussgrößen der Softwarequalität in Entwicklung und Wartung Best practices im Einsatz Zusammenfassung iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 6 / 42
  • 6. 7. Produktions- 1. Entwicklungs- Entwicklung unterstützung tools im engeren Sinn 6. Freigabe Software- 2. Clean Code 4. Kommunikation qualität im Team 5. Release Build & Test 3. Entwicklungs- tests iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 7 / 42
  • 7. 7. Produktions- 1. Entwicklungs- 1. Entwicklungs- unterstützung tools tools 6. Freigabe Software- 2. Clean Code 4. Kommunikation qualität im Team 5. Release Build & Test 3. Entwicklungs- tests iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 8 / 42
  • 8. 1. Entwicklungstools: Best practices Entwicklungsumgebung (IDE): Java: Eclipse, NetBeans, IntelliJ .NET: Visual Studio AS/400: RDP Versionsverwaltung: Java: CVS, SVN, Mercurial, GIT .NET: Team Foundation Server AS/400: TD/OMS Issue Tracker: Jira, Mantis, Bugzilla, Trac iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 9 / 42
  • 9. 7. Produktions- 1. Entwicklungs- unterstützung tools 6. Freigabe Software- 2. Clean Code 4. Kommunikation qualität im Team 5. Release Build & Test 3. Entwicklungs- tests iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 10 / 42
  • 10. 2. Clean Code: Was ist das? Codequalität Interne / Strukturelle Qualität des Produkts Effiziente Software-Entwicklung Merkmale: Leicht verständlich flexibel Einfach änderbar wartbar Gut testbar iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 11 / 42
  • 11. 2. Clean Code: Best practices Allgemeine Sprachen-spezifische Prinzipien Prinzipien Patterns Clean-Code-Developer [1]: Buch-Tipp: „so ist‘s gut“ DRY-Prinzip, KISS-Prinzip, … „Effektive Java“ [2] SOLID-Prinzipien, … Softwaremetriken, … Antipatterns Vortrag: Buch-Tipp: „so nicht!“ „Clean Code: Von der „Bug Patterns in Java“ [3] Lehre in den Alltag“ von Jörg Vollmer & Code-Inspection-Tools: Reik Oberrath Findbugs, Checkstyle, PMD, Eclipse iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 12 / 42
  • 12. 2. Clean Code: Softwaremetriken Messbar sind Umfang, Komplexität, Koppelung, Lesbarkeit, Abstraktion, … Bsp. 1: Lines of Code (LOC) pro Quelltextdatei Bsp. 2: Cyclomatische Komplexität (CCN) bzw. McCabe-Metrik Tools: Checkstyle, Sonar iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 13 / 42
  • 13. 2. Clean Code: Softwaremetriken im Einsatz I 60 Anz. Quelltextdateien 50 40 30 20 10 0 1 2 3 4 5 6 7 Zyklomatische Komplexität iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 14 / 42
  • 14. 2. Clean Code: Softwaremetriken im Einsatz II Zyklomatischen Komplexität > 4 6 Anz. Quelltextdateien mit einer 5 Akzeptanzgrenze 4 3 Sollwert 2 1 0 1 2 3 4 5 6 7 8 9 10 11 Release Candidate iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 15 / 42
  • 15. 7. Produktions- 1. Entwicklungs- unterstützung tools 6. Freigabe Software- 2. Clean Code 4. Kommunikation qualität im Team 5. Release Build & Test 3. Entwicklungs- tests iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 16 / 42
  • 16. 3. Entwicklungstest: Testtypen aufwändige Testumgebung End-To-End-Tests nötig System- tests Integrationstests, Komponententests, „Servicetests“ schnell in der Modultests Ausführung „Programmzeilen- Unittests test“ iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 17 / 42
  • 17. 3. Entwicklungstest: Aussagekraft Externe Qualität Interne Qualität Informationsmenge Nach [4] Unittests Modultests Systemtests iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 18 / 42
  • 18. 3. Entwicklungstest: Teststrategie Testabdeckung Testausführung ca. 10 % täglich bis System- wöchentlich tests ca. 50 % möglichst Modultests oft möglichst hoch nach jeder (>90%) Änderung Unittests iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 19 / 42
  • 19. 3. Entwicklungstest: Best practices Automatisierung aller Testtypen (Unit-, Modul- und Systemtests) Regelmäßige Ausführung durch CI-Tools Tools für CI (Continuous Integration): Hudson Jenkins Teamcity Team Foundation Server (.NET) iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 20 / 42
  • 20. 3. Entwicklungstest: CI - Funktionsweise Versionskontroll- Continuous Integration system Server Prüft Aktualität Neuer Stand Führt Build & Test aus benachrichtigt Prüft Testergebnisse Neuer Stand Entwickler iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 21 / 42
  • 21. 7. Produktions- 1. Entwicklungs- unterstützung tools 6. Freigabe Software- 2. Clean Code 4. Kommunikation qualität im Team 5. Release Build & Test 3. Entwicklungs- tests iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 22 / 42
  • 22. 4. Kommunikation im Entwicklerteam: Wichtigkeit Wissensaustausch (Tools, Technologien, Clean Code, Teststrategie …) Einigung auf gemeinsame Ziele (Teststrategie, Clean Code, Definition of Done, …) Arbeitsteilung („aufeinander zu arbeiten“) iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 23 / 42
  • 23. 4. Kommunikation im Entwicklerteam: Vorrausetzungen Kluge Teamzusammenstellung: Gute Stimmung im Team, hohe Motivation zur Kommunikation Soft-Skill „Kommunikationsfähigkeit“: Buch-Tipp: Soft-Skills für Softwareentwickler [5] iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 24 / 42
  • 24. 4. Kommunikation im Entwicklerteam: Best practices Pairprogramming Regelmäßige Code-Review-Meetings Einsatz von Tools - Dokumentation: Wiki, Confluence - Issue-Tracking: Jira, Bugzilla - Sonstige: RE-Tools, EMail iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 25 / 42
  • 25. 7. Produktions- 1. Entwicklungs- unterstützung tools 6. Freigabe Software- 2. Clean Code 4. Kommunikation qualität im Team 5. Release Build & Test 3. Entwicklungs- tests iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 26 / 42
  • 26. 5. Release Build & Test: Best practices Automatischer Build („Auf-Knopfdruck“) Regelmäßige Durchführung (Continuous Delivery) Java-Tools: Ant, Maven, Gradle Automatische (System-)Tests & Manueller Anlauftest iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 27 / 42
  • 27. 7. Produktions- 1. Entwicklungs- unterstützung tools 6. Freigabe Software- 2. Clean Code 4. Kommunikation qualität im Team 5. Release Build & Test 3. Entwicklungs- tests iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 28 / 42
  • 28. 6. Freigabe: Hochstufungsprozess Produktionsumgebung Abnahmeumgebung Integrationsumgebung iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 29 / 42
  • 29. 6. Freigabe: Best practices Dreistufiger Hochstufungsprozess Automatische Freigabetests (Akzeptanztests) Manuelles freies Testen iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 30 / 42
  • 30. 7. Produktions- 1. Entwicklungs- unterstützung tools 6. Freigabe Software- 2. Clean Code 4. Kommunikation qualität im Team 5. Release Build & Test 3. Entwicklungs- tests iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 31 / 42
  • 31. 7. Produktionsunterstützung: Best practices Gute Produkteinführung für die Benutzer Guter Informationsaustausch zwischen Entwicklern und Betrieb (technische Administration): DevOps Guter Informationsaustausch zwischen Entwicklern und Fachseite (fachliche Administration): „DevBus“ Guter Informationsaustausch zwischen Entwicklern und Benutzern: „DevUse“ iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 32 / 42
  • 32. 7. Produktions- 1. Entwicklungs- unterstützung tools 6. Freigabe Software- 2. Clean Code 4. Kommunikation qualität im Team 5. Release Build & Test 3. Entwicklungs- tests iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 33 / 42
  • 33. Agenda Begriffserklärung: Entwicklung, Wartung, Test Sieben Einflussgrößen der Softwarequalität in Entwicklung und Wartung Best practices im Einsatz Zusammenfassung iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 34 / 42
  • 34. Die best practices im laufenden Projekt Symptom betrifft Abhilfe Entwickler findet seinen Code nicht 1. Entwicklungstools Bessere Tools Fehlerbehebung dauert zu lange 2. Clean Code Strukturelle Codequalität verbessern Zu viele Fehler im Release 3. Entwicklungstests Teststrategie verbessern Entwickler: „Das ist nicht von mir, 4. Kommunikation im Team Mehr Wissensaustausch unter ich kenne mich da nicht aus.“ den Entwicklern Release Build dauert zu lange 5. Release Build & Tests Höhere Automatisierung, häufigere Builds Zu viele Fehler in der Produktion 6. Freigabe Hochstufungsprozess einführen, intensivere Freigabetests System ist technisch zu instabil 7. Produktionsunterstützung Bessere Kommunikation mit dem Betrieb (tech. Admin.) Zu viele Fehler in der Abnahme- 3. Entwicklungstests Intensivere Entwicklertests umgebung 5. Release Build & Tests Intensivere Releasetests Entwickler: „It‘s a feature, not a bug“ 7. Produktionsunterstützung Bessere Produkteinführung iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 35 / 42
  • 35. Die best practices für ein neues Projekt 1. Entwicklungs- Eclipse, GIT tools 2. Clean Code DRY, KISS, … SOLID, … Automatische Softwaremetriken, … 3. Entwicklungs- Automatische Unit- Automatische Automatische System- tests Tests, CI Integrationstests tests 4. Kommunikation Issue Tracker Reviews, Pairprogramming, Vieraugenprinzip im im Team Doku-Tools Definition of Done 5. Release Build Automatischer Build Automatische Systemtests & Tests 6. Freigabe - Abnahmeumgebung Dreistufiger Hochstufungsprozess 7. Produktions- Produkteinführung DevOps, „DevUse“, unterstützung „DevBus“ Billig Teuer Einfach Mausklick Kritikalität Komplex Kurzweilig Langfristig Ungefährlich iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Lebensgefährlich 42 Seite 36 /
  • 36. Wie wirkt sich die Anwendung der best practices aus? 1 0 011 01 00 1 1 100 1001101 0011100 0110011 1010110 01 1 01 10 1 10 0 001 0110110 1100001 11 11 0 00 1010010 1111000 10 10 01 0 01 00 011 0 1 111 01 0100011 0111101 1000011 1001010 01 010 10 1 00 11 01 0101010 1001101 ERROR iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 37 / 42
  • 37. Agenda Begriffserklärung: Entwicklung, Wartung, Test Sieben Einflussgrößen der Softwarequalität in Entwicklung und Wartung Best practices im Einsatz Zusammenfassung iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 38 / 42
  • 38. Nicht-funktionale Hauptsache, es läuft? Qualitätsmerkmale von Software Das Produkt korrekt, skalierbar, performant, (finales Ziel mit stabil, effizient, sicher (Security), Selbstzweck) zuverlässig, gesetzeskonform, gut bedienbar Der Entwicklungs- wirtschaftlich, testbar, erweiterbar, prozess veränderbar, analysierbar, wartbar (Zwischenziel, nur Mittel zum Zweck) iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 39 / 42
  • 39. Zusammenfassung In Entwicklung und Wartung hat die SQ 7 Einflussgrößen Für jede Einflussgröße gibt es eine Reihe von best practices SQ kostet und zahlt sich u.U. erst langfristig aus Ein guter Entwicklungsprozess ist der Schlüssel zu einem guten Produkt Produkt und Herstellungsprozess sind gleich wichtig iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 40 / 42
  • 40. Referenzen [1] Die Clean Code Developer www.clean-code-developer.de/ [2] Effective Java: A Programming Language Guide Joshua Bloch, 2. Auflage, 2008 [3] Bug Patterns in Java Eric Allen, 2002 [4] Growing Object-Oriented Software, Guided By Tests Steve Freeman & Nat Pryce, 2010 [5] Soft Skills für Softwareentwickler Uwe Vigenshow, Björn Schneider & Ines Meyrose, 2. Auflage, 2011 iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 41 / 42
  • 41. Weiterführende Literatur Growing Object-Oriented Software, Guided By Tests Steve Freeman & Nat Pryce, 2010 Clean Code - Refactoring, Patterns, Testen und Techniken für sauberen Code Robert C. Martin, 2009 Der Pragmatische Programmierer David Thomas, Andrew Hunt, Steffen Gemkow und Andreas Braig, 2003 Clean Coder: Verhaltensregeln für professionelle Programmierer Robert C. Martin, 2011 iks Thementag: „Mehr Softwarequalität“ - Hauptsache, es läuft? Entwicklung, Wartung, Test Seite 42 / 42