Quicktest vs Randomtest: when they don’t agree

Hello wonderful coders and writers!

This only happens to me with the “ falling out of choice” error, rarely.

Without slopping down my code at the start and going down a rabbit hole. Are there instances where the two tests disagree? I even pluck out the mini scene and test just the problem area, so i know the random test is covering the same code over and over. It is true that these are always *if couched areas so i am putting in the *elseif command also and there is always a *goto, as far as i can see, to close out the sequence. I play the scene and it works perfectly each time. My thought is that my code may be inelegant but functional. Is this a possibility? I clean up the *if cascade but the Quicktest is unsatisfied, but Random test is satisfied. I assumed the Random test is more robust so I move on. I can offer the code too,but, was mostly asking the group if this has happened to them and was it really a problem or just triggered the test error for “bumbliness.” to me if it works, I’m good. Doesn’t need to be the most elegant solution. But I’m newish to coding so maybe I am not understanding a true error. If the scene plays correctly, what could I be missing?

1 Like

You’d need to post the complete “problem” code to see what’s going on.
Random and quick test work in different ways so often pick up different problems. You need to run both to make sure the game is relatively bug free. I’ve had stuff pass one and not the other and there has been a game breaking code present. I’m not quite sure what problem you’ve got here, but is it a too many recursions error? That usually means you have an infinite loop that needs fixing somewhere and it’ll set random test off from memory.

2 Likes

I tend to prefer relying on randomtest, as it actually emulates “playing” your game. Quicktest is great for catching some simple gotchas, but it can also throw a bunch of false positives because of how it evaluates code (i.e. logs issues that a player would never encounter).

3 Likes

Exactly this. It is by design, they serve different purposes.

In code monkey terms, QT works like compilation, in that it immediately recognizes flagrant syntax errors like mismatched variable names or typos in commands. Meanwhile, RT works more like automated testing or quality control. It simulates playing the game, so the conditions are closer to ecological ones. A common example is, QT will tell you whether you used a variable that hasn’t been declared at all, and RT will tell you whether you put your *temp variable declaration in unreachable code.

…I use this example because this exact thing happened to me last week.

So, yeah, need to see your code.

5 Likes