Archives:

Entscheidungstabellen im Softwaretest sind eine spezielle Methode zur Erstellung von Testfällen, bei der eine Tabelle verwendet wird, um die verschiedenen Szenarien für die Eingabe und die erwartete Ausgabe zu beschreiben. Sie werden verwendet, um sicherzustellen, dass eine Software alle möglichen Variationen einer Eingabe berücksichtigt und die korrekte Ausgabe liefert. Entscheidungstabellen können auch verwendet werden, um die Komplexität eines Programms zu reduzieren, indem die Komplexität der Tests vereinfacht wird.

Eine Entscheidungstabelle besteht aus vier Teilbereichen:

  • Auflistung von zu berücksichtigenden Bedingungen
  • Auflistung möglicher Aktionen
  • Bereich möglicher Bedingungskombinationen
  • Bereich, in dem jeder Bedingungskombination die jeweils durchzuführenden Aktivitäten zugeordnet ist.

Beispiel

Als Beispiel soll die Funktion zur Errechnung des Erstattungsbetrags zur Schadenregulierung bei einem Versicherungsunternehmen dienen. Es soll also getestet werden, ob die Funktion zur Errechnung des Betrags zur Schadenregulierung korrekt funktioniert. Es gilt die Menge notwendiger Testfälle möglichst systematisch zu entwickeln. Hierfür kann ein einfaches Fallbeispiel gewählt:

Herr Müllers Tochter hat beim Spielen das Terassen-Fenster des Nachbarn Herr Mayer eingeschlagen. Es entstand ein Schaden in Höhe von 7.500 €, den er ordnungsgemäß geltend gemacht hat. Er habt eine Haftpflicht-Versicherungsvertrag im Standardtarif mit einem maximalen Deckungsbetrag von 100.000 € abgeschlossen.

Jetzt gibt es aber noch weitere Tarifmerkmale, die für den Beitrag relevant sind. Betrachten wir Herrn Huber mit einer Selbstbeteiligung von 1.000 € (er spart dafür an der Prämie). Und Herr Huber ist ein Sparfux und hat aus Kostengründen eine Schadensdeckelung von 5.000 € vereinbart.

Offenbar haben auf die Berechnung des Erstattungsbetrages mehrere Parameter wie Selbstbeteiligung und Deckungsbetrag Einfluss. Hierfür gilt es die entsprechenden unterschiedlichen Bedingungen und die unterschiedlichen Regeln aufzulisten, die Einfluss auf die jeweilige “Aktion” zur Berechnung des Erstattungsbeitrags nehmen. Die Spalten R1 bis R5 bezeichnen die jeweiligen Regeln. Am Beispiel der Regel 3 sei erläutert, wie dieses Schema zu lesen ist: Wenn die Bedingung 3 erfüllt ist, damit auch die Bedingung 1, die Bedingungen 2 hingegen nicht, dann ist die Aktion A, also die die Ausgabe von Erstattungsbetrag=0 auszuführen, da ja die Selbstbeteiligung von Herr Müller die tatsächliche Schadensumme übersteigt, er also den Schadenbetrag selbst zahlen muss.

Entscheidungstabelle

Eine Klassifikation ist ein Verfahren zur Zuordnung von Daten oder Objekten auf Grundlage bestimmter Merkmale in vordefinierte Gruppen oder Kategorien. Sie dient dazu, Struktur in große Datenmengen zu bringen und eine einfachere Verarbeitung zu ermöglichen. Dabei werden die zu klassifizierenden Daten meistens anhand von bestimmten Merkmalen wie z.B. Größe, Farbe, Gewicht usw. einer bestimmten Kategorie zugeordnet. Klassifikationen können beispielsweise bei der Sortierung von Daten, beim Erkennen von Mustern oder beim Analysieren von Texten verwendet werden.

Blackbox-Verfahren sind anforderungsbasierte Methoden zur Testfallerstellung. Dies bedeutet, eine Tester analysieren zunächst die Anforderungsspezifikationen und leitet daraus Testfälle ab, ohne dabei Kenntnis der inneren Programstrukturen zu besitzen.

Um hierbei eine systematische Überdeckung der Funktionen und unterschiedliche Testzustände zu erreichen, kommen beispielsweise folgende Analyseverfahren zum Einsatz Äquivalenzklassen-, Grenzwert- und Ursache-Wirkungs-Analyse.

