5. Testmanagement Flashcards

1
Q

Grad der Unabhängigkeit

A
  • kein unabhängiger Tester. Entwickler testen ihren eigenen Code
  • unabhängige Tester innerhalb des Entwicklungsteams
  • unabhängiges Testteam oder -gruppe innerhalb der Organisation, das/die dem Projektmanagement oder dem Management der Linienorganisation berichtet
  • unabhängige Tester aus der Fachabteilung oder Anwendergruppe
  • unabhängige Testspezialisten für spezifische Testarten, wie Tester für Benutzerfreundlichkeit, Sicherheits- oder Konformitätstester (die ein Softwareprodukt gegen Standards und gesetzliche Vorschriften prüfen)
  • unabhängige Tester, ausgegliedert oder aus externen Organisationen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Vorteile und Nachteile

von

Unabhängigkeit

A

Vorteile:

+ Unabhängige Tester sehen andere und unterschiedliche Fehler und sind unvoreingenommen.

+ Ein unabhängiger Tester kann Annahmen verifizieren, die während der Spezifikation und Implementierung des Systems gemacht wurden.

Nachteile:

  • Tester sind vom Entwicklungsteam isoliert (wenn als vollkommen unabhängig behandelt).
  • Die Entwickler können das Verantwortungsgefühl für Qualität verlieren.
  • Unabhängige Tester können als Engpass gesehen werden oder die Schuld für Verzögerungen
    zugewiesen bekommen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Aufgaben eines Testmanagers

A
  • Koordination der Teststrategie und Planung mit Projektleitern und anderen Beteiligten
  • Erstellen oder Prüfen der Teststrategie für das Projekt und einer Testrichtlinie für die Organisation
  • Einbringen der Testperspektive in andere Projektaktivitäten, beispielsweise die Integrationsplanung
  • Planen der Tests – unter Beachtung des Kontexts und mit Verständnis von Testzielen und Risiken – einschließlich
    • Auswahl der Testvorgehensweise
    • Schätzen der Zeit
    • des Aufwands und
    • der Kosten des Testens
    • Ressourcenbeschaffung
    • Definition der Teststufen
    • Testzyklen und
    • Planen des Abweichungsmanagements
  • Initiieren der Spezifikation, Vorbereiten, Implementieren und Durchführen von Tests, Überwachen der Testergebnisse und Prüfen der Endekriterien
  • Anpassen der Planung an Testergebnisse und Testfortschritt (manchmal in den Statusberichten dokumentiert) und Einleiten aller erforderlichen Maßnahmen bei Problemen
  • Aufbau eines angemessenen Konfigurationsmanagements der Testmittel zur Rückverfolgbarkeit
  • Einführen passender Metriken zum Messen des Testfortschritts und zur Bewertung der Qualität des Testens und des Produkts
  • Entscheidung, was zu welchem Grad und wie automatisiert werden sollte
  • Auswahl der Werkzeuge zur Testunterstützung und Organisation sämtlicher Werkzeugschulungen für Tester
  • Entscheiden über die Implementierung der Testumgebung
  • Schreiben von Testabschlussberichten auf der Grundlage der Informationen, die während des Testens gesammelt werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Aufgaben eines Testers

A
  • Mitarbeit an und Prüfung von Testkonzepten
  • Analyse, Prüfung und Bewertung von Benutzeranforderungen, Spezifikationen und Modellen im Hinblick auf Testbarkeit
  • Erstellen von Testspezifikationen
  • Aufbau der Testumgebung (oft in Abstimmung mit System- und Netzwerkadministration).
  • Vorbereiten oder Anfordern von Testdaten
  • Implementieren von Tests auf allen Stufen, Durchführen der Tests und ihre Protokollierung, Auswerten der Testergebnisse und Dokumentation der Abweichungen von erwarteten Ergebnissen
  • Einsetzen von Testadministrations- oder Testmanagement- und Testüberwachungswerkzeugen wie gefordert
  • Automatisieren von Tests (kann durch einen Entwickler oder Testautomatisierungsexperten unterstützt werden)
  • Messen der Leistungsfähigkeit/Performanz von Komponenten und Systemen (wenn zutreffend)
  • Prüfen der Tests, die von anderen entwickelt wurden

Typische Tester auf der Komponenten- und Integrationsstufe sind Entwickler, auf der Abnahmeteststufe Fachexperten und Anwender, und für den Abnahmetest auf operativer Ebene der Betreiber.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Testplanung

A

