Grenzwertanalyse

Die erwarteten Eingangs- und Ausgangswerte der Softwarekomponente sollten aus der Komponentenspezifikation extrahiert werden. Die Werte werden dann in Mengen mit identifizierbaren Grenzen gruppiert. Jeder Satz oder jede Partition enthält Werte, von denen erwartet wird, dass sie von der Komponente auf die gleiche Weise verarbeitet werden. Die Partitionierung von Testdatenbereichen wird in der Technik der Äquivalenzpartitionierung des Testfallentwurfs erläutert. Es ist wichtig, beim Entwurf von Testfällen sowohl gültige als auch ungültige Partitionen zu berücksichtigen.

Die Demonstration kann anhand einer in Java geschriebenen Funktion durchgeführt werden.

class Safe { static int add(int a, int b) { int c = a + b ; if (a >= 0 && b >= 0 && c < 0) { System.err.println("Overflow!"); } if (a < 0 && b < 0 && c >= 0) { System.err.println("Underflow!"); } return c; }}

Auf der Grundlage des Codes werden die Eingangsvektoren von partitioniert. Die Blöcke, die wir abdecken müssen, sind die Überlaufanweisung und die Unterlaufanweisung und keine von diesen 2. Daraus ergeben sich 3 äquivalente Klassen, die sich aus der Codeüberprüfung selbst ergeben.

Demonstration von Grenzwerten (Orange)

Wir stellen fest, dass es eine feste Größe von Integer also gibt:-

MIN_VALUE ≤ x + y ≤ MAX_VALUE

Wir stellen fest, dass die Eingangsparameter a und b beide ganzzahlig sind, also eine totale Ordnung auf ihnen existiert.Bei der Berechnung der Gleichungen:-

x + y = MAX_VALUE MIN_VALUE = x + y

erhalten wir die Werte, die auf der Grenze liegen, einschließlich, d.h. diese Paare von (a,b) sind gültige Kombinationen, und kein Unterlauf oder Überlauf würde für sie auftreten.

Auf der anderen Seite:-

x + y = MAX_VALUE + 1

gibt Paare von (a,b), die ungültige Kombinationen sind, Überlauf würde für sie auftreten. Auf die gleiche Weise:-

x + y = MIN_VALUE – 1

gibt Paare von (a,b), die ungültige Kombinationen sind, für die ein Unterlauf auftreten würde.

Grenzwerte (nur für den Überlauffall gezeichnet) werden als orangefarbene Linie in der rechten Abbildung dargestellt.

Wenn es sich bei den Eingabewerten um Monate des Jahres handelt, die als ganze Zahlen ausgedrückt werden, könnte der Eingabeparameter „Monat“ die folgenden Unterteilungen haben:

 ... -2 -1 0 1 .............. 12 13 14 15 ..... --------------|-------------------|-------------------invalid partition 1 valid partition invalid partition 2

Die Grenze zwischen zwei Unterteilungen ist der Ort, an dem sich das Verhalten der Anwendung ändert, und ist selbst keine reale Zahl. Der Grenzwert ist der minimale (oder maximale) Wert, der an der Grenze liegt. Die Zahl 0 ist der Maximalwert in der ersten Partition, die Zahl 1 ist der Minimalwert in der zweiten Partition, beides sind Grenzwerte. Es sollten Testfälle erstellt werden, um Eingaben oder Ausgaben zu generieren, die auf und zu beiden Seiten jeder Begrenzung liegen, was zu zwei Fällen pro Begrenzung führt. Die Testfälle auf jeder Seite einer Begrenzung sollten in der kleinstmöglichen Schrittweite für die zu testende Komponente liegen, für eine ganze Zahl ist dies 1, aber wenn die Eingabe eine Dezimalzahl mit 2 Stellen wäre, dann wäre es .01. Im obigen Beispiel gibt es Grenzwerte bei 0,1 und 12,13 und jeder sollte getestet werden.

Die Grenzwertanalyse erfordert keine ungültigen Partitionen. Nehmen wir ein Beispiel, bei dem eine Heizung eingeschaltet wird, wenn die Temperatur 10 Grad oder kälter ist. Es gibt zwei Partitionen (Temperatur≤10, Temperatur>10) und zwei zu testende Grenzwerte (Temperatur=10, Temperatur=11).

Wenn ein Grenzwert in die ungültige Partition fällt, wird der Testfall so gestaltet, dass die Softwarekomponente den Wert kontrolliert verarbeitet. Die Grenzwertanalyse kann während des gesamten Testzyklus eingesetzt werden und ist in allen Testphasen gleichermaßen anwendbar.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.