Testfallentwurfsverfahren nennt man ein Verfahren, das zur Festlegung der Testszenarien für ein bestimmtes System verwendet wird. Es beinhaltet die Modellierung des zu testenden Systems, die Erstellung von Testfällen, die Entwicklung von Teststrategien und die Auswahl geeigneter Tests. Es ist ein proaktives Verfahren, das sich auf die Erstellung eines guten Testszenarios konzentriert, bevor das System entwickelt wird. Es kann sowohl für manuelles als auch automatisiertes Testen verwendet werden. In der Regel wird dieses Verfahren von einem Software-Tester oder einem Software-Test-Engineer verwendet. Wir unterscheiden verschiedene Ansätze:

1. Explorativer Testfallentwurf: Hier werden Testfälle basierend auf den Erfahrungswerten der Tester erstellt.

2. Basiert auf Regeln: Hier werden Testfälle basierend auf Regeln und Anforderungen erstellt, abgeleitet aus der Systemspezifikation und dargestellt z.B. in Entscheidungstabellen.

3. Basiert auf Anwendungsfällen: Hier werden Testfälle entwickelt, die bestimmte Anwendungsfälle im System widerspiegeln.

4. Basiert auf Anforderungen: Ist ein Verfahren mit der Sicherstellung, dass ein System alle Anforderungen des Kunden erfüllt. Dieser Prozess beginnt normalerweise mit der Analyse der Anforderungen des Kunden und der Identifizierung der Funktionen, die das System erfüllen soll. Anschließend werden Testfälle erstellt, die diese Funktionen testen. Diese Testfälle können dann in einer Testfall-Datenbank gespeichert werden, damit sie in Zukunft verwendet werden können. Man unterscheidet hierbei in Blackbox– und Whiteboxtests.

5. Basiert auf Fehlern: Hier werden Testfälle erstellt, um potenzielle Fehler oder Defekte zu ermitteln. Anschließend werden Daten und Bedingungen zusammengestellt, die diese Fehler auslösen.

Eine Testfallspezifikation ist eine technische Spezifikation, die einzelne Testfälle beschreibt, die bei der Software- oder Systemprüfung ausgeführt werden sollen. Es werden detaillierte Anforderungen an das zu testende Produkt sowie die zu verwendenden Testmethoden und die zu erwartenden Ergebnisse angegeben. Eine Testfallspezifikation kann in Form eines Textdokuments, einer Tabellenstruktur oder eines Aktivitätsdiagramms erstellt werden. Ziel der Testfallspezifikation ist es, eine konsistente und vollständige Testdokumentation zu erstellen, die den Entwicklern, Testern und anderen Interessengruppen hilft, ein verlässliches und qualitativ hochwertiges Produkt zu erhalten.

… ist ein manueller oder automatisierter Test, der ein Produkt oder System von Anfang bis Ende testet. Der Test wird dabei in den meisten Fällen durch eine Software oder ein Skript simuliert, um zu überprüfen, ob das gesamte System oder die Komponenten korrekt funktionieren, wenn sie miteinander interagieren. End2End-Tests untersuchen typischerweise das Ende-zu-Ende-Verhalten eines Systems, einschließlich der Schnittstellen und aller Komponenten. Dazu gehören beispielsweise die Benutzeroberfläche, die Datenbank, die Netzwerkverbindungen und die Server. Der Test kann auch andere Systeme, die mit dem System interagieren, wie beispielsweise externe APIs, einbeziehen.

… ist ein Test, der dazu dient, die Benutzerfunktionalität einer Software oder Anwendung nach Änderungen am Quellcode oder an den Anforderungen sicherzustellen. Es ist ein Teil des Softwaretests, das darauf abzielt, die Funktionalität einer Anwendung zu überprüfen, nachdem Änderungen vorgenommen wurden, um sicherzustellen, dass diese Änderungen keine negativen Auswirkungen auf die Anwendung haben. Regressionstests überprüfen auch, ob bestehende Funktionen nach Änderungen weiterhin korrekt funktionieren.

Storytests sind eine Testmethode, bei der Testfälle durch den Testfall einer Geschichte basierend auf einem Benutzerszenario entwickelt werden. Die Story beschreibt einen Benutzer, der eine bestimmte Aufgabe ausführen möchte, und dann werden bestimmte Testfälle aus dieser Geschichte abgeleitet. Diese Testfälle werden verwendet, um die Funktionalität des Produkts zu prüfen und zu validieren.

Ein Testkonzept ist ein Dokument, das die Ziele, Methoden und Strategien für einen Software- oder Systemtest definiert. Es enthält eine Beschreibung der zu testenden Komponenten, Testfälle, Dokumentation und die zu erwarteten Ergebnisse. Testkonzepte helfen Software-Entwicklern, ihre Tests effizienter und effektiver zu planen und zu strukturieren.