Die Planung kann in einem Mastertestkonzept und in separaten Testkonzepten für Teststufen, wie dem Systemtest und dem Abnahmetest, dokumentiert werden.

Die Planung wird durch

  • die Testrichtlinie der Organisation,
  • den Testumfang,
  • die Ziele,
  • Risiken,
  • Einschränkungen,
  • Kritikalität,
  • Testbarkeit und
  • Verfügbarkeit von Ressourcen

beeinflusst.

Je weiter sich die Projekt- und Testplanung entwickelt, desto mehr Informationen werden verfügbar und desto mehr Details können im Plan berücksichtigt werden.

Testplanung ist eine kontinuierliche Aktivität und wird in allen Lebenszyklusprozessen und -aktivitäten durchgeführt. Feedback aus den Testaktivitäten wird genutzt, um sich ändernde Risiken zu erkennen, so dass die Planung angepasst werden kann.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Testplanungsaktivitäten

A
  • Festlegen des Umfangs und der Risiken sowie Identifizierung der Testziele
  • Definieren des allgemeinen Testansatzes, einschließlich Definition der Teststufen und der Eingangs- und Endekriterien
  • Koordinieren und Integrieren der Testaktivitäten in die Aktivitäten des Softwarelebenszyklus (Beschaffung, Bereitstellung, Entwicklung, Betrieb und Wartung)
  • Entscheiden, was zu testen ist, welche Rollen welche Testaktivitäten ausführen werden, wann und wie die Testaktivitäten auszuführen sind und wie die Testergebnisse bewertet werden
  • Testanalyse und Entwurfsaktivitäten planen
  • Testimplementierung, -ausführung und -bewertung planen
  • Ressourcen den verschiedenen definierten Aufgaben zuordnen
  • Definieren des Umfangs, des Detaillierungsgrads, der Struktur und der Vorlagen für die Testdokumentation
  • Selektieren der Metriken zur Überwachung und Steuerung der Testvorbereitung und -durchführung, Fehlerzustandsbehebung und Risikofaktoren
  • Bestimmen des Detaillierungsgrads für Testablaufspezifikationen, um genügend Informationen in Hinblick auf eine reproduzierbare Testvorbereitung und -durchführung zu liefern
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Testeingangskriterien

A

Typische Eingangskriterien:

  •  Verfügbarkeit und Einsatzbereitschaft der Testumgebung
  •  Bereitschaft der Testwerkzeuge in der Testumgebung
  •  Verfügbarkeit des testbaren Codes
  •  Verfügbarkeit der Testdaten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Endekriterien

A

Typische Endekriterien:

  • Intensitätsmaße, beispielsweise Codeüberdeckung, Funktionalität oder Risiko
  • Schätzungen über Fehlerdichte oder Zuverlässigkeitsmaße
  • Kosten
  • Verbleibende Risiken, beispielsweise nicht behobene Fehlerzustände oder fehlende Testüberdeckung in bestimmten Bereichen
  • Zeitpläne, beispielsweise basierend auf dem Termin der Markteinführung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Ansätze für die Schätzung

des

Testaufwands

A

Der metrikenbasierte Ansatz: Schätzung des Testaufwands auf der Basis von Metriken früherer oder ähnlicher Projekte oder auf der Basis von typischen Werten

Der expertenbasierte Ansatz: Schätzung des Aufwands für die einzelnen Aufgaben durch die Verantwortlichen für diese Aufgaben oder durch Experten

Sobald der Testaufwand geschätzt ist, können Ressourcen identifiziert und ein Zeitplan erstellt werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Testaufwand

Einflussfaktoren

A
  1. Charakteristiken des Produkts
    1. Qualität der Spezifikation und anderer Informationen, die für
      das Testmodell herangezogen werden (d.h. die Testbasis)
    2. Größe des Produkts
    3. Komplexität der Problembereiche
    4. Anforderungen an Zuverlässigkeit und Sicherheit und
    5. Anforderungenan die Dokumentation
  2. Charakteristiken des Entwicklungsprozesses:
    1. Stabilität der Organisation
    2. benutzte Werkzeuge
    3. Testprozess,
    4. Kenntnisse der involvierten Personen und
    5. Zeitdruck
  3. Testergebnisse:
    1. Anzahl der Fehlerzustände und
    2. Menge der erforderlichen Nacharbeiten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Teststrategie, Testvorgehensweise

