Softwaretesting HF

Softwaretesting ZbW

Softwaretesting ZbW


S. B.
Diese Karteikarten bieten einen umfassenden Überblick über Softwaretesting, einschließlich Methoden, Prozessen und Techniken. Sie decken Themen wie Unit-Tests, Testfälle, Abhängigkeitsmanagement und verschiedene Teststrategien ab. Ideal für Entwickler und Tester, die ihre Fähigkeiten im Softwaretesting verbessern und effizientere Testprozesse implementieren möchten.
Karten
95
Lernende
9
Sprache
Deutsch
Kategorie
Informatik
Stufe
Andere
Erstellt / Aktualisiert
17.09.2018 / 26.12.2023

Lernkarten

Was ist Softwaretesting?

Qualität einer Software messen oder sichtbar machen

Welche Vorteile hat Softwaretesting?

durch testing verringern sich die Risiken beim Einsatz der Software, da mögliche Fehler während des Testens aufgedeckt werden

Nenne die Prinzipien des Softwaretestens

1. Testen zeigt die Anwesenheit von Fehlern

2. Vollständiges Testen ist nicht möglich

3. Mit dem testen frühzeitig beginnen

4. Häufung von Fehlern

5. Zunehmende Testresistenz

6. Testen ist abhängig vom Umfeld

7. Trugschluss: Keine Fehler bedeutet ein brauchbares System

Welche Teile beeinhaltet die Testautomatisierung?

Unit Tests

Integration Tests

GUI Tests

Was gilt als Fehler?

- Resultat entspricht nicht der festgelegten, korrekten Situation

- nichterfüllung einer festgelegten Anforderung

Was gilt als Mangel?

- gestellte Anforderung oder berechtigte Erwartung wird nicht angemessen erfüllt

- Beeinträchtigung der Verwendbarkeit bei gleichzeitiger Erfüllung der Funktionalität  oder die Nichterfüllung einer angemessenen Erwartung

Was ist ein Testorakel?

Eine Informationsquelle, ob die Ausgabe eines Programms(oder einer Funktion/Methode) korrekt ist oder nicht

Was kann ein Testorakel sein?

- ein Programm

- eine Dokumentation

- ein dokumentierter Algorithmus

- ein menschlicher Domänenexperte

- eine Art zu sagen, dass die Ausgabe korrekt ist

Nenne die Ursachenkette für Fehler

- Fehlhandlung(error)

- Fehlerzustand(defect)

- Fehlerwirkung(failure)

Was ist eine Fehlhandlung(error)?

- menschliche Handlung z.B. Schreibfehler eines Entwicklers, welcher zu einem falschen Ergebnis führt

Was ist ein Fehlerzustand(defect)?

- inkorrekter Teil eines Programms oder Dokumentes

- z.B. inkorrekte Anweisung oder Datendefinition, welche die Funktion des Produkt beeinträchtigen kann

Was ist eine Fehlerwirkung(failure)?

- Wirkung eines Fehlerzustandes, der bei der Ausführung nach aussen in Erscheinung tritt

- Abweichung einer Komponente oder eines Systems von der erwarteten Lieferung, Leistung oder Ergebnis

Was ist mit der Fehlermaskierung gemeint?

- Fehlerzustand wird durch einen oder mehrere Defekte in anderen Teilen des Programms kompensiert

- Fehlerwirkung tritt erst ein, nachdem die maskierenden Fehlerzustände korrigiert wurden

Was versteht man unter Debugging?

- lokalisieren und beheben eines Defektes

- Fehlerbereinigung/Fehlerkorrektur

- Defekte bzw. Fehlerzustände lokalisieren

Was versteht man unter Testing?

- Fehlerwirkungen, welche auf Defekte hinweisen systematisch aufdecken

- Fehlerwirkungen nachweisen

- Qualität bestimmen

- Vertrauen in das Programm erhöhen

- Analysieren des Programms oder Dokumente, um Fehlerwirkungen vorzubeugen

Nach was wird eine Testmethode benannt?

- nach der Methode, welche zur Spezifikation oder Durchführung der Tests eingesetzt wird

Worin unterscheidet man im Testumfang?

- es wird lediglich nach dem Unfang unterschieden(z.B. Volltest, Regressiostest)

Zwischen welchen Qualitätsmerkmalen wird unterschieden?

- Funktionale

- Nicht-Funktionale

Welches sind Funktionale Qualitätsmerkmale?

- Funktionalität

Welches sind Nicht-Funktionale Qualitätsmerkmale?

- Zuverlässigkeit

- Benutzbarkeit

- Effizienz

- Änderbarkeit

- Übertragbarkeit

Welche Vorteile hat ein Testing Framework?

- bietet für die meisten Fragen eine Lösung

- enthält Grundfunktionalitäten für das leichte und strukturierte schreiben von Tests

- enthält Test-Runner für das Ausführen von UT

- enthält Test-Runner für das Auswerten von UT

Was sind die Ziele eines Testing Frameworks?

- Code Qualität verbessern

- tieferes Verständnis für funktionalte Anforderungen von Klassen und Methoden aufbauen

Was ist ein Unit Test?

Das testen, der funktionalen Einzelteile von Programmen auf ihre korrekte Funktionalität

Nenne einige Eigenschaften eines Unit Tests

- wird fast immer mithilfe eines UT Frameworks erstellt

- einfach zu schreiben und schnell in der Ausführung

- vertrauenswürdig, lesbar und wartbar

- konsistente Ergebnisse, solange Produktionscode nicht geändert wird

Was ist eine Unit of Work?

- Summe aller Aktionen, welche zwischen dem Aufruf einer öffentlichen Methode innerhalb eines Systems und einem erkennbaren Endresultat beim Test dieses Systems stattfinden

Für was steht SUT und was wird damit gemeint?

- SUT = System under Test oder auch Class under Test (CUT) / Code under Test

- Dass was man testet wird als SUT bezeichnet

Was ist der Grundsatz eines Unit Tests?

- nur gute schreiben, da schlechte Zeitverschwendung sind

Nenne einige Eigenschaften eines guten Unit Tests

- automatisiert und wiederholbar

- einfach zu implementieren

- auch in Zukunft noch relevant

- Möglichkeit für jeden, den Test auf einen Knopfdruck laufen zu lassen

- Schnell

- Konsistente Resultate (immer gleichen Wert als Rückgabe)

- Volle Kontrolle über getestete Unit

- Komplett isoliert (läuft unabhängig von anderen Tests)

- Bei Fehlschlag, einfach zu erkennen, was erwartet wurde und wie das Problem lokalisiert werden kann

Nenne einen Nachteil eines Integrationstests

- Integrationstests erhöhen das Risiko des testens zu vieler Dinge auf einmal

Nenne einige Eigenschaften eines Integrationtests

- nicht schnell

- nicht konsistent

- beeinhalten eine oder mehrere Abhängigkeiten der zu testenden Unit

Wie sieht die Prioritätenverteilung eines Integrationtests aus?

1. Zuverlässigkeit

2. Effizienz

3. Änderbarkeit

Welche Teile umfasst der Fundamentale Testprozess?

- Planung und Steuerung

- Analyse und Design

- Realisierung und Durchführung

- Auswertung und Bericht

- Abschluss

Was gehört zur Planung im Fundamentalen Testprozess?

- Zielsetzung der Tests

- Ressourcen einplanen

- Mitarbeiter und Zeit planen

- Hilfsmittel/Geräte

- Schulungen

- Teststrategie

- Priosetzung anhand Risikoanalyse

- Testende/kriterien festlegen

Was gehört zur Steuerung im Fundamentalen Testprozess?

- Fortwährende Überwachung der Testaktivitäten

- Abweichungen zur Planung berichten

- Durchführung von Aktivitäten, dass die Ziele dennoch erreicht werden können

Was gehört zur Testanalyse im Fundamentalen Testprozess?

- Testbarkeit prüfen

- Testbarkeit feststellen

- Risiko berücksichtigen

- Traceability/Rückverfolgbarkeit sicherstellen

Was gehört zum Testdesign im Fundamentalen Testprozess?

- Spezifikation der Testfälle in zwei Schritten: 

Logische Testfälle definieren, welche in konkrete Testfälle abgeleitet werden können

pro Testmethode werden die logischen Testfälle anhand der Testbasis zugewiesen

- Pro Testfall die Ausgangslage und das Erwartete Verhalten festlegen

Was gehört zur Testrealisierung und Durchführung im Fundamentalen Testprozess?

- Testinfrastruktur im Detail realisieren

- von logischen Testfällen zu konkreten Testfällen

- Hauptfunktionen zuerst testen(smoke-test)

- durchführung der Tests exakt protokollieren

- Protokollierung von unterschieden zwischen tatsächlichen und vorausgesagtem Ergebnis

- Wichtige Testfälle zuerst

Was gehört zur Testauswertung und Bericht im Fundamentalen Testprozess?

- Aktivität im Testprozess bewerten

- Kriterien für das Testende überprüfen

- Metriken mit Testwerkzeugen ermitteln

- Dead Code kann 100%igen Test des Testobjekts verhindern

- Fehlerfindungsrate als Testendkriterium

Was gehört zum Abschluss im Fundamentalen Testprozess?

- Analyse des Berichts der letzten Phase

- Archivierung der Testmittel für spätere Releases

Was bringt ein Szenario im bezug auf Unit of Work?

- Unterscheidung der Tests einer Unit of Work

Lernen