Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Integration und Test

No description
by

Alexander Huwaldt

on 1 April 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Integration und Test

Integration und Test
Grundlagen
Ziele des Testens:
Fehler finden
Qualität steigern
Risiko minimieren
Vertrauen schaffen
Kosten sparen
Softwareintegration und Tests
Inhalt
Ziele, Grundsätze, Ursachen und Kosten
Softwareintegration und Tests
Testarten, Teststrategieen
Testorganisation, Testautomatisierung
Test- und Fehlermanagement

Testautomatisierung
Testarten, Teststrategien
funktional strukturell nichtfunktional
Dipl. Ing. Päd. Alexander Huwaldt
Test-, Fehler- und Änderungsmanagement
Vielen Dank für Ihre Aufmerksamkeit.
Fehlerbericht
Testen
Testen: funktional strukturell
Kunde
Tester Entwickler
Korrigieren
Tesfälle Datenbank
neue Version
7 Grundsätze des Testens:
wähle einen destruktiven Ansatz
vollständiges Testen ist nicht möglich
beachte das Wespennest/Kakerlaken-Prinzip
beginne so zeitig wie möglich mit Testen
Tests sind
immer
kontextbezogen
beachte das Pestizid-Paradoxon
vermeide Trugschlüsse zur Brauchbarkeit

Testen ist:
immer Stichprobenartig, kein Debugging, nie vollständig, ...
Unterscheide:
Fehler, Defekt, Mangel, ...

Debuggen, unbekannte F. finden
Finden der Fehlfunktion
teuer
Fehlerlokalisation
billig
Kommunikationspfade
Überdeckungsgrad
Maßnahmen der Qualitätssicherung
Organisatorische Maßnahmen
Projektorganisation,
Softwareprozess
Konstruktive Maßnahmen

Architektur, Entwurf
Analytische Maßnahmen
Verifikation, Validierung,
Inspektion,
Test
Begriffe
Fehler:
allgemein ein Fehlverhalten des Systems.
Fehler:
speziell die Nichterfüllung einer
festgelegten
Forderung
Mangel:
Nichterfüllung einer angemessenen Erwartung
Programmierfehler:
Fehler im Code (während der Entwicklung)
Defekt:
Fehler durch mangelndes Problemverständnis
Infektion:
Fehlerzustand zur Laufzeit
Fehlfunktion:
Sichtbare Manifestation eines Fehlers
...



Fehlerklassifikation
Funktionsfehler
- Funktionalität falsch spezifiziert (→ neuer Entwurf!)
Schnittstellenfehler
- Programmkomponenten interagieren falsch (z.B. falsche Parameterlisten)
Algorithmusfehler
- Implementierung ist falsch oder uneffizient
Zuweisungsfehler
- Berechnungsfehler bei Startwerten oder Zuweisungen
Abfragefehler
- fehlerhafte oder fehlende Abfragen zerstören die Programmlogik
Synchronisations- / Zeitfehler
- Zugriff auf gemeinsam Ressourcen
Konfigurationsfehler
- Verwendung von Bibliotheken der falschen Version
- Probleme im Änderungsmanagement / Versionskontrolle
Dokumentationsfehler
- korrekt realisiert, aber falsch dokumentiert
Katastrophal
Weltuntergang
Kritisch
Produktionsausfall
Aufgabe nicht mehr erfüllbar
Hoch
Produktion / Leistung herabgesetzt
Mittel
Verhinderung der vollen Ausnutzung der Programmöglichkeiten
Workaround existieren
Niedrig
kosmetische Probleme
Leistung bleibt erhalten
Unproblematisch
nicht geforderte Softwareverbesserung
Last- und Performancetests
• Ressourcenauslastung
• Antwortzeiten
• Stressverhalten
• Bottlenecks
Sicherheitstest
• Funktionale Sicherheit (Rechte, Rollen)
• Technische Sicherheit (Penetration, Angriffe)
Benutzbarkeitstest
• Barrierefreiheit
• Styleguide-Konformität
• Erlernbarkeit
• Verständlichkeit
Prüfung der Dokumentation
Prüfung auf Änderbarkeit/Wartbarkeit
Finden der Fehlfunktion
gratis
Fehlerlokalisation
teuer
- Hauptaufwand!
Reproduktion, Lokalisierung
Im Entwicklungszyklus:
30 - 100 pro 1000 Zeilen Programmkode
Im fertigen Produkt:
1.5 bis 5 pro 1000 Zeilen Programmkode (95% der Defekte werden gefunden)
Verteilung:
2/3 im Entwurf; 1/3 bei der Programmierung
15% sind schwerwiegend
Überdeckungsgrad gibt an wie viele Kontrollflusspfade durchlaufen wurden

Anweisungsüberdeckung C0
Jeder Knoten im Kontrollflussgraph muss einmal durchlaufen werden
( jede Anweisung wird wenigstens einmal ausgeführt)

Zweigüberdeckung C1

Jede Kante im Kontrollflussgraph muss einmal durchlaufen werden,
schließt Anweisungsüberdeckung ein

Pfadüberdeckung C2
Jeder Pfad im Kontrollflussgraphen muss einmal durchlaufen werden
Full transcript