A
  • Die Testvorgehensweise ist die Umsetzung der Teststrategie in einem spezifischen Projekt.
  • Die Testvorgehensweise wird in den Testkonzepten und im Testentwurf definiert und verfeinert.
  • Sie enthält typischerweise die Entscheidungen, basierend auf den (Test-) Projektzielen und der Risikoanalyse.
  • Sie ist der Ausgangspunkt für die Planung des Testprozesses, für die Auswahl der Testentwurfsverfahren und der durchzuführenden Testarten, sowie für die Spezifikation der Eingangskriterien und
    Endekriterien.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Faktoren

für die

Auswahl der Testvorgehensweise

A

Die gewählte Testvorgehensweise ist abhängig vom Kontext.

Faktoren

  1. Risiken,
  2. Gefahren und Sicherheit,
  3. verfügbare Ressourcen und Fähigkeiten,
  4. die Technologie,
  5. Art des Systems (z.B. maßgeschneidert oder kommerzielle COTS-Software),
  6. Testzielen
  7. Vorschriften
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Typische Testvorgehensweisen

A

Analytische Vorgehensweisen, wie das risikoorientierte Testen, in dem das Testen auf die Bereiche der größten Risiken ausgerichtet ist

Modellbasierte Vorgehensweisen wie das stochastische Testen, das statistische Informationen über Ausfallraten (beispielsweise Zuverlässigkeitswachstumsmodelle) oder Systembenutzung (beispielsweise Benutzungsprofile) nutzt

Methodische Vorgehensweisen wie das ausfallbasierte (einschließlich intuitiver Testfallermittlung und Fehlerangriff), erfahrungsbasierte, checklistenbasierte und qualitätsmerkmalbasierte Testen

Prozess- oder standardkonforme Vorgehensweisen, spezifiziert durch Industriestandards, oder die verschiedenen agilen Methoden

Dynamische und heuristische Vorgehensweisen, wie das explorative Testen, bei dem das Testen weniger vorgeplant ist und stärker auf Ereignisse reagiert und Durchführung und Auswertung parallel laufen

Beratende Vorgehensweisen, in denen die Testüberdeckung primär durch Hinweise und Beratung von Technologie- und/oder Geschäftsbereichsexperten außerhalb des Testteams getrieben wird

Wiederverwendungsorientierte Vorgehensweisen, bei denen man vorhandene Tests und Testumgebungen (aus früheren Projekten), umfangreiche Automatisierung von funktionalen Regressionstests
und Standardtestsuiten als Ausgangsbasis übernimmt. Ziel ist, die Tests
schnell und pragmatisch aufzusetzen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Testfortschrittsüberwachung

A

Das Ziel der Testfortschrittsüberwachung ist es, Feedback und Übersicht über Testaktivitäten zu liefern.

Zu überwachende Informationen können manuell oder automatisiert gesammelt werden. Sie können herangezogen werden, um Endekriterien wie Testüberdeckung zu messen sowie den Fortschritt gegen den Zeitplan und gegen das Budget zu beurteilen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Testfortschrittsüberwachung

A
  • Prozentsatz der durchgeführten Arbeiten in der Testvorbereitung (oder Prozentsatz der vorbereiteten geplanten Testfälle)
  • Prozentsatz der durchgeführten Arbeiten in der Vorbereitung der Testumgebung
  • Testfalldurchführung (z.B. die Anzahl der durchgeführten/nicht durchgeführten Testfälle und der bestandenen/nicht bestandenen Testfälle)
  • Fehlerzustandsinformationen (z.B. Fehlerdichte, gefundene und behobene Fehlerzustände, Ausfallrate und Fehlernachtestergebnisse)
  • Testüberdeckung der Anforderungen, Risiken oder des Codes
  • subjektives Vertrauen der Tester in das Produkt
  • Daten der Testmeilensteine
  • Testkosten, inklusive Kosten im Vergleich zum Nutzen durch das Auffinden des nächsten Fehlerzustands oder für den nächsten Testdurchlauf
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Testberichterstattung

A

Testberichterstattung beschäftigt sich mit der Zusammenfassung der Informationen über die Testaktivitäten, einschließlich:

  • was während des Testzeitraums passierte, z.B. zu Zeitpunkten, an denen Endekriterien erfüllt wurden
  • analysierte Informationen und Metriken zur Unterstützung von Empfehlungen und Entscheidungen über zukünftige Aktivitäten, wie eine Beurteilung der verbleibenden Fehlerzustände, die ökonomischen Vorteile fortgesetzten Testens, offen stehende Risiken und der Grad des Vertrauens in die getestete Software
17
Q

Testberichterstattung

Beurteilung

A

