I will try to do a classic here and one of the most known classics is the “Triangle Problem”. Also known as Weinberg-Myers Triangle problem (google it). Basically it consists in this: We have 3 inputs and the program validates this entries as triangle side lengths. Than it shows what type of triangle is or not a triangle at all.
For this I created a small web application to help me test in real time. You can try it here: http://www.testalways.com/cgi-bin/triangle/TestTriangle.html. I actually had it in an Software Test interview a while ago, maybe even more than once, I don’t remember, but I did it with focus only on math validation, not as true tester. I hope I am improved till then.
The idea is that I will try to test the application in half an hour and write it down.
So here it goes:
—First thing I see is that it is an apparent problem of initialization, because I have “Triangle is isosceles” without even entering any values. This could lead me to other bugs like if I enter 3 invalid but equal values.
—And I was right (-1,-1,-1) is shown as equilateral.
—(1,2,3) “Not a triangle” this is correct . Apparently the application is doing something good.
—(3,4,5) “Triangle is scalene”. That looks good.
—(7,7,3) “Triangle is isosceles”. OK
—(3,7,7) “isosceles”. Its OK
—(.2,.3,.4) Wow that is interesting “Triangle is isosceles” and the graph is not drawn. I have to add that, when I created the application, I just used minor validations and the implications on that I cannot determine. I also made a break (over night) between the code and testing to separate the two activities.
—I want to crash the application somehow so I will try to use strange value , I will go to some web page , get the source code and paste it as input . I would do this different but I use what I have now on my hands in this current moment. I used the page http://en.wikipedia.org/wiki/Test_cricket for this. I put in every input and press “Enter”. WOW!!! I have some weird parsing of the wikipedia page instead of my web application. I refresh the page and go to other test.
—I use ” 8″,” 9″,” 10″ -(with spaces) but it shows “scalene”.
—(8,9,100) -”Not a triangle”, correct.
—One thing that is matter also doing that is the context in which testing is done by the tester and if the tester is stressed , frustrated or comfortable.
—I am doing some switch to all the available browsers that I have to check the behavior and do some of the entries as before to check differences. And again just immediately I see 2 scroll bars for the application in IE8 compared to only one in Firefox 3.6.
—Taking a small break to defocus looking at totally different thing. Focus-defocus is very important in testing.
—I refresh the page multiple times to check if something happens.
—I enter Entered values: AB=9999999 BC=9999999999 AC=99999999 and I get “Not a triangle”. Looks OK.
—I enter (0,0,0) and interesting the Image draw is not there (for other non-valid values I have the yellow square). Also the “Triangle is equilateral” is bug for this values.
—(0,1,1) “Triangle is isosceles”, bad again. Some problem with “0″ to be taken as valid value.
—Also I didn’t check too much the text in the right side. I wonder if there is a problem there.
—No values entered and “Triangle is isosceles” as similar to the initial page. Bug again.
The half of hour has passed so this is the test that I made for the application. Notice the bugs that are discovered by exploratory testing and are missed when just designing Test Cases in advance with limited view.