Testkonzept - Teststufe Funktionstest

Eine Funktion bezeichnet eine erfolgreich realisierte Fähigkeit eines Produktes oder einer Komponente eine fachliche Aufgabe selbständig durch den Fachbereich online oder automatisch im Rahmen eines ausgeführten Batchlaufs abschließend lösen zu können.

Eine Funktionalität ist von einer Einzelfunktion (Unterprogramm) indem abzugrenzen, dass typischerweise zum Ausführen einer oder mehreren Aufgaben in der Komponente viele verschiedene Einzelfunktionen angeboten werden.
Die Ergebnisse des Funktionstests sind zu dokumentieren.

Ein funktionaler Test hat die Aufgabe den Erfüllungsgrad von funktionalen Anforderungen zu überprüfen. Funktionale Anforderungen beschreiben die Fähigkeiten eines Systems, die ein Anwender erwartet, um mit Hilfe des Systems ein fachliches Problem zu lösen. Die Anforderungen werden hierbei aus den zu unterstützenden Geschäftsprozessen und den Prozess- Ablaufbeschreibungen des zur Nutzung vorgesehenen Systems abgeleitet.
Der Funktionstest beinhaltet somit das Testen einzelner Funktionen und soll den Nachweis erbringen, dass alle fachlichen Anforderungen – die an die Anwendung gestellt waren - korrekt umgesetzt wurden.
Ein funktionaler Test kann auch in der Form eines dynamischen Tests durchgeführt werden. Hier werden die Testfälle unter Verwendung der funktionalen Spezifikation des Testobjekts hergeleitet. Die Vollständigkeit der Prüfung (Überdeckungsgrad) kann anhand der funktionalen Spezifikation bewertet werden. Mögliche Testaufgaben könnten die Prüfungen einer korrekten Verarbeitung von fachlich richtigen und fachlich bzw. formal falschen Eingaben zum Gegenstand haben.

Negativ Test

Unter einen Negativtest versteht man einen funktionalen Testfall mit Eingabewerten, die laut Spezifikation des Testobjekts unzulässig sind. Das Testobjekt sollte robust reagieren, in dem es die Werte abweist und eine geeignete Ausnahmebehandlung durchführt.

Ein Negativtest soll zeigen, dass ein Softwaresystem oder eine Komponente nicht funktioniert. Bei dieser Testvorgehensweise wird mit ungültigen Eingabewerten oder Ausnahmen getestet.

Ziele der Teststufe

Der Funktionstest soll den Nachweis erbringen, dass die fachlichen Anforderungen

an die Anwendung korrekt umgesetzt wurden. Der Funktionstest beinhaltet das

Testen einzelner Funktionen. Eine Funktion ist eine fachlich abgeschlossene Aufgabe, die selbständig durch den Fachbereich (Online) bzw. automatisch (Batch) ausgeführt werden kann. Dabei ist es unerheblich wie die Funktionen DV-technisch realisiert sind.

Die Teststufe Funktionstest sollte nachhaltig vom Fachbereich vorbereitet und begleitet werden, weil die Testfälle aus fachlicher Sicht zu erstellen sind. Um die Testvorbereitung, Testausführung und Testauswertung zeitlich unabhängig voneinander zu ermöglichen, sollte der Funktionstest von einem Testteam durchgeführt werden, das sich ausschließlich mit der Abwicklung des Tests befasst.
Die gesamte Vorbereitung des Funktionstests, basierend auf den fachlichen Vorgaben und den logischen und physischen Datenmodellen (Fachkonzept), sollte parallel zur Erstellung des DV-Konzeptes und der Realisierung erfolgen, um konzeptionelle Abweichungen frühzeitig aufzudecken. Die Auswahl einer bestimmten Technik, bzw. der Methode einer Technik ist ausschlaggebend für den Abdeckungsgrad, der erreicht werden kann.

Testobjektabgrenzung

