Ich würde nicht für völlig zufällige Werte plädieren, da sie Ihnen ein falsches Gefühl der Sicherheit vermitteln. Wenn Sie nicht den gesamten Bereich durchgehen können (was oft der Fall ist), ist es viel effizienter, eine Teilmenge von Hand auszuwählen. Auf diese Weise müssen Sie auch an mögliche "ungerade" Werte denken, d. h. Werte, bei denen der Code anders läuft (und die nicht in der Nähe von Kanten liegen).
Sie könnten einen Zufallsgenerator verwenden, um die Testwerte zu erzeugen, prüfen, ob sie eine gute Stichprobe darstellen und sie dann verwenden. Dies ist vor allem dann eine gute Idee, wenn die Auswahl per Hand zu zeitaufwändig wäre.
Ich habe zufällige Testwerte verwendet, als ich einen Semaphor-Treiber für einen Hw-Block von zwei verschiedenen Chips schrieb. In diesem Fall konnte ich nicht herausfinden, wie ich sinnvolle Werte für die Timings auswählen sollte, also habe ich randomisiert, wie oft die Chips (unabhängig voneinander) versuchen würden, auf den Block zuzugreifen. Im Nachhinein wäre es immer noch besser gewesen, sie von Hand zu wählen, denn die Testumgebung so zu gestalten, dass sich die beiden Chips nicht aneinander ausrichten, war nicht so einfach, wie ich dachte. Dies war eigentlich ein sehr gutes Beispiel dafür, dass Zufallswerte keine Zufallsstichprobe ergeben.
Das Problem wurde durch die Tatsache verursacht, dass immer dann, wenn der andere Chip den Block reserviert hatte, der andere wartete und getreu einem Semaphor den Zugriff erhielt, gleich nachdem der andere ihn freigegeben hatte. Als ich aufzeichnete, wie lange die Chips auf den Zugriff warten mussten, waren die Werte in der Tat weit vom Zufall entfernt. Am schlimmsten war es, wenn ich den gleichen Wertebereich für beide Zufallswerte hatte. Es wurde etwas besser, nachdem ich sie so verändert hatte, dass sie unterschiedliche Bereiche hatten, aber es war immer noch nicht sehr zufällig. Erst nachdem ich die Wartezeiten zwischen den Zugriffen randomisiert hatte, bekam ich so etwas wie einen Zufallstest und wie lange der Block reserviert war und wählte die vier Sätze sorgfältig aus.
Am Ende habe ich wahrscheinlich mehr Zeit damit verbracht, den Code zu schreiben, um "zufällige" Werte zu verwenden, als ich gebraucht hätte, um überhaupt sinnvolle Werte von Hand auszuwählen.