Metriken sollten während des Testens und am Ende einer Teststufe zur Beurteilung folgender Aspekte gesammelt werden:

  •  Angemessenheit der Testziele für die Teststufe
  •  Angemessenheit des gewählten Testvorgehens
  •  Effektivität des Testens in Relation zu den Zielen
18
Q

Teststeuerung

A

Teststeuerung beschreibt sämtliche Führungs- oder Korrekturmaßnahmen, die auf Grund gesammelter oder berichteter Informationen und Metriken ergriffen werden. Maßnahmen können jede Testaktivität betreffen und können jede andere Softwarelebenszyklusaktivität oder -aufgabe beeinflussen.

Beispiele von Maßnahmen zur Teststeuerung:

  • Entscheidungsfindung basierend auf Informationen aus der Testüberwachung
  • Repriorisierung von Tests, wenn identifizierte Risiken auftreten (z.B. verspätete Lieferung der Software)
  • Änderung des Testzeitplans aufgrund der Verfügbarkeit oder Nichtverfügbarkeit der Testumgebung
  • Setzen eines Eingangskriteriums mit der Maßgabe, dass Fehlerbehebungen durch einen Entwickler nach zu testen sind, bevor die Software an die nächste Teststufe übergeben wird
19
Q

Konfigurationsmanagement

A

Für das Testen kann das Konfigurationsmanagement sicherstellen, dass:

  • alle Teile der Testmittel identifiziert und einer Versionskontrolle unterworfen sind sowie Änderungen verfolgt und zueinander und zu den Entwicklungseinheiten (Testobjekten) in Beziehung gesetzt werden, so dass die Rückverfolgbarkeit während des gesamten Testprozesses oder auch des gesamten Produktlebenszyklus erhalten werden kann
  • alle identifizierten Dokumente und Entwicklungsgegenstände eindeutig in der Testdokumentation referenziert werden.

Das Konfigurationsmanagement unterstützt den Tester, die Testobjekte, Testdokumente, Tests und den/die Testrahmen eindeutig zu identifizieren (und zu reproduzieren).

20
Q

Risiko

A

Risiko kann definiert werden als die Eintrittswahrscheinlichkeit eines Ereignisses, einer Gefahr, Bedrohung oder Situation, die zu unerwünschten Konsequenzen oder einem potenziellen Problem führen.

Die Höhe des Risikos wird bestimmt durch die Wahrscheinlichkeit des Eintritts und die Auswirkung eines unerwünschten Ereignisses (Schaden, der aus dem Ereignis resultiert).

21
Q

Projektrisiken

A
  1. Organisatorische Faktoren
  2. Technische Aspekte
  3. Lieferantenaspekte
22
Q

Projektrisken

Organisatorische Faktoren

A
  • Qualifikation, Schulung und Mitarbeiterengpässe
  • Personalaspekte
  • politische Aspekte wie
    • Probleme mit Testern, die ihre Anforderungen und Ergebnisse kommunizieren
    • Versagen des Teams bei der Verfolgung von Informationen, die durch Testen und in Reviews gefunden werden (z.B. fehlende Verbesserung der Entwicklungs- und Testpraktiken)
  • unangemessene Einstellung gegenüber oder Erwartung an das Testen (wenn beispielsweise das Finden von Fehlerzuständen beim Testen nicht als wertvoll betrachtet wird)
23
Q

Projektrisken

Technische Aspekte

A
  • Probleme bei der Definition der richtigen Anforderungen
  • Ausmaß, in dem Anforderungen unter den gegebenen Randbedingungen nicht erfüllt werden können
  • nicht rechtzeitig verfügbare Testumgebung
  • verspätete Datenkonvertierung, Migrationsplanung und -entwicklung sowie verspätete Tests der Datenkonvertierung/Migrationswerkzeuge
  • geringe Qualität des Designs, des Codes, der Konfigurationsdaten, Testdaten und der Tests
24
Q

Projektrisken

Lieferantenaspekte

A
  •  Versagen einer dritten Partei
  •  Vertragsaspekte
25
Q

Produktrisiken

A

Mögliche Ausfallbereiche (unerwünschte zukünftige Ereignisse oder Gefahren) in der Software oder dem System werden als Produktrisiken bezeichnet, da sie ein Risiko für die Qualität des Produktsdarstellen. Dazu gehören:

  • gelieferte fehleranfällige Software
  • Potenzial, dass die Software/Hardware einem Individuum oder einer Firma Schaden zufügen könnte
  • schlechte Softwareeigenschaften (z.B. fehlende/mangelhafte Funktionalität, Zuverlässigkeit, Benutzbarkeit und Performanz)
  • schlechte Datenintegrität und -qualität
  • Software, die ihre beabsichtigten Funktionen nicht erfüllt