Testobjekte des Funktionstests sind einzelne fachliche Funktionen. Die Testobjekte sind aus dem Fachkonzept bzw. der Aufgabenstellung abzuleiten. Um Redundanzen zu vermeiden, kann die DV-technische Modularisierung berücksichtigt werden. Grundsätzlich ist jede fachliche Funktion ein Testobjekt. Abweichungen von der Regel können sich ergeben um die Handhabbarkeit der Testobjekte bei der Testdurchführung sicherzustellen.
Sämtliche Testobjekte in dieser Teststufe sind selbständige Testeinheiten und können folglich auch zeitlich unabhängig voneinander getestet werden. Diese unabhängigen Testobjekte bieten auch einen großen Vorteil für die Wartung, da sich so der Aufwand des Funktionstests auf die Untersuchung der geänderten Testobjekte beschränkt.

Risikoanalyse

Das Risiko kann generell methodisch, aber auch über Erfahrungswerte ermittelt werden. Die gefundene Risiko-/Komplexitätsklasse liefert nur einen Anhaltpunkt auf die zu verwendende Testmethodik und kann durch den Verantwortlichen geändert werden.
Für die Bewertung des Risikos wird eine Kategorisierung der Testobjekte nach Kritikalitäten vorgenommen. Folgende Bewertungskriterien werden für die Beurteilung der Kritikalität zugrunde gelegt.

Schaubild: Einzel-Kriterien für die Risikobewertung im Funktionstest

Einzelkriterium

Bewertung Testobjekt

Hoch

Mittel

Gering

Lebensdauer

> 6 Jahre

3 - 6 Jahre

< 3 Jahre

Außenwirkung

groß

mittel

gering

Einsatzbreite

unternehmensweiter Einsatz

mehrere

Organisationseinheiten

Eine

Organisationseinheit

Einsatzintensität

hoch

mittel

gering

Bedeutung für Unternehmen

zwingend erforderlich

mittel

nice to have

Abhängigkeit zu anderen

Anwendungssystemen

Vorgänger und/oder

Nachfolger mehrerer

Anwendungen

Vorgänger und/oder

Nachfolger einer

Anwendung

keine Abhängigkeit

Schnittstellen

Nutzung einer gemeinsamen

Datenbasis

Übergabeschnittstellen

keine Schnittstelle

zu anderen

Anwendungen

Schadensrisiko bei

Ausfall/Störung

Hoch

mittel

niedrig

Maximale Ausfallzeit

< 1 Std

< 4 Std

< 24 Std

Für jedes Testobjekt ist eine Bewertung der genannten Punkte durchzuführen, die Auswertung erfolgt nach folgenden Regeln:

Schaubild: Regeln für die Gesamtbewertung des Risikos für Testobjekte im Funktionstest

Testobjekt-Kritikalität

Bewertungsregel

A

hoch

Mindestens 4 Einzelkriterium hat den Wert hoch

B

mittel

Mindestens 2 Einzelkriterien haben den Wert HOCH und 3 Einzelkriterien

oder

Mindestens 1 Einzelkriterium hat den Wert HOCH und 4 Einzelkriterien haben den Wert MITTEL

oder

Mindestens 5 Einzelkriterien haben den Wert MITTEL

C

gering

Alle übrigen Kombinationen

Die Kritikalität bestimmt die Testmethode des Testobjektes. Die Ausprägungen der Testverfahren für die Kategorien A, B, C werden bestimmt durch die Festlegung des Testverfahrens im Rahmen der Testkonzeption. Hier wird definiert, welche Form der Testfallermittlung, Testdatendefinition, Testprozedurerstellung, Testausführung und Testauswertung für A-, B- oder C-Testobjekte anzuwenden ist.

Testmethoden

Testfallermittlung

Für den systematischen Test ist eine vollständige und aktuelle Dokumentation in Form von Fach- und DV-Konzept erforderlich. Für den unsystematischen Test (ad-hoc oder intuitive Testfallermittlung) sind Fachkenntnisse der Anwendung erforderlich.
Für den Funktionstest werden folgende Methoden empfohlen (die Methode 10 schließt die Methoden 3-9 ein) - je höher die Skalierungsstufe, um so ausgeprägter die Methode, desto höher ist der erreichte Abdeckungsgrad.

