Das Testen von Software und Systemen, deren Zustände vollständig definiert und deshalb sicher reproduzierbar sind, ist vergleichsweise einfach. Nicht-deterministische Systeme jedoch, die sich mal so und mal anders verhalten können, stellen Tester vor besondere Herausforderungen. Am Software Engineering Institute (SEI) der Carnegie Mellon University hat sich eine Arbeitsgruppe um Donald Firesmith mit dem Thema befasst. Das Ergebnis sind zwei ausführliche Blogposts: einer, vom Januar dieses Jahres, umreißt detailliert die Herausforderung. In einem aktuellen zweiten Blogpost gibt Firesmith sieben Empfehlungen, wie sich optimale Voraussetzungen für das Testen von nicht-deterministischer Software schaffen lassen. Eine davon: große Zahlen von Testfällen vorsehen.