Was ist ein Edge Case?

Ein Edge Case wird auch Grenzfall oder Randfall genannt. Er beschreibt ein Szenario, in der sich ein Parameter in einer Extremsituation befindet. Diese Extreme können entweder im minimalen oder maximalen Bereich liegen.

In den meisten Fällen resultieren daraus Probleme und Fehlfunktionen, deshalb sollte ein Edge Case gefunden, getestet und behoben werden. Dafür werden in der Softwareentwicklung üblicherweise Unit-Tests genutzt. Diese prüfen die Randbedingungen einer Methode, einer Funktion oder von Algorithmen.

Durch die Kontrolle der korrekten Funktionsweise innerhalb der Extremen (den Rändern oder „Edges“), kann davon ausgegangen werden, dass auch die dazwischen liegenden Zustände funktionieren wird. Dadurch muss nicht jeder möglicherweise eintretende Fall kontrolliert werden. Wenn zum Beispiel eine Funktion 2 Zahlen addieren soll, reicht es aus, sie mit möglichst kleinen und großen Zahlen zu testen. Funktioniert alles dabei fehlerfrei, ist anzunehmen, dass die Funktion auch für alle Zahlen dazwischen ohne Probleme funktionieren wird. Durch diese Herangehensweise wird der Prozess des Testens möglichst effizient gehalten.

Was ist der Unterschied zwischen einem Edge Case und einem Corner Case?

Im Gegensatz zum Edge Case, bei dem eine Extremsituation nur bei einem Parameter auftritt, definiert der Corner Case eine Situation, in der sich mehrere Bedingungen in extremen Bereichen (minimal oder maximal) befinden.

Der Unterschied liegt also in der Anzahl der Betriebsparameter, welche sich in den Extremen bewegen und dadurch Probleme verursachen.

Ein Beispiel für einen Edge Case: Ein Drucker hat einen niedrigen Tintenstand und druckt den Text nicht mehr sauber. Die Eigenschaft „Tintenstand“ befindet sich im Minimum und der Drucker kann seine Aufgabe nicht richtig ausführen.

Beim Corner Case hingegen befinden sich mehrere Bedingungen im Extremfall: Der Drucker hat einen niedrigen Tintenstand, die Helligkeit ist auf Maximum gestellt und der Drucker steht auf einem wackeligen Untergrund. Erst das Zusammenspiel dieser 3 Parameter führt dazu, dass der Drucker nicht richtig funktioniert. Würde jede Bedingung einzeln auftreten, hätte der Drucker kein Problem. Die Ausgangssituationen bei beiden Fällen sind also unterschiedlich, doch führen sie meist zu demselben Ergebnis, nämlich einer Fehlfunktion. Da auch öfters gar nicht klar ist, ob ein Parameter allein oder mehrere im Zusammenspiel ein Problem verursachen, werden Edge Case und Corner Case oft als Synonym für einen auftretenden Fehler verwendet.