Schaubild: Empfehlungen zur Auswahl der Methoden der Testfallermittlung im Funktionstest (Beispiel)

Nr.

Beschreibung

Kritikalität des Projektes

Abdeckung

Hoch

Mittel

Gering

10

Unzulässige Kombinationen

A

 

 

Hoch

9

Zulässige Kombinationen

 

A

 

Hoch

8

Unzulässige Äquivalenzklassen

B

 

 

Hoch

7

Zulässige Äquivalenzklassen

 

B

 

Mittel

6

Kann- Felder: unzulässiger Wertebereich

 

 

A

Mittel

5

Pflicht- Felder: unzulässiger Wertebereich

 

 

 

Mittel

4

Kann Felder: zulässiger Wertebereich

C

 

B

Mittel

3

Pflicht Felder: zulässiger Wertebereich

 

C

 

Niedrig

2

Intuitive Testfallermittlung

 

 

 

Offen

1

Ad-hoc Testfallermittlung

 

 

C

Offen

Zunächst ist eine Festlegung des (Teil-)Projektrisikos zu treffen, danach ergibt sich aus der Testobjekt-Kritikalität die empfohlene Methode zum Test Bei hochkritischen Projekten, wird für Testobjekte der Kritikalität A die Methode 10 verwendet, bei mittleren Projekten für B-Testobjekte die Methode 4.
Es steht eine Bandbreite von 10 möglichen Skalierungsstufen für Einsatz der Methoden in der Testfallermittlung zur Verfügung unter denen ausgewählt werden kann.
Die Stufen 1 und 2 werden für unsystematische Testfallermittlung eingesetzt und stellen die risikoreichsten Methoden dar. Empfohlen werden diese nur für Teilprojekte mit geringer Kritikalität und hierbei auch nur für unkritische Testobjekte.
Sobald ein Teilprojekt mit mittlerer Kritikalität bewertet wurde, sollte eine Methode der systematischen Testfallermittlung angewandt werden. Bei der systematischen Testfallermittlung lassen sich 8 Methoden /Skalierungsstufen unterscheiden.

Stufen 3 bis 6: hier werden die Testfälle auf Feldebene mit den Methoden der Äquivalenzklassenanalyse gebildet, jedoch wird das Verfahren eingeschränkt, so dass in Stufe 3 so viele Testfälle gebildet werden, dass zumindest jedes Pflichtfeld aus dem zulässigen Wertebereich abgedeckt wird. In Stufe 4 wird der Umfang der zu betrachtenden Felder um die Kannfelder ergänzt, d.h. über die Testfälle wird sicher gestellt, dass die Positivverarbeitung der Funktionalität zumindest über jedes Feld mindestens einmal mit einem positiven Wert ausgeführt wurde.

Stufen 5 und 6 erweitern den Abdeckungsumfang der Äquivalenzklassenanalyse um Fehlertestfälle, d.h. es wird sichergestellt, dass Pflichtfeld- und Kannfeldprüfungen auf Wertebereichsebene korrekt funktionieren.

Für die Stufen 7 bis 10 wird die Technik der Äquivalenzklassenanalyse vollständig angewendet. In Stufe 7 werden alle positiven Testfälle in der Form ermittelt, dass alle Äquivalenzklassen die zu einer positiven Wirkung führen in Testfällen referenziert sein müssen. In Stufe 8 werden darüber hinaus alle Fehlertestfälle auf Äquivalenzklassenebene getestet, d.h. wenn mehrere Fehlermeldungen im gesamten unzulässigen Wertebereich möglich sind, werden Testfälle für jede negative Verarbeitung abgebildet.
Bei Anwendung der Stufen 9 und 10 werden schließlich auch Kombinationen aus Entscheidungstabellen und deren Wirkungen betrachtet. In Methode 9 werden alle Äquivalenzklassen sowie alle Kombinationen von Äquivalenzklassen, die zu positiven Wirkungen führen, in Testfällen referenziert und ggf. durch die Eliminationsmethode auf eine optimale Anzahl reduziert. In Stufe 10 werden darüber hinaus alle Kombinationen abgebildet, die zu einer negativen Wirkung führen. Das Vorgehen ist unter der systematischen Testfallermittlung zusammengefasst.

