Randomized testing can, in theory, help you explore a far larger area of the environment of an app than you could explicitly explore, such as "does everything work in the turkish locale where "I".toLower()!="i", etc.
Good: faster tests, especially on an essentially-non-finite set of options bad: if you can't replicate it, you can't be sure you've fixed any failure The Lucene team have led the way here; they've got a notion of a randomized context which can be regenerated -e.g. you use a random key as its foundation, and you can set that key to rerun the entire test suite in the same context, https://berlinbuzzwords.de/sites/berlinbuzzwords.de/files/media/documents/dawidweiss-randomizedtesting-pub.pdf Talking to them is probably the best way to start in this world —the key point is you can make use of this safely, but it needs planning -Steve