69
Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH T-SYSTEMS MULTIMEDIA SOLUTIONS

T-SYSTEMS MULTIMEDIA SOLUTIONS - TU Dresdenst.inf.tu-dresden.de/files/teaching/ss09/SWM/LifecycleVortragT-sytems.pdf · Das TIC der T-Systems MMS ist ein akkreditiertes Softwareprüflabor

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Umfassende QS entlang des Application Lifecycle | Matthias Schneider, T-Systems Multimedia Solutions GmbH

T-SYSTEMSMULTIMEDIASOLUTIONS

Umfassende Qualitätssicherung entlang des Application Lifecycle.

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

1. T-Systems Multimedia Solutions.

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.

2. Warum Testen?

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

3. Application Lifecycle und Qualitätssicherung.

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

4. Konkretes Vorgehen bei den QS-Elementen.

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