Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • Tests of random functions, that is to say functions specified to act randomly, must be STATISTICAL tests. Run the function a large number of times ($N), and check that the basic and not-so-basic statistics match the model you require of your function under test.

    Pseudo code for an inadequate number of tests of an imaginary model, assumed not unlike a bell-curve - your mileage WILL vary -

    $fut= \&FunctionUnderTest;
    my @X= map { $fut->() } 1..$N ;

    use Acme::Statistics; # Fantasy package that provides

    # I had a sig when sigs were cool
    use Sig;
    • Interesting. I was just talking to a coworker about that. It's been years since statistics classes and I was struggling to remember the formulae involved in calculating what I was interested in. I wasn't thinking of a distribution under a bell curve so much as I was thinking "if X might not be correct, how many times do I need to calculate X to ensure the odds of it being incorrect are acceptably minimized?" More inportantly, I can't have randomly failing tests, but I'm quite happy to have a test which statistically is less likely to fail than, say, a random power outage or some weird CPU glitch (there are algorithms which are known to be mathematically flawed but fail so seldom that the computer's more likely to break down first).

      Of course, there's also a cost factor. I won't spend a million pounds if that's what it takes to ensure a test is effectively deterministic. However, I'm willing to spend more than £5. Where's the breakeven point?

      In any event, thanks for the pointers!