T-SYSTEMS MULTIMEDIA SOLUTIONS - TU...
Transcript of T-SYSTEMS MULTIMEDIA SOLUTIONS - TU...
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
T-SYSTEMSMULTIMEDIASOLUTIONS
Gliederung.
1. T-Systems Multimedia Solutions – Test and Integration Center.
2. Warum Testen?
3. Application Lifecycle und Qualitätssicherung
4. QS Elemente und konkretes Vorgehen
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
AUS GUTEM HAUSE.
� Die T-Systems Multimedia Solutions GmbH ist eine Tochter der T-Systems.
� Uns gibt es seit 1995.
� Wir sind Deutschlands Marktführer bei internetbasierten Lösungen.*
� Mit über 800 Kollegen realisieren wir jährlich 1.400 komplexe IT-Projekte.
� Und wir wachsen weiter: wir stellen permanent neue Mitarbeiter ein.
* New Media Service Ranking 2009 (BVDW)
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Dresden
Berlin
Jena
Hamburg
Bonn
Freiburg
Stuttgart
München
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Dresden
Berlin
Jena
Hamburg
Bonn
Freiburg
Stuttgart
München
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
WIR GESTALTEN DAS ZUSAMMENSPIEL ZWISCHEN MEDIENNUTZUNG, GESCHÄFTSPROZESSEN UND TECHNOLOGIE.
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
DIE UNENDLICHEN WEITEN DES INTERNET: UNSER ZUHAUSE.
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Test and Integration Center. Akkreditiertes Software- Prüflabor
Das TIC der T-Systems MMS ist ein akkreditiertes Softwareprüflabor der Bundesrepublik in der Internet- und Multimediabranche. Die Akkreditierung erfolgte durch die Deutsche Akkreditierungsstelle Technik (DATech e.V.), die Mitglied im Deutschen Akkreditierungsrat (DAR) ist.
Durch die Akkreditierung wird dem TIZ der T-Systems MMS bescheinigt:
� Das Testlabor arbeitet nach ausgereiften Methoden und Verfahren.
� Die Mitarbeiter verfügen über hervorragende Kompetenzen.
� Die Infrastruktur des Testlabors erfüllt die hohen technischen Anforderungen.
� Das Management und die Prozesse sind auf einem hohen Niveau.
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Warum testen?
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Warum testen?
Quelle: Standish Group, CHAOS Report 2009: „Chaos History“ von IT-Projekten.
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Was kosten Fehler?
� Geschätzte Verluste durch Softwarefehler in Mittelstands- und Großunternehmen in Deutschland:ca. 84,4 Mrd. € p.a.
� 35,9% der IT-Budgets für Beseitigung von Programmfehlern entsprechen 14,4 Mrd. € p.a.
� Produktivitätsverluste durch Computerausfälle aufgrund fehlerhafter Software: ca. 2,6% des Umsatzes - 70 Mrd. € p.a.
Quelle: Studie der LOT Consulting Karlsruhe, IT-Services 3/2001
� allein in Deutschland Ausfälle von jährlich 85 Milliarden Euro durch mangelnde oder unzureichende Testing - Maßnahmen.
Quelle: Forrester Research, 2003
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Was kostet die Fehlerbeseitigung?
Giga Information Group:
Softwarefehler, die erst in der Post-Production-Phaseentdeckt werden, verursachen 50 Prozent höhere Kosten als wenn sie bereits in der Entwicklung behoben worden wären.
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Was kostet die Fehlerbeseitigung?
� Istanalyse / Grobkonzept
für Überarbeitung Geschäftsprozess, Review, Diskussion
� Feinkonzept / DV-Konzept
� Realisierung
� Abnahme / Einführung
� Betrieb
1.000 €
4.000 €
12.000 €
48.000 €
90.000 €
für zusätzliche Abnahmekosten, wiederholtes Roll out
für Überarbeitung Geschäftsprozess, Review, Diskussion
für zusätzliche Entwicklungskosten
Umsatzverlust, Imageschaden
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
ApplicationLifecycle
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Anforderungen
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Design
Anforderungen
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Design
Anforderungen
Realisierung
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Design
Anforderungen
RealisierungEinführung
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
DesignBetrieb
Anforderungen
RealisierungEinführung
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Design
Optimierung
Betrieb
Anforderungen
RealisierungEinführung
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Anforderung:Weichenstellung für Qualität
Was ist aus Qualitäts- / Test-Sicht relevant?� Vollständige Beschreibung der Anforderungen� QS-Maßnahmen definieren & planen� Testplanung / -organisation (Prozesse, Personal, Skills, Infrastruktur)
Quality-Gateja nein
Sind alle Anforderungen vollständig, eindeutig und konsistent beschrieben?Ist das gemeinsam getragene Vorgehen zur Qualitätssicherung bei allen Beteiligten sichergestellt?
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Design Fehler frühzeitig finden und beseitigen
Was ist aus Qualitäts- / Test-Sicht relevant?� „Test“ des Designentwurfes (Ableitung der Testobjekte)
� DV technische Umsetzung der Anforderungen prüfen
� Architektur, Security, Usability, Accessibility� Fehler lassen sich noch einfach beseitigenQuality-Gate
ja neinFinden sich alle Anforderungen vollständig, widerspruchsfrei im Design wieder?Ist der Designentwurf korrekt?
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Realisierung: Frühzeitiges, isoliertes Testen
Was ist aus Qualitäts- / Test-Sicht relevant?� Code Quality Management, Codereviews� Tests spezifizieren, vorbereiten, automatisieren� Entwicklungsbegleitende Tests, frühes isoliertes Testen der Module� Security und Performanceaspekte reviewenQuality-Gate
ja neinCodequalitätsmetriken erfülltTestabdeckung der AnforderungenSmoketests (Fehlerkorridor)
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Einführung: Prüfen auf Herz und Nieren
Was ist aus Qualitäts- / Test-Sicht relevant?� Durchführung Integrations-/Abnahmetests zu Funktionalität, Last & Perfomance, Security, …
� Ausreichende Abdeckung der Anwendung� Effizientes Fehlermanagement
Quality-GateWurden alle Tests in dem geplanten Umfang durchgeführt? Wurde die geplante Testabdeckung erreicht?Lassen die bekannten noch offenen Fehler einen Wirkbetrieb zu (Fehlerkorridor)?
Ja Nein
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Betrieb: Qualität nachhaltig managen
Was ist aus Qualitäts- / Test-Sicht relevant?� Verfügbarkeit, Funktion, Performance der Anwendung überwachen� Analyse von Störungen, Performanceproblemen
� Performancetests bei Hardwareänderungen / Plattformausbau
� IT-Sicherheitsmechanismen prüfen / anpassen
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Optimierung: Verbesserungen ableiten
Was ist aus Qualitäts- Sicht relevant?� Sammeln, verdichten und aufbereiten der durch die QS-Maßnahmengewonnenen Informationen als Input für Optimierungen, u.a.
- CQM: Codemetriken- Wirkbetriebsfehler, Fehleranalysen - Erkenntnisse aus L&P, Security, Usabilitytests- Monitoringdaten
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Leistungen zur Qualitätssicherung.
Code QualityManagement
IT-Strategie &Beratung Zertifizierung
IT-ServiceManagement
BusinessService
ManagementITIL V3
Betrieb- &Fachsupport
Geschäfts-prozess-monitoring
Service- &Betriebsüber-leitung
Security
Lasttest & Performance-
analyse
Usabilitytest
Abnahmetest
Test-Automa-tisierung
Funktionstest
Testberatung
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Testorganisation / -planung.
Quality Gate
Quality GateEntwicklung
ITund
Partner
Betrieb
Change-, Konfig- und Fehlermanagement
Fachabt.
An-forderungen
Releasemanagement
Change
Release - Zyklus
Konzept Testing Services
End-to-EndGeschäftsprozesstests
Testing Services als unabhängige Qualitätssicherungsinstanz wirdin den gesamten Entwicklungsprozess eingebunden
Begleitung und Reviews
Fachabt.
Nutzen
IT-Service
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Anforderung
Feinspezifikation
Systementwurf
Spezifikation
geprüft
Integrationstest
System-integrationstest
Abnahmetest
Programmierung
Komponenten-test
Abnahmekonzept
Testfälle
Testfälle
Testfälle
Fachbereiche
Architektur
Entwicklung
Realisierung
geprüft
geprüft
geprüft
Validierung
Verifikation
Verifikation
Ver.
Einbettung in das V-Modell.
TestingServices
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Testorganisation
Test-konzeption
Test-vorbereitung
Test-auswertung
� Teststrategie und Testziele � Testumfang � Teststufen � Testvoraussetzungen � Testumgebung � Bedarfsanalyse zur
Testautomatisierung � Toolauswahl � QS–Maßnahmen � Ressourcen � Fehlerklassen und
Fehlerworkflow� Risikomanagement� Testdaten
� Klassifizierung Testobjekte auf Basis A/B/C-Analyse
� Erarbeitung Testfälle -> Testspezifikation
� Erstellung der Testscripte
� Erstellung der Testdaten
� Bereitstellung der Testumgebung
� Installation� Konfiguration der
Testtools
� Bewertung der Testergebnisse
� Überprüfen der Abnahmekriterien
� Dokumentation / Bericht
� Zertifizierung� Freigabe
Test-durchführung
� Annahmetest� Testdurchführung
nach Testspezifikation� Protokollieren der
Testergebnisse� Erstellung der
Fehlermeldungen� Re-Test� Erstellung der
periodischen Berichte
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Qualitätsmerkmale
Qualitätsmerkmale von Softwaresystemen:
� Funktionsumfang – kann die Software alle Aufgaben erfüllen?
� Zuverlässigkeit – wie reagiert das System auf die Fehleingaben?
� Benutzbarkeit – ist das System verständlich und leicht bedienbar?
� Effizienz –wie sind die Antwortzeiten ?
� Änderbarkeit – kann die Software erweitert werden?
� Übertragbarkeit – läuft die Software unter verschiedenen Betriebssystemen oder Browsern?
Systematik entspricht den DIN-ISO-Normen 9126 und 12119.
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
IT-Sicherheit – Sicherheits- und Datenschutz-konzeption
� „„„„ContentContentContentContent----SecuritySecuritySecuritySecurity““““ wird wichtigerwird wichtigerwird wichtigerwird wichtiger. Sicherheitslücken verlagern sich in die Web-Anwendung selbst (ca. 60 % derzeit). Firewalls
und Virenscanner sind inzwischen akzeptierter Standard, aber nicht mehr ausreichend.
� KommerzialisierungKommerzialisierungKommerzialisierungKommerzialisierung: „Freizeit-Hacker“ wird abgelöst durch geschäftsmäßiges Ausnutzen von Sicherheitslücken, wie
Erpressung oder Schädigung von Konkurrenten. Hohe Motivation und Ressourcen vorhanden.
� VerschVerschVerschVerschäääärfterfterfterfte Anforderungen durch den GesetzgeberAnforderungen durch den GesetzgeberAnforderungen durch den GesetzgeberAnforderungen durch den Gesetzgeber (z.B. ISO 17799 / 27001, KonTraG, SOX, Basel II, Neuregelung
Datenschutzgesetz), u.a. Informatiosnpflicht und höhere Bußgelder bei Verlust personenbezogener Daten.
� Sehr hohe hohe hohe hohe ööööffentliche Aufmerksamkeitffentliche Aufmerksamkeitffentliche Aufmerksamkeitffentliche Aufmerksamkeit für Datenschutz und Sicherheit
� Prozesse müssen sehr hoher Dynamikhoher Dynamikhoher Dynamikhoher Dynamik gewachsen sein (ständig neue Angriffsmethoden, Sicherheitslücken, usw.)
� Hoher ImageschadenHoher ImageschadenHoher ImageschadenHoher Imageschaden bei Sicherheitsvorfällen wahrscheinlich
� Umfassendes SicherheitsUmfassendes SicherheitsUmfassendes SicherheitsUmfassendes Sicherheits----ManagementManagementManagementManagement: Thema Sicherheit wird zukünftig, statt bisher punktuell (Hardware,
Netzwerksicherheit, Tools), umfassend und prozessorientiert angegangen (umfassende Konzeption von Sicherheitsprozessen
/ ITIL).,
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
IT-Sicherheit – Sicherheits- und Datenschutz-konzeption
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
IT-Sicherheit – Sicherheits- und Datenschutz-konzeption
Datenschutzkonzept
� Identifizieren personenbezogener und anderer sensibler Daten und ableiten des Schutzbedarfes
� Untersuchung von Verarbeitungsweg, Speicherung, Auswertemöglichkeiten
� Erkenntnisse fließen in Sicherheitskonzept ein, wo Maßnahmen zur Durchsetzung des Schutzes definiert werden
Sicherheitskonzept
� Objektanalyse der Komponenten, Schnittstellen, Rollen, Prozesse, Informationswerte, Dienste, Protokolle, Ports
� Ermitteln des Schutzbedarfes: Vertraulichkeit, Integrität und Verfügbarkeit
� Analyse der potentiellen Bedrohungen (u.a. denkbare Angriffsarten Denial of Service Angriffe, Cross-Site-Scripting
– XSS oder SQL Injection)
� Einschätzung des Risikos (Schadenspotential, Eintrittswahrscheinlichkeit)
� Ableitung von Maßnahmen (u.a. Vorgaben für sichere Programmierung, Passwortregeln).
� den SicherheitsstatusSicherheitsstatusSicherheitsstatusSicherheitsstatus während der Dauer der Nutzung zu erhaltenerhaltenerhaltenerhalten
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
IT-Sicherheit – Codereviews
Durchführung von Code Reviews
� Analyse von Quelltexten auf Sicherheitsprobleme
� u.a. Empfehlung des OWASP (Open Web Application Security Project)
VorgehenVorgehenVorgehenVorgehen
� Automatische Untersuchung des Quelltextes mit Hilfe von Werkzeugen
� Manuelle Bewertung der Ergebnisse (aussortieren von false positives, Einschätzung des Potentials der
gefundenen Lücken)
� Ggf. manuelle Reviews (hoher Aufwand)
� Verbesserung kritischer Codezeilen
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
IT-Sicherheit – Sicherheitstests
Vorbereitung DurchführungBewertung der
Informationen
� Auswahl TestsystemAuswahl TestsystemAuswahl TestsystemAuswahl Testsystem
Testsystem, Produktivsystem, ...
� Festlegen der Testtiefe und AggressivitFestlegen der Testtiefe und AggressivitFestlegen der Testtiefe und AggressivitFestlegen der Testtiefe und Aggressivitäääätttt
wie sehr darf das Testsystem belastet werden, dürfen Daten zerstört werden?
� Testrisiken und Planung von Testrisiken und Planung von Testrisiken und Planung von Testrisiken und Planung von NotfallmaNotfallmaNotfallmaNotfallmaßßßßnahmennahmennahmennahmen
welche Risiken bestehen durch den Test, ggf. Planung von Notfallmaßnahmen
� Befragung der EntwicklungsabteilungBefragung der EntwicklungsabteilungBefragung der EntwicklungsabteilungBefragung der Entwicklungsabteilung
Systemverständnis erlangen, Identifizierung kritischer Bereiche aus Sicht der Entwickler
� Auswahl der zutreffenden Testmodule Auswahl der zutreffenden Testmodule Auswahl der zutreffenden Testmodule Auswahl der zutreffenden Testmodule z.BTest auf Fehler im Sessionmanagement, (Sitzungsübernahme, –manipulation), Fehlerhandling (Preisgabe von sensiblen Informationen)
Informationsbeschaffung und Informationsbeschaffung und Informationsbeschaffung und Informationsbeschaffung und ÜÜÜÜberprberprberprberprüüüüfung fung fung fung
NetzwerksicherheitNetzwerksicherheitNetzwerksicherheitNetzwerksicherheit
� Schwachstellenscan auf Netzwerkebene
� Portscan
� Antest der Applikation
Aktive Eindringversuche
� Cross Site Scripting
� {SQL, Command, HTML, PHP, …} – Injection
� Informationspreisgabe
� usw. OWASP Top 10
� Einschätzung Sicherheitsniveau der
Anwendung
� Protokollierung gefundener
Sicherheitslücken
� Empfehlung von Maßnahmen, um
gefundene Sicherheitslücken zu
schließen.
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Usability-Reviews / -tests
Warum die Usability verbessern?
� Imagegewinn bei den Kunden erreichen, Differenzierung von Wettbewerbern, Kundenzufriedenheit erhöhen
� Bedienaufwand reduzieren
� Einarbeitungszeit Anwender verringern
� Serviceteam entlasten
Accessibility-Tests
� Barrierefreiheit – Nutzbarkeit durch Blinde / Sehschwache
� Entsprechende Vorschriften bei öffentlichen Anwendungen und in großen Konzernen
„Usability ist das Ausmaß, in dem ein Produkt durch bestimmte Benutzer in einem Nutzungskontext genutzt werden kann, um bestimmte Ziele effektiv, effizient und zufriedenstellend zu erreichen.“
"Ihre Website wird in jedem Fall auf Usability getestet. Wenn Sie es nicht selbst tun, dann tun es Ihre
Kunden." Jakob Nielsen
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Usability-Reviews / -tests
Typische Problempunkte
� Texte werden nicht verstanden
� Links nicht gefunden
� Seiten und Texte sind unübersichtlich
� Nutzer verlieren das Interesse
Vorgehen Usability-Tests
� Expertengutachten schon auf Basis von Konzeptionsdokumenten
� Tests mit Probanden - vorzugsweise schon an Prototypen
� Kosten der Fehlerbeseitigung steigen mit Entwicklungsfortschritt Kosten der Beseitigung erkannter Usability-Mängel im Lebenszyklus einer Web Site
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Usability-Reviews / -tests
Eye-Tracking bei Usability-Tests:
� Kommt ein Proband bei einer
gezielten Suche schnell und
ohne große Probleme zum
Ziel?
� Wurden wichtige
Informationen
gesehen?
� Welche Regionen ziehen die
Aufmerksamkeit und somit
den Blick auf sich?
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Usability-Reviews / -testsUsability-Test mit Lautem Denken:
Versuchspersonen der Zielgruppe werden beim Bearbeiten von typischen Aufgaben beobachtet. (Dauer ca. 1,5 h)
Videoaufzeichnung „Bild-in-Bild“
Lautes Denken
� direktes Feedback der Anwender!
Etwa 5-8 Probanden können helfen, etwa 80 % der Usability -Schwachstellen aufzudecken.
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Funktionale Tests - Testfallspezifikation
Testobjekt-Priorisierung
Methoden zur Testfallermittlung:� Äquivalenzklassenanalyse� Grenzwertanalyse� Intuitive Testfallermittlung
� Best Case� Minimal Case� Maximal Case� Error Case
Step Name
Description Expected Result
Step 1 Objektauswahl über Klick auf Button "Objektauswahlansicht" starten.
Fenster "Objektauswahl" wird geöffnet
Step 2 Klick auf Button "Neu" Maske "Neues Objekt anlegen" wird angezeigt
Step 3 Im Feld "Objekt-Typ" aus einer Liste der verfügbaren Typen "Sub- Navigation" wählen
Auswahl möglich, Anzeige korrekt
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Testautomatisierung
Motivation für Testautomatisierung
� Kosten- und Aufwandsreduktion
� Schnelle Reproduzierbarkeit
� Entschärfung kritischer Zeitpfade
� Entlastung von Routineaufgaben
� Hohe Genauigkeit der Testergebnisse
� Reduktion von Expertenabhängigkeit
� Nachvollziehbarkeit der Tests
Typische Anwendungsbereiche
� Antests / Smoke Tests
� Regressionstests
� Massentests bzw. datengetriebene
Tests (z.B. alle PLZ)
� Testdatengenerierung
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Testautomatisierung
Teststufen-übergreifende
Nutzung
Mögliche Varianten
� Automatisierung über die
Erkennung der
Anwendungsoberfläche
� Automatisierung auf
Protokollebene (z.B. http)
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Code Quality Management
Warum CQM ?
� Hoher Wartungskostenanteil im Gesamtlebenszyklus einer Anwendung
� Wartungsaktivitäten fallen kontinuierlich an:
- Fehler werden behoben
- Neue Anforderungen werden umgesetzt
� Gut strukturierter Code ist besser (schneller) zu verstehen,
� Mögliche Fehlerquellen können frühzeitig erkannt werden
� Die Wahrscheinlichkeit, neue Fehler einzubauen, ist geringer
� Einsatz als Quality Gate gegenüber Softwarelieferanten
� Resultiert in Verringerung des Wartungsaufwandes
Aufwände in SW-Entwicklungsprojekten
Analyse SpezifikationDesign
Implementation
TestWartung
Verteilung des Aufwandes bei SW-
Wartungsaktivitäten
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Code Quality Management
ISO 9126:Kriterien
� Übertragbarkeit: wie gut ist die Software zu anderen Entwicklern übertragbar
� Änderbarkeit: Wie einfach und schnell eine Anwendung modifiziert werden kann
� Zuverlässigkeit / Robustheit: Wie hoch ist das Risiko von Ausfällen oder Defekten
� Performance: Performance: Performance: Performance: Wie hoch ist das Risiko von Leistungsproblemen auf Grundlage der Architektur
� Sicherheit:Sicherheit:Sicherheit:Sicherheit: Wie hoch ist das Risiko von Sicherheitsverstößen?
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Bildung der Qualitätsmerkmale innerhalb der CAST Application Intelligence Plattform
Transferability
Changeability
Robustness
Performance
Size
NamingConventions
Documentation
Architecture
Complexity
Package naming Class naming Interface naming Method naming Attribute naming Constant naming Package comment Class comment Method comment Package size Class size (methods)Class size (attributes)Interface size Method size
Class complexity (Inh. depth)Class complexity (Inh. width)Method complexity (Param.)Method complexity (control flow)
Maintainability
Security
ProgrammingPractices
File conformityDead code
Controled data accessStructuredness
Modularity
Encapsulation conformityEmpty code
Inheritance
Direkter Effekt
Application Quality
Mittelfristiger Effekt
1000+ Architektur
und sprachspezifischecode checks
Health Factors Quality Indicators Quality Metrics Subset Application Quality
Code Quality Management
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Code Quality ManagementDarstellung der Ergebnisse im Webportal
Ausgangsbasis fAusgangsbasis fAusgangsbasis fAusgangsbasis füüüür die weitere r die weitere r die weitere r die weitere UntersuchungUntersuchungUntersuchungUntersuchung
Bewertung des Quellcodes in Bewertung des Quellcodes in Bewertung des Quellcodes in Bewertung des Quellcodes in 5 Qualit5 Qualit5 Qualit5 Qualitäääätsmerkmalentsmerkmalentsmerkmalentsmerkmalen
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Last- und Performancetests
Warum L&P Tests?
� Durchsatz und Antwortzeiten ermitteln
� Steigende Zugriffszahlen, Änderungen an Anwendung oder Hardware können Verzögerungen bzw. Ausfälle nach sich ziehen
� Wichtige Geschäftsprozesse werden gestört oder fallen aus (z.B. keine Bestellungen im Shop möglich)
� Wirtschaftliche Schäden durch Ausfall und Störungen entstehen
� Imageverlust durch schlechte Performance
� 8 Sekunden Regel - Kunde macht sein Geschäft woanders!
Folgende Fragen sind zu beantworten
� Wie viele Nutzer, Transaktionen verkraftet meine Anwendung?
� Wo liegen die Performance- Engpässe unter Last?
� Wie lange müssen die Kunden bei steigender Nutzer-Anzahl warten?
� Wie sind meine Web-Server ausgelastet?
� Wann muss die Hardware ausgebaut werden?
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Last- und Performancetests
Antwortzeitverhalten
0,00
5,00
10,00
15,00
20,00
25,00
30,00
35,00
40,00
45,00
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Serverauslastung
Ant
wor
tzei
t / s
� Kleine Auslastungssteigerung hat großes Delta in den Antwortzeiten zur Folge
� Wo liegt der Knick ?
� Weiteres typisches Problem: memoryleaks
� bestimmte Fehler treten erst unter Last auf, sind also im Funktionstest nicht zu finden
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Last- und Performancetests
Sorgfältig bei der Ermittlung der Performanceanforderungen arbeiten.
Realität möglichst genau nachbilden!
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Last- und Performancetests
Auch längere Zyklen und langfristige Entwicklung berücksichtigen!
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Last- und Performancetests
Ergebnisse
Antwortzeitverhalten
� Entwicklung des Antwortzeitverhaltens bei steigender Last
� Anteil der Nutzer < 5s Antwortzeit, zwischen 5 und 8s, >8s
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Last- und Performancetests
Ergebnisse
Ansteigende Fehlerrate
� Transaktionen stagnieren, das System kommt in den Bereich der Sättigung
� Bei den höchsten Teststufen steigt die Fehlerrate (fehlgeschlagene Transaktionen, rot)
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Last- und Performancetests
Bewertung der Ergebnisse
Problemanalyse
� Überlastung des Webservers
� Korrespondierend dazu starker Anstieg der Antwortzeiten
Sättigungsgrenze CPU-Auslastung
T01_50VU_10min
T02_100VU_10min
T03_150VU_10min
Overall Response
Time
CPU-Auslastung
Webserver
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Applikationsanalysen / Performanceanalysen
Trotz vorheriger Tests
� kommt es zu Performanceproblemen mit unklaren Ursachen
� treten Memory Leaks auf
� kommt es zu sporadischen Fehlern, die in einer Testsituation so gar nicht zu finden waren
In der Wirkbetriebssituation sind schnelle, zielführende Lösungen gefragt, aber
� Die Ursachenanalyse ist komplex (Hardware, Netzwerk, Anwendung)
� Wo existiert konkretes Optimierungspotential?
� Muss mehr Bandbreite bereitgestellt werden, die HW-Plattform ausgebaut oder die Applikation verbessert werden?
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Testszenario (Frontend)
Platform
Appl
Appl? ApplikationsverhaltenApplikationsverhaltenApplikationsverhaltenApplikationsverhalten
AusfAusfAusfAusfüüüührungspfadehrungspfadehrungspfadehrungspfade�ServerServerServerServerüüüübergreifendbergreifendbergreifendbergreifendOHNE Manipulation des Quellcodes!OHNE Manipulation des Quellcodes!OHNE Manipulation des Quellcodes!OHNE Manipulation des Quellcodes!
ApplAppl ?ApplikationsmetrikenApplikationsmetrikenApplikationsmetrikenApplikationsmetriken
System Parameter(CPU, Memory, IO)Applikationsspezialisierte Analyse(SQL-Server)
Server MetrikenServer MetrikenServer MetrikenServer Metriken
Black Box
Einordnung - Mehrwert.
Applikationsanalysen / Performanceanalysen
Geschäftsprozesse �Metriken(Responsetime, …)
Client MetrikenClient MetrikenClient MetrikenClient Metriken
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Applikationsanalysen / Performanceanalysen
Setzen der Messpunkte
Java – Code (unverändert)
Instrumentierung
Instrumentierung
AgentZeiten (µs), Exception
Zeit
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Applikationsanalysen / Performanceanalysen
Ausführungspfad
Komplexe Softwareanwendungenverteilt und heterogen
Simulierte undreale Endbenutzer
Java/J2EE Server .NET Server Datenbank
DiagnosticsAgent
Sensor
Problem
Application Servers Data Center
Backoffice
Web Servers
WebServ@HOSTXY:1WebServ@HOSTXY:1
[email protected]:[email protected]:1
[email protected]:[email protected]:[email protected]:1
WebServ@HOSTXY:2WebServ@HOSTXY:2
GoSpaceFrontend@...
Application Servers Data Center
Backoffice
Web Servers
WebServ@HOSTXY:1WebServ@HOSTXY:1
[email protected]:[email protected]:1
[email protected]:[email protected]:[email protected]:1
WebServ@HOSTXY:2WebServ@HOSTXY:2
GoSpaceFrontend@...
DiagnosticsServer
Application Servers Data Center
Backoffice
Web Servers
WebServ@HOSTXY:1WebServ@HOSTXY:1
[email protected]:[email protected]:1
[email protected]:[email protected]:[email protected]:1
WebServ@HOSTXY:2WebServ@HOSTXY:2
GoSpaceFrontend@...
Diagnostics Client
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Applikations-Monitoring
� Wie erlebt der Kunde die Anwendung?
� Ist die Anwendung von verschiedenen Standorten aus erreichbar?
� Funktionieren die wichtigen Geschäftsprozesse immer korrekt?
� Wie ist das Antwortzeitverhalten?
� Werden die SLAs der Anwendung eingehalten?
� Wann muss der Support proaktiv eingreifen?
Sicherstellen eines stabilen und performanten Betriebs der Anwendung
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Applikations-Monitoring
Systemmonitoring Applikationsmonitoring
Server Netz Dienste DB
Aktiv
Geschäftsprozesse (E2E)
TransactionTracking
SLM VerfügbarkeitSLM Verfügbarkeit,
Antwortzeiten, Fehler, …Problemanalyse
Passiv
Einordnung.
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Applikations-Monitoring
� Proaktives Ausführen ausgewählter wichtiger Geschäftsprozesse durch „synthetische“ Nutzer nach einem definierten Schedule (z.B. alle 15 min).
� Ansprechen der Applikation i.d.R. über die Protokollebene (gleiche Technologie wie bei Lasttest-Werkzeugen)
� Teilweise Wiederverwendung der Lasttestskripte möglich
� Sammeln und reporten zu Verfügbarkeit, Stabilität und Antwortzeitverhalten der Applikation
Aktives Monitoring.
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
Applikations-Monitoring
Seitenaufrufe
•Antwort aller Seiten und
Komponenten ?
•Server Fehler, Website Fehler,
Content Fehler
• Größe von Seiten
•Antwortzeit
•Seite geladen oder
abgebrochen?
•Netzwerk Timeout?
•Antwortzeit
Ser
ver
Ant
wor
tzei
t
Internet / MPLS
Internet
Callcenter A Callcenter B
Callcenter C
Webserver
Datenbankserver
Switch
Firewall
Net
zwer
k A
ntw
ortz
eit
Passive-Monitoring
Passives Monitoring – Real User Monitoring.
� Erfassen des gesamteneingehenden Webtraffics auf eine Anwendung
� Auswertung: von welcher Lokation kommt die Anfrage, Browsertyp, Antwortzeiten, Fehler, ….
� Aufbereitung, Reporting
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH
DANKE FÜR IHRE AUFMERKSAMKEIT!
T-Systems Multimedia Solutions GmbHLeiter Business Unit Test and Integration CenterRiesaer Str.5, 01129 DresdenTel +49 351 2820 - 2607E-Mail: [email protected]: www.t-systems-mms.comwww.t-systems-mms.com/TEST_und_SUPPORT_SERVICES