The triangle test is considered by many a “classic” example of a software test challenge. In fact, I believe it goes all the way back to Glenford Meyer’s The Art of Software Testing – the first book ever published on software testing – and may go back as far as the testing chapter of Jerry Weinberg’s book on PL/1 programming.
The problem is simple – you have three inputs for sides of a triangle, and the computer will tell you if the values you entered are scalene, isosceles, equilateral, or not a triangle.
So why am I ambivalent? Because it’s a geometry problem with big words in it – and some people are simply not confident or comfortable talking about math. So you could have a very good tester who doesn’t “grok” the problem, or you could have a very astute potential tester who is turned off by the exercise.
However, if you /like/ math and geometry, and you can handle it, then have I got a website for you – triangle test (which I got from Elisabeth Hendrickson via twitter) not only simulates the problem, but evaluates the answers you give as you run your test cases. It tracks the kinds of tests you run, and, when you think you are done, can ‘evaluate’ the scenarios you ran and give you some suggestions you may have missed.
Now, it’s a canned exercise, don’t take it too seriously. But for a little quick feedback fun challenge, it’s hard to beat. Check it out.
Of course, the kind of tests the simulator allows you to run are constrained by the input; they are traditional send-it-different-input kinds of tests. That’s a very developer-ish way of looking at testing, which ties back to what happens when you have an SDET worldview. More on that tomorrow.