Bei der Dokumentation der Testfälle muss die eindeutige Nachvollziehbarkeit und Wiederholbarkeit der Testfälle gewährleistet sein.

Testdatendefinition

Für jedes Testobjekt sollte ein definierter und wiederholbarer Ausgangszustand zu erstellen und zu verwalten sein. Zu diesem Ausgangszustand an Testdaten zählen Sekundärdaten, d.h. alle Bestandsdaten, auf die die zu testende Funktion bei der Verarbeitung zugreift, sowie Primärdaten, also alle Eingabedaten bei Online- Funktionalitäten. Die Testdatendefinition sorgt für die physische Umsetzung der Testfälle in Testdaten. Ein Testfall wird je nach Methode (s. folgende Abbildung) der Testdatendefinition durch ein oder mehrere so genannte Testdatenkombinationen abgebildet.
Die Testdatendefinition setzt voraus, dass die Testfallermittlung für das Testobjekt und die Testdatenorganisation für die Teststufe abgeschlossen sind und das physische Datenmodell, bzw. die physischen Datenstrukturen des Testobjektes zur Verfügung stehen.

Schaubild: Auswahl der Methoden der Testdatendefinition im Funktionstest

Nr.

Beschreibung

Kritikalität des Projektes

Abdeckung

Hoch

Mittel

Gering

5

Abdeckung von Critical-Dates

A

 

 

Hoch

4

Abdeckung von Mittelwerten

 

A

 

Mittel

3

Abdeckung von Grenzwerten

B

 

A

Mittel

2

Abdeckung von Standardwerten

C

B/C

 

Niedrig

1

Ad-hoc Testfallermittlung

 

 

B/C

Offen

Es gibt 5 Methoden in der Testdatendefinition. Die unterste Stufe der Ad-hoc Testdatendefinition bildet die einfachste Form ab und folgt keiner Systematik. Willkürlich werden Werte entsprechend den vorgegebenen Testfällen belegt.

Jede höhere Stufe der Skalierung ist eine Form der systematischen Testdatendefinition. Auch hier gilt wieder, dass entsprechend der Skalierungsstufen die Methoden aufeinander aufbauen, sodass die Sicherheit im Test auch während der Testdurchführung erhöht (oder verringert) werden kann.

Minimalanforderung ist die Abdeckung von Standardwerten (jede weitere Stufe ist als Ergänzung zu sehen). Nächsthöhere Sicherheit bietet die zusätzliche Abdeckung von Grenzwerten, also den Ober- und Untergrenzen eines Feldes, bzw. einer Äquivalenzklasse. Ergänzend dazu kann der Testfall zusätzlich mit Mittelwerten und in der obersten Methode mit sog. Critical Dates belegt werden.

Es gilt: Je höher die Skalierungsstufe, umso elaborierter die Methode und damit die Sicherheit. Bei der Bildung von Ad-hoc- Testdaten ist der Sicherheitsfaktor nicht bewertbar, da er abhängig ist vom Fachwissen und Einfallsreichtum des Testers.

Es wird empfohlen für Teilprojekte mit der Kritikalität hoch die Methode 2, für Testobjekte mit geringer Kritikalität, für Testobjekte mit mittlerer Kritikalität die Methode 3 und für Testobjekte mit hoher Kritikalität die Methode 5 zu wählen.

Für Teilprojekte mit der Kritikalität mittel wird für gering bis mittel-kritische Testobjekte die Abdeckung von Standardwerten empfohlen, für kritische Testobjekte die Abdeckung von Mittelwerten.

In Teilprojekten mit geringer Kritikalität gilt als Empfehlung für Testobjekte mit hoher Kritikalität die Abdeckung von Grenzwerten, für gering bis mittel-kritische Testobjekte ist die ad-hoc Testdatendefinition normalerweise ausreichend.

Testausführung und -auswertung

