Software Test - Kapitel 1 Flashcards Preview

Software Test und Software Ergonomie > Software Test - Kapitel 1 > Flashcards

Flashcards in Software Test - Kapitel 1 Deck (56):
1

Was ist eine Fehlhandlung?

Die menschliche Handlung, die zu einem falschen Ergebnis führt.

Bsp.: Missverstehen von Anforderungen oder nicht korrekt codierte Preisberechnung.

2

Was ist ein Fehlerzustand/Defekt?

  • geforderte Funktion wird durch Defekt in Komponente oder System beeinträchtigt
  • Kann zur Laufzeit zur Fehlwirkung einer Komponente oder des Systems führen
  • Bsp.: Fehlerhafter Codeabschnitt

3

Was ist eine Fehlerwirkung (Äußerer Fehler)?

  • Abweichung einer Komponente oder des Systems von der erwarteten Leistung
  • Bsp.: Anzeige eines falsch berechneten Endpreises bei einer Rabattberechnung.

4

Wie ist die Ursachenkette für Fehler?

Fehlerhandling (error) --> Fehlerzustand (defect/bug) --> Fehlerwirkung (failure)

5

Was ist ein Fehler?

  • Oberbegriff für:
    • Fehlerhandlung
    • Fehlerzustand/Defekt
    • Fehlerwirkung
  • Nichterfüllung einer Anforderung
  • Abweichung zwischen Ist- und Soll-Verhalten (beobachtet - erwartet)

6

Testfall = Testvorschrift

Was zeichnet einen Testfall aus?

Durchführung eines Tests muss wiederholbar sein - unabhängig von der ausführenden Person

  • Exakte Vorschrift muss bereitgestellt werden sog. Testvorschrift, Testanweisung, Testprozedur, Testfall

7

Was umfasst ein Testfall?

  • Notwendige Vorbedingungen
  • Menge der Eingabewerte
  • Menge der vorausgesagten Sollwerte
  • Die Prüfanweisung (Eingabe und Sollwerte ablesen)
  • Erwartete Nachbedingung

8

Testfall Attribute

Was beinhaltet ein Testcase?

  • Setup: Vorbedinungen und Herstellung des Eingangszustands
  • Teststeps: Stimulation des TO und Beobachtung/Auswertung der Reaktion
  • Teartdown: Bereinigung und Herstellung eines definierten Endzustands

9

Was definieren Testschritte und Testergebnis?

  • Legen fest, wo, wann, wie Testdaten an das TO übermittelt werden
  • Ist-Werte mit Soll-Werten vergleichen (passed oder failed)

10

