Zufällige Tests

Definition - Was bedeutet Random Testing?

Zufallstests beziehen sich auf die Praxis der Verwendung von Zufallseingaben zum Testen von Software. Verschiedene Arten von Zufallstests beruhen alle auf derselben Grundidee, nämlich dass die Testimplementierungsfälle zufällig ausgewählt werden.

Technische.me erklärt Random Testing

Random Testing ist eine Art Black-Box-Test, bei dem Entwickler nicht den internen Code für ein Softwareprodukt betrachten, sondern zufällige Eingaben in das System eingeben, um die Ergebnisse zu ermitteln. Ein häufiges Beispiel ist die Verwendung zufälliger Ganzzahlen zum Testen einer Softwarefunktion, die Ergebnisse basierend auf diesen Ganzzahlen zurückgibt. Diese Funktionen können "for-Schleifen" oder andere Algorithmen zum Liefern eines Ergebnisses umfassen, wobei eine Reihe von zufälligen Testfällen eine größere Menge von Fällen simuliert oder approximiert, die von theoretischen Benutzern eingegeben wurden.

Andere Arten von Zufallstests können die Verwendung von Heuristiken beinhalten, die die Verwendung von Zufallseingaben leiten. Im Allgemeinen und speziell beim Umgang mit ganzen Zahlen oder anderen Arten von Variablen ist das zufällige Testen nur so zufällig wie die Menge der verwendeten Zufallseingaben. Mit anderen Worten, Tester verwenden häufig eine begrenzte Menge von ganzen Zahlen anstelle einer unendlichen einstellen. Spezifische Praktiken für zufällige Tests befassen sich mit der Mechanik dessen, was wir unter zufällig verstehen, und wie Entwickler einen scheinbar zufälligen Satz von Eingaben für einen Test erstellen.

Diskussionen über zufällige Tests können sich auch um die Effizienz ihrer Verwendung drehen. Eine Idee ist, dass zufällige Tests, die von automatisierten Systemen anstelle von Fachleuten durchgeführt werden können, Vorteile gegenüber gerichteten Tests haben können. Das gezielte Testen kann jedoch effizienter sein, wenn es darum geht, wie viel Test benötigt wird. Einige Entwickler und Experten verwenden den Begriff "Zufallstests" auch, um ineffiziente oder sogar inkompetente Tests zu bezeichnen, bei denen gezielte Tests als überlegene Methode angesehen werden.