26
Q

Risiken und Testen

A

Risiken werden herangezogen, um zu entscheiden, in welchem Bereich mit dem Testen begonnen wird und welche Bereiche intensiver getestet werden;

Testen wird eingesetzt, um das Risiko oder den Schaden eines unerwünschten Effekts zu reduzieren.

Produktrisiken sind ein spezieller Risikotyp für den Erfolg eines Projekts.

Als Aktivität der Risikoüberwachung liefert das Testen Rückmeldungen über das verbleibende Risiko, indem es die Effektivität
der Behebung kritischer Fehlerzustände und von Notfallplänen misst.

27
Q

Nutzung der identifizierten Risiken

beim Testen

A

Bei einem risikoorientierten Testvorgehen können die identifizierten Risiken genutzt werden, um:

  • einzusetzende Testverfahren zu bestimmen
  • auszuführenden Testumfang zu bestimmen
  • Testen zu priorisieren mit dem Ziel, die kritischen Fehlerzustände so früh wie möglich zu finden
  • zu bestimmen, ob zusätzlich zum Testen weitere Tätigkeiten zur Risikoreduktion notwendig sind
28
Q

Risikoorientiertes Testen

A

Risikoorientiertes Testen nutzt das Wissen und die Kenntnisse der Stakeholder, um Risiken zu identifizieren, sowie entsprechende Teststufen zur Risikobehandlung zu bestimmen.

Risikomanagement –> Ansatz für:

  • Bewertung (und regelmäßige Neubewertung) dessen, was an Fehlern auftreten kann (Risiken)
  • Festlegung, welche Risiken reduziert werden müssen
  • Implementierung von Maßnahmen zur Behandlung dieser Risiken
29
Q

Fehler- und Abweichungsmanagement

A

Da eines der Ziele des Testens das Finden von Fehlerzuständen ist, müssen Unterschiede zwischen aktuellen und erwarteten Ergebnissen als Abweichung aufgezeichnet werden.

Eine Abweichung muss untersucht werden. Sie kann sich als Fehlerzustand erweisen.

Angemessene Maßnahmen sollten definiert sein, um Abweichungen und Fehlerzustände zu beseitigen.

Abweichungen und Fehlerzustände sollten von der Entdeckung und Klassifizierung bis hin zur Korrektur und Überprüfung der Lösung verfolgt werden.

Um alle Abweichungen bis zum Abschluss zu verwalten, sollte die Organisation einen Fehler- und Abweichungsmanagementprozess sowie Regeln für die Klassifizierung etablieren.

30
Q

Ziele von Abweichungsberichten

A
  1. Für die Entwickler und andere Parteien liefern sie Hinweise, um nach Bedarf die Identifikation, Isolation und Korrektur zu ermöglichen.
  2. Für den Testmanager sind sie ein Hilfsmittel zur Verfolgung der Systemqualität im Test und des Testfortschritts.
  3. Sie liefern Hinweise zur Testprozessverbesserung.
31
Q

Informationen

im

Abweichungsbericht

A
  • Meldungsdatum, meldende Organisation und Autor
  • IST- und erwartete Ergebnisse
  • Identifikation des Testobjekts (Konfigurationsobjekt) und der Testumgebung
  • Software- oder Systemlebenszyklusprozess, in dem die Abweichung beobachtet wurde
  • Beschreibung der Abweichung, um Reproduzierbarkeit und Behebung zu ermöglichen (einschließlich Protokoll, Datenbank-Dumps oder Screenshots)
  • Umfang und Grad der Auswirkung auf Stakeholder-Interessen
  • Klassifizierung der Schwere der Auswirkung auf das System
  • Dringlichkeit/Priorität für die Behebung
  • Status der Abweichung (z.B. offen, zurückgestellt, dupliziert, wartet auf Behebung, Behebung wartet auf Fehlernachtest oder geschlossen)
  • Schlussfolgerungen, Empfehlungen und Freigaben
  • globale Punkte, beispielsweise andere Bereiche, die durch eine Änderung aufgrund der Abweichung beeinflusst sein könnten
  • Änderungshistorie, was von Projektteammitgliedern im Zusammenhang mit der Abweichung zur Isolation, Behebung und Bestätigung der Behebung durchgeführt wurde
  • Referenzen einschließlich der Testfallspezifikations-ID, welche das Problem aufdeckte