Für die Testausführung müssen Techniken angewandt werden, die die Testausführung nachvollziehbar, was eine gesetzliche Grundanforderung ist, Re-Test fähig (Bestands- und Bewegungsdaten müssen reproduzierbar sein) und wenn möglich automatisiert ablaufen lassen.

Für die Testausführung gibt es Hilfsmittel für die Testablaufsteuerung, d.h. der gesamte Testablauf kann durch ein Tool unterstützt in einem Schritt ablaufen (z.B. Laden der Datenbank, Ausführung einer Batch-Kette, Sichern der Ergebnisse und Durchführen von Vergleichen). Bei der Ausführung von Online-Funktionalitäten können Capture-/Replay-Tools unterstützen.

Schaubild: Auswahl der Methoden der Testausführung im Funktionstest (Beispiel)

Nr.

Methode

Kritikalität des Projektes

Effizienz

Hoch

Mittel

Gering

5

Capture/ Replay

A

 

 

Hoch

4

Soll-Ist Vergleich

 

A

 

 

3

Sichern der Testergebnisse

B

 

A

Mittel

2

Bereitstellen von Testdaten

C

B/C

 

 

1

Keine Testprozeduren; manuelle Testausführung

 

 

B/C

Niedrig

Die Effizienz der Testausführung kann durch verschiedene Schritte in Richtung Automatisierung erhöht werden. Das beginnt mit der automatisierten Bereitstellung von Testdaten für die manuelle Testausführung und geht bis zu einer Vollautomatisierung aller Aktivitäten in der Testdurchführung.

Bezogen auf die Testergebnisse sollten Techniken bereitgestellt werden, die

» Archivierung erzeugter Ist-Ergebnisse

» Bereitstellung von synthetisch erstellten Soll-Ergebnissen

» Verwendung korrekter Ist-Ergebnisse als Soll-Ergebnisse für den späteren Vergleich

   nachfolgender Ist-Ergebnisse

sicherstellen.

Schaubild: Auswahl der Methoden der Testauswertung im Funktionstest (Beispiel)

Nr.

Beschreibung

Kritikalität des Projektes

Sicherheit

Hoch

Mittel

Gering

6

Kontrolle der gesamten Sekundärdatenbasis

 

 

 

Hoch

5

Kontrolle der testrelevanten Datenbankinhalte

A

 

 

 

4

Kontrolle der Druckoutputs

 

A

 

Mittel

3

Onlinekontrolle, z.B. mittels Anzeigefunktionen

B

 

A

 

2

Visuelle Begutachtung einer Stichprobe der Testergebnisse

C

B/C

 

 

1

Kontrolle des Ablaufs, z.B. anhand von Protokollen

 

 

B/C

Niedrig

Für die Kontrolle und den Vergleich der Testergebnisse ist eine Technik anzuwenden, die bei der manuellen Auswertung bzw. der automatisierten Auswertung unterstützen.

Bei der Testauswertung können, mit Hilfe der IT, folgende Hilfsmittel unterstützen:

» Vergleichstools zum Auswerten von Ergebnisdateien (SOLL-/IST-Vergleiche),

» Coverage Tools helfen bei der statischen und dynamischen Analyse. Einerseits kann in

   der statischen Analyse z.B. die Einhaltung von Programmierrichtlinien überprüft und

   andererseits durch die Abdeckungsmessung in der dynamischen Analyse gemessen werden,

   wie hoch die Programmabdeckung nach der Testausführung mit den erstellten Testdaten ist.

» Werkzeuge zur Fehleranalyse sind z.B. Debugger.

Testeingang Kriterien

Die Testfallermittlung kann begonnen werden, sobald abgenommene Fachkonzepte vorliegen. Für die Testdatendefinition sollten die DV-Konzepte erstellt und abgenommen sein.

Für den Beginn der Testdurchführung müssen die Testobjekte erfolgreich durch den Schnittstellentest gelaufen sein, d.h. die definierten Testende Kriterien wurden nachgewiesen.

Testende Kriterien

Die Testende Kriterien ergeben sich im Wesentlichen durch die Risikoanalyse und die daraus folgend gewählten Testmethoden.

Erreichen eines spezifizierten Testabdeckungsgrades:

Mindestens einmaliges korrektes Durchlaufen aller geänderten / implementierten Funktionen

Mindestens einmaliges Erreichen aller Fehlermeldungen

Mindestens einmaliges Erreichen aller Verarbeitungsergebnisse (Reports, Druckoutput,..)

Mindestens einmalige Überprüfung aller implementierten Benutzerschnittstellen auf
» Fachliche Korrektheit
» Formale Korrektheit

 

Oder bezogen auf ein systematisches Vorgehen in der Testvorbereitung:

Vollständige Abdeckung aller Eingaben (Äquivalenzklassenmethode)

Vollständige Überprüfung aller Wirkungen (Ursache-Wirkungsgraph-Methode)
» Fehlermeldungen

» Verarbeitungsregeln

Vollständige Abdeckung von Grenzwerten

Erfolgreiche Ausführung aller definierten Testfälle (unter Zeitdruck kann eine Einschränkung bezüglich der Kritikalität der Testobjekte getroffen werden, z.B. alle C-Testfälle werden nicht ausgeführt)

Es sollte noch festgelegt werden, was mit erfolgreich gemeint ist. Bei größeren Projekten kann es schwer werden, wenn erfolgreich = keine offenen Fehler bedeutet. Daher sollte, unter Berücksichtigung der Fehlergewichtung, ein Schwellwert festgelegt werden, wann ein Test erfolgreich absolviert wurde.

So kann folgendes festgelegt werden:

» Keine Fehler der Gewichtung 1

» Weniger als 10 Fehler der Gewichtung 2

» Beliebige Fehler der Gewichtung 3

Diese Festlegung ist jedoch auch von der jeweiligen Kritikalität des Projektes und den Qualitätsanforderungen abhängig

Regressionstest

Es sind bevorzugt die Funktionen zu testen, die die wichtigsten und kritischsten Verarbeitungen durchführen. Für den Funktionstest ist die Ausführung der Regressionstests möglichst zu automatisieren.

Die Auswahl der Regressionstests ist von Release zu Release kritisch zu hinterfragen und bei Notwendigkeit anzupassen.

Eine Beratung, so wie sie sein soll – Hettwer UnternehmensBeratung GmbH – Eine Beratung, so wie sie sein soll – Hettwer UnternehmensBeratung GmbH – Eine Beratung, so wie sie sein soll – Hettwer UnternehmensBeratung GmbH – Eine Beratung, so wie sie sein soll – Hettwer UnternehmensBeratung GmbH – Eine Beratung, so wie sie sein soll – Hettwer UnternehmensBeratung GmbH

Hettwer UnternehmensBeratung

Hettwer UnternehmensBeratung GmbH - Spezialisierte Beratung - Umsetzungsdienstleistungen im Finanzdienstleistungssektor – Experte im Projekt- und Interimsauftragsgeschäft - www.hettwer-beratung.de

H-UB ERFOLGSGESCHICHTE

Auszeichnung:

Gold-Partner-Zertifikat

Hettwer UnternehmensBeratung GmbH wurde aufgrund der erbrachten Beraterleistungen in den exklusiven Kreis der etengo Gold-Partner aufgenommen.

H-UB EXPERTENWISSEN

Hettwer UnternehmensBeratung GmbH – Expertenprofil Klaus Georg Hettwer (Geschäftsführer): Beratungskompetenz, Fachliche Kompetenz, Methodische Kompetenz, Soziale Kompetenz, Kommunikationskompetenz; Sonderthemen: SEPA, EMIR, TARGET2, MiFID, T2S

- Eine Beratung mit PROFIL -

H-UB Leistungskatalog

H-UB Leistungskatalog.pdf
Adobe Acrobat Dokument 89.4 KB

Projekt:

Hanseatische Container Logistik GmbH

Spedition, Logistik

Projekt:

WERDER BAU Bremen GmbH

Bauunternehmen

Projekt: Vino Bello

„La Dolce Vita“

 

H-UB SOCIAL MEDIA PRÄSENZ

© 2010-2024 Hettwer UnternehmensBeratung GmbH