Wie unterscheidet sich ein abstrakter von einem konkreten Testfall?

  • Abstrakt: Testfall enthällt generische Testdaten ( meldet sich mit an)
  • Konkret: Testfall enthällt konkrete Testdaten ("Hans Meier" mit Usernamen "hameier"

11

Was ist eine Testspezifikation und was muss Sie enthalten?

  • Dokument, das eine Menge von Testfällen für ein TO spezifiziert.
  • enhält:
    • Test-ID
    • Quelle (Referenz auf abgedeckte Anforderung)
    • Priorität
    • Konfiguration
    • Testziel
    • Vorbedingung
    • Testschritte
    • Testdatenliste
    • Sollreaktionen
    • Prüfvorschrift (Anleitung zur Abfrage der Ist-Werte und Vergleich mit Soll-Werten)
    • Nachbedingung

12

Was ist ein Testobjekt (TO)?

  • Komponente oder System, welches getestet werden soll

13

Was ist Point of Control?

  • Schnittstelle an der TO stimuliert und mit Testdaten versorgt wird

14

Was ist Point of Observation?

  • Schnittstelle an dem Reaktionen und Ausgaben beobachtet werden

15

Was ist ein Testtreiber?

Programm/Werkzeug, dass das TO mit Testdaten versorgt und Ausgaben entgegennimmt

16

Was ist ein Platzhalter/Stellvertreter (engl. Stub)?

Simuliert z. B. noch nicht implementierte Komponenten für Komponenten- und Integrationstests.

17

Was ist ein Testrahmen (test bed)?

Alle Testtreiber und Platzhalter auszuführen + Protokollierungs- und Auswertungsaufgaben.

18

Was ist eine Testumgebung (test environment)?

Gesamtheit aller Hardware- und Sorftwarekomponenten die für die Durchführung und Auswertung der Testfällte notwendig sind.

19

Was ist ein funktionaler Test?

Prüft die Erfüllung einer funktionalen Anforderung (vollständig, korrekt und angemessen).

20

Was ist ein Nicht-funktionaler Test?

Prüft die Erfüllung von nicht-funktionalen Anforderungen (wie gut/schnell/sicher Funktionen erbracht werden).

21

Welche Teststufen gibt es im V-Modell?

(links nach unten)

  • Anforderungsdefinition
  • funktionaler Systementwurf
  • technischer Systementwurf
  • Komponentenspezifikation
  • Programmierung

22

Welche Tests gibt es im V-Modell?

(rechts nach oben)

  • Programmierung
  • Komponententest
  • Integrationstest
  • Systemtest
  • Abnahmetest

23

Was ist eine Komponente?

Kleinste Softwareeinheit die separat getestet werden kann (mit separater Testspezifikation)

24

Was ist ein Komponententest?

Test einer einzelnen Komponente (Bsp.: Methode zur Endpreisberechnung im CarConfigurator)

25

Was sind die Testziele von einem Komponententest?

  • korrekte Funktionalität
  • Robustheit
  • Ressourcenverwendung
  • eher nicht Ziele: nichtfunktionales, z. B. Performance

26

Was ist die Testbasis von Koponententests?

  • Anforderungen an die Komponente
  • Komponentenspezifikation
  • Schnittstelle/API der Komponente
  • Programm-Code der Komponente

27

Was sind Testobjekte von Komponententests?

  • Funktion, Prozedur, Methode
  • Programm-Modul
  • Subsystem und dessen API

28

Welches Know-how wird bei Komponententests benötigt?

  • Programmier-Know-how (Aufrufen der API, Schreiben von Platzhaltern/Stubs, Treibern, Simulatoren,...)
  • Test(entwurf)techniken

29

Welche Vorbedingungen sind bei Komponententests zu schaffen?

  • Komponententestumgebung / Testrahmen (Treiber, Stubs,...)
  • Komponente als Executable
  • oder Source-Code und Compiler

30

Was sind typische Techniken bei Komponententests?

  • White-Box (Anweisungs., Entscheidungsüberdeckung)
  • Black-Box (Äquivalenzklassen, Grenzwertanalyse)

31

Welche Fehler werden bei einem Komponententest gefunden?

  • Funktionale Fehler innerhalb der Komponente
  • Mangelnde Robustheit ggü. falschen Aufrufparametern
  • Performance-Probleme

32

Welche Fehler werden eher nicht gefunden bei Komponententests?

  • Schnittstellenfehler
  • nichtfunktionale Fehler

33

Wie werden Komponententests durchgeführt?

  • In der Praxis werden Komponententest meistens von Entwicklern durchgeführt
  • Gefundene Fehler werden sofort korrigiert
  • und formell(d. h. im Fehlermanagement i.d.R. nicht erfasst

34

Was ist eine Integration?

Prozess der Verknüpfung von Komponenten zu einer Gruppe.

35

Was ist ein Integrationstest?

Test zur Aufdeckung von Schnittstellenfehlern zwischen integrierten Komponenten (Bsp. Schnittstellen zum Betriebssystem oder zwischen Einzelkomponenten).

36

Was sind die Testziele bei Integrationstests?

  • Fehler finden in 
    • Schnittstellen zwischen Komponenten
    • Schnittstellen zum Betriebssystem
    • Dateisystem
    • zur Hardware

37

Was ist die Testbasis bei Integrationstests?

  • Architektur
  • Schnittstellen- und Protokoll-Spezifikation
  • Anwendungsfällt (Use Cases)

38

Was sind die Testobjekte bei Integrationstests?

  • Gruppe von Komponenten
  • Feature bzw. Funktionalität, das/die durch mehr als eine Komponente realisiert ist
  • Datenaustausch zu/mit Drittsystemen

39

Welche Fehler werden bei Integrationstests gefunden?

  • Fehlerhafte Interaktion zwischen Komponenten
  • Abweichende Dateninterpretation duirch versch. Komponenten
  • Schnittstellen Performance u.a. nicht funktionale Fehler

40

Welche Fehler werden eher nicht gefunden bei Integrationstests?

  • Probleme außerhalb der betroffenen Komponenten
  • Anforderung mit Bezug zum Gesamtsystem ggf. nicht erfüllt
  • Schnittstellen externer Systeme werden oft nicht berücksichtigt

41

Welches Know-how wird bei Integrationstest benötigt?

  • Entwickler Know-how sinnvoll (Treiber, Platzhalter)
  • Testtechniken
  • Wissen über Zusammenspiel der Komponenten

42

Welche Vorbedingungen gibt es bei Integrationstests?

  • Ablauffähige (integrierte) Komponenten
  • Ein Testrahmen (evtl. Artefakte des Komponententests verwendbar)
  • Dokumentation über Zusammenspiel der Komponenten

43

Was sind typische Techniken bei Integrationstests?

  • White-Box (Schnittstellen Formate)
  • Black-Box (Äquivalenzklassen, Grenzwerte)

44

Wie ist die Durchführung von Integrationstests?

Durchführung kann auf mehreren Integrationsstufen erfolgen:

  • Komponentenintegrationstest: Testen des Zusammenspiels zweier Komponenten, z. B. SQL-DB mit Web-Frontend
  • Systemintegrationstest: Testen der Integration eines Systems in eine IT-Landschaft, z. B. Test des Datenaustausch mit einer externen Organissation via EDI
  • Integration kommerzieller Standardsoftware

45

Was ist ein System?

Zusammenstellung von Komponenten um eine spezifische Funktion oder eine Menge von Funktionen zu erfüllen.

46

Was ist ein Systemtest?

Test eines integrierten Systems (sicherstellen, dass spezifizierte Anforderungen erfüllt werden).

47

Was sind die Testziele von Systemtests?

Fehler finden im Verhalten des Gesamtsystems bzgl. funktionaler und nicht funktionaler Anforderungen.

48

Was ist die Testbasis von Systemtests?

  • System- und Anforderungsspezifikation
  • Anwendungsfälle (Use Cases)
  • Geschäftsprozessbeschreibungen
  • Wissen und Erfahrung der Stakeholder

49

Was sind Testobjekte bei Systemtests?

  • Integriertes System in einer möglichst betriebsnahen Testumgebung
  • Geschäftsprozesse des voll integrierten Systems
  • Systemkonfiguration und Konfigurationsdaten
  • System-, Anwender-, Betriebshandbücher

50

Was sind typische Techniken bei Systemtests?

  • Black Box Testtechniken
  • nicht funktionaler Test, insb. Performance-Test

51

Welche Fehler werden bei Systemtests gefunden?

  • Funktionale Fehler
  • Konzeptionelle Fehler
  • nicht-funktionale Probleme, die das Gesamtsystem betreffen

52

Welche Fehler werden eher nicht gefunden bei Systemtests?

  • Missverstandene Anwender-Anforderungen
  • Unzureichende oder fehlende Umsetzung implizierter Anforderungen

53

Welches Know-how wird bei Systemtests benötigt?

  • Black-box Testtechniken
  • Domänen Know-How
  • Nicht-funktionale Testtechniken

54

Welche Vorbedingungen werden bei Systemtests benötigt?

  • Vorangegangene Teststufen erfolgreich abgeschlossen
  • Vollständig integriertes System
  • Dokumentation aller Systemanforderungen

55

Wie werden Systemtests durchgeführt?

  • In der Praxis werden Systemtests oft durch unabhängige Testteams durchgeführt.

56

Was ist ein Abnahmetest?

Formales Testen hinsichtlich der Benutzeranforderungen (Bedürfnisse), das durchgeführt wird, um einen Auftraggeber in die Lage zu versetzen, um entscheiden zu können, ob ein System anzunehmen ist oder nicht.

Ein Abnahmetest ist in der Regel ein Systemtest.