IST FL
Für den persönlichen Gebrauch...
Für den persönlichen Gebrauch...
-
- 1 / 70
-
Flashcards
Testauswertung und Bericht
- Wichtige Frage?
- Beispiele
- Testende erreicht? = Ausgangskriterien erfüllt?
Beispiel Ausgangskriterien:
- Überdeckungsgrad bsp der Anweisungen...
- Weiterer Aufwand gerechtfertigt?
- Fehlerfindungsrate pro Testdurchführung
Komponenten-Test
- Was wird getestet
- Wie wird getestet
Bsp JUnit
- Funktionalität
- Robustheit (Negativtests)
- Effizienz (CPU / Speicherbedarf...)
- Wartbarkeit (Code modularität / Kommentare / ....
Wie
- Whitebox
- Blackbox (Testdriven dev)
Integrationstest
- Ziel
- Was wird getestet
- Was wird benötigt?
- Vorgehen anhand...
Ziel: Schnittstellenfehler aufdecken
Was?
- Gruppen von Komponenten mit Schnittstellen
- IntegrationsTest im grossen = Systemintegrationstest
Was wird benötigt?
- Montiore (bsp. Netzwerkverkehr aufzeichnen)
Integrationsstrategie (Vorgaben aus Systemarchitektur, Projektplan, Testkonzept)
Integrationsstrategien
- Topdown (Nachteil: Platzhalter für untergeordnete Komponenten nötig)
- Bottom up (Nachteil: Testtreiber für übergeordnete Komponenten nötig)
- Adhoc: (Nachteil: Platzhalter und Testtreiber nötig)
- Backbone: Aufwändiger Backbone (Sekleton) für das gesamte Programm nötig
Systemtest
- Testumgebung
- Was getestet
- Spezielle Tests
- Ziel
- Testumgebung muss möglichtst einer Produktivumgebung entsprechen!
- Separate Testumgebung nicht Produktivumgebung
Was
- Prüfen des integrierten Systems aus Sicht des Kunden
- System- und Anwenderdokumentation überprüfen
- Konfigurationseinstellungen prüfen
- Last- und Performanztests
Ziel:
- Fehler und Mängel aufdecken
Abnahmetest
- Verantwortlich
- Testumgebung
- Formen der Abnahmetests
Verantwortlich: Der Kunde
Testumgebung: Beim Kunden; Jedoch nicht die Produktivumgebung um laufendes Geschäft nicht zu gefährden
Formen
- Test auf vertragliche A (Entwicklungsvertrag + Gesetzliche Vorschriften, Normen; Sicherheitsrichtlinien)
- Test der Benutzera (Falls Kunde und Anwender unterschiedliche Personengruppen
- A durch Systembetreiber: System betreibbar (Backup, Systemneustart, Benutzerverwaltung...)
- Feldtest (Beta-Test beim Kunden)
Typische Wartungsanlässe
- Neu Einsatzbedingungen (bdsp anderes OS)
- Kundenwünsche
- Seltene Funktionen / Sonderfälle machen Problemem
- Sporadische Ausfälle
Testen bei
- ...Softwarewartung
- ... Weiterentwicklung
- ... Inkrementeller Entwicklung
- ...Softwarewartung: Alle neuen/geänderten Funktionen + Regressionstest
- Hotfixes: Minimale Tests -> Weitere im Nachgang
- ... Weiterentwicklung: Alle neuen/geänderten Funktionen + Regressionstest
- ... Inkrementeller Entwicklung: Alle neuen/geänderten Funktionen + Regressionstest
Grundlegende Testarten (im SW-Lebenszyklus)
- Funktionaler Test (Blackbox)
- Nicht funktionaler Test
- Struktur Test (Whitebox)
- Änderungsbezogener Test (alles Neue testen + Fehlernachtests (im Release behobener Fehler prüfen) + Regressionstests)
- Regressions-Test (nach Änderung bestehende Funktionalität prüfen)
- Testautomatisierung!
Warum bei System und Abnahmetest nicht in Produktivumgebung des Kunden?
- Schädlich für Produktivumgebung da Fehler auftreten werden
- Tests nicht mehr reproduzierbar, da Kundenumgebung laufend angepasst wird
Modelle für unabhängiges Testen une Einsatz bei
- Komponententest
- Integrationstest
- Systemtest
- Entwickler testen gegenseitig
- Entwickler abstellen für Testen
- Dediziertes Testteam innerhalb Projekt
- Zeitweise unabhängige Tester heranziehen
- Separate Test-Organisation (Testlabor)
- Komponententest: 1,2
- Integrationstest: 1,2 - bei grösseren Vorhaben 3-5
- Systemtest: 3,4,5
Testmanager
- Aufgaben
- Testpolitik
- Testkonzept
- Testressourcen
- Auswahl Testwerkzeuge + Organisation
- Optimierung Prozesse
- Metriken anwenden
- Testabschlussbericht erstellen und kommunizieren
Testdesigner
- Review Req -> Testfälle erstellen
- Testspezifikation
- Testdaten
Testautomatisierer
- Aufgaben
- Sehr gute Kenntnisse der Testwerkzeuge
- Programmierung
Testadministrator
- Aufgaben
- Installation und Betrieb Testumgebung
Tester
- Aufgaben
- Review Testpläne und Testfälle
- Anwendung Testtools
- Ausführung und Protokollierung von Tests + Dokumentation Resultate
Rollen im Testprozess
- Testmanager
- Testdesigner / Testanalyst
- Testautomatisierer
- Testadmin
- Tester
Typische
- Eintrittskriterien
- Ausgangskriterien
Eintrittskriterien
- Testumgebung einsatzbereit
- Testwerkzeuge bereit
- Testobjekt in Testumgebung einsatzbereit
- Testdaten bereit
Ausgangskriterien
- erreichter Testumfang: bsp TestÜberdeckung, überdeckte Anforderungen...
- erreichte Produktqualität: bsp. Fehlerschwere, Zuverlässigkeit, Fehlerdichte
- verbleibendes Risiko: nicht gelaufene Tests, nicht behobene Defekte...
- wirtschaftliche Rahmenbedingungen: Kostenrahmen, Projektrisiken, Liefertermin, Marktchancen
Wahl der Teststrategie
- Einflussfaktoren
- Vorbeugender vs. reaktiver Ansatz
- Analytischer vs heuristischer Ansatz (Erfahrungswissen)
- Testen und Risiko
Risiko
Risiko = Schaden + Schadenswahrscheinlichkeit
Projektrisiken
- Bedeutung
- Beispiele
Projektrisiko sind Risiken, welche die Fähigkeit des Projekts das Produkt abzuliefern bedrohen
bsp:
- Lieferanten-Risiken: Ausfall, Vertragsstreitigkeiten
- Organisationsbezogen: Ressourcenknappheit; Machtpolitische Rangeleien; Zischenmenschliche Probleme
- Technische Risiken: Nicht umsetzbare Anforderungen; Unbekannte Technologien / Werkzeuge / Programmiersprachen (-> Verzögerungen); Schlechte Qualität der Spez
Teststatusbericht
- Testobjekt, Teststufe, Testzyklusdatum
- Testfortschritt: Anz. Tests
- Fehlerstatus: Anz Fehler (neu, offen, korrigiert)
- Risiken
- Ausblick: Planung
- Gesamtbewertung: Subjektiv
Fehlermanagement
- Wichtigster Baustein
Fehlerdatenbank
Fehlerklassifikation
Fehlerschwere + Fehlerbehebungspriorität
Konfigurationsmanagement
- Typische Symptome bei unzulänglichem KM
- Anforderungen an KM
Typische Symptome bei unzulänglichem KM
- Korrekturen werden gegenseitig überschrieben (Entwicker)
- Integrationsarbeiten behindert, da verschiedene Versionen der SW / Werkzeuge verwendet werden
- Fehleranalyse erschwert, da unklar welche SW-Version / Konfiguration eingesetzt wurde
- Test und Testauswertung behindert, da unklar Zuordnung von Testfall zu SW-Version
Anforderungen an KM
- Versionsverwaltung
- Konfigurationsverwaltung
- Statusverfolgung von Fehlern
Zweck / Absichten für Testwerkzeuge
- Verbesserung der Effizienz: statische Analyse
- Bewerkstelligen von Tests: Performance- und Lasttests
- Verbesserung der Zuverlässigkeiten: Vergleich von grossen Datenmengen durch Automatisierung
Zuverlässigkeit
Definiertes Leistungsniveau über einen definierten Zeitraum mit festgelegten Bedinungen halten
Verifizierung vs Validierung
Verifizierung: Prüfung gegen ein vorgängige Spezifikation
Validierung: Prüfung gegen die ursprüngliche Anforderung
Lasttest
vs Performanztest
vs Stresstest
Lasttest: Systemverhalten bei steigender Last
Performanztest: Messung Verarbeitungszeit / Antwortzeit für bestimmte Anwendungsfälle i.R. mit steigender Last
Stresstest: Systemverhalten bei Überlast
Testfälle priorisieren
- Kriterien
- Nutzungshäufigkeit
- Fehlerrisiko
- Wahrnehmung
- Prio der Anforderung
- Wichtige Qualitätsmerkmale
- Komplexität
- Projektrisiko