Testing Techniques
- A random number generator for tests: smallprng. I also have
ISAAC, but ISAAC takes more
memory and takes longer to initialize and claims to be of
cryptographic strength (which might bring your company's
security enforcers down on your tests). Both are very fast
and impeccable statistically, no matter how long you run them
or how many ways you use them in parallel.
- Prevent combinatorial explosion of tests with pairwise
testing: jenny.
- Testing all possible paths through a simple protocol: dice.
- A design patternf for concurrent unit
tests: set flags for visited
states and check all flags are set.
- Testing random number generators: chi and est.
- Testing hash functions: avalanche testing.