Not enough importance is giving to testing psychology or the perspective of the tester’s mind.
Its better to get examples so for start here is a cool one:
If done for the first time and if the narrator instructions are followed, no cheating, it will show a good point. The conclusions are for anyone to decide.
But what I really want to present is the stories showed by author and journalist Malcolm Gladwell.
Here is a presentation he made about spaghetti sauce:
He tells the story about basically testing someone’s preferences. How people when asked tell one thing but like or think differently. Is not that they lie or try to hide something but usually people cannot express what they like or think.
Another couple of interesting stories are here also http://itc.conversationsnetwork.org/shows/detail230.html. The clip can be played from that page or from here
I was thinking my writing skills would become much better If I regard my previous posts as part of my testing exercises. So from time to time I will try to review my ex-post and report my findings like bugs.
First I found it better to start with a spell checker, even if my blog, based on WordPress does this already.I google it and I will use http://orangoo.com/spellcheck/ for beginning.”Enter website to spell check” or “Enter Text”. I will try the whole page, because as I said before WordPress does it already. I use http://www.testalways.com/?p=15 and my email firstname.lastname@example.org and waiting for results. Since looks like it takes some time I am thinking of using the Google spell checker from Google translate. Hm, I noticed that the auto-fill in Google search takes me to “Google translate” as first choice, even if I entered just “Google”. Since I lately used Google translate a lot it basically knew that. Sometimes Google is scary. Meantime the WordPress spell checker pointed out that “google” should be “Google”.I am not completely sure about the context but I will go along with it.Funny though “WordPress” is shown as a misspell. Well the Google spellchecker didn’t find anything to notice anyway.
OK lets say the spell-checking part is done. One mistake that I make is using the punctuation marks, particularly commas “,” and dots “.” in incorrect way. For example “I will try to present my ideas ,others ideas”.As also its pointed out in http://en.wikipedia.org/wiki/Commas, the right usage is “word, comma, space”. Meanwhile my site went down and I was wondering if GoDaddy hosting has something to do with it or it that spellchecker site. So I am going around my posts and repair those issues.
Going through the posts I reviewed the text written and I also corrected phrases that didn’t make sense. That’s it for now I am taking a break.
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.
My name is Eusebiu Blindu, I am a Software Tester and I am trying to build this blog in which I will try to present my ideas, others ideas that I find interesting, and I will try in the same time to build my writing skills. Currently my writing skills are not very good, as regarding to expressing myself or the English grammar skills, but I will try by practice to improve that.
One of the hardest part of Software Testing is to describe testing.
I will try to describe for beginning the first contact with a new project. As it is like in other situations, not only in testing, I start learning about the product of course. I don’t jump immediately to documentation to be honest since usually this is poorly done and it just feels better to get a picture of the product first then read it. Here is better to be careful though, when dealing with documentation. If we start with it too soon, we might not understand the content behind it, even maybe subconsciously we might store some important data that will be triggered at some point. If we start too late we might miss very important information that was there already and we could have spent too much time in finding ourselves. Here is good to compare with real life situations like when buying a new electronic device, say a video camcorder, first we look at it without any doc, then we look at the specs like resolution. And if we decide to buy it first we actually play with it then read the manual for in-depth stuff. Documentation is very important for cases for example when dealing with potentially dangerous devices. Also the expression RTFM has a point in many situation why it was invented and sometimes used.
In most situations some testers come on a project that was already tested by someone else. To understand the product, the bugs that are given higher priority, is good to try to replicate or test the areas that had a bug before.Is one of the techniques I use on new projects, new for me but that were already tested by others. Is not mandatory to be the the first thing to do though. This helps a lot to create little “dots” in my mind, little pieces of information. Some are more distinguishable than others. Then I connect this dots and try to experiment. Then I can understand the documentation and take step by step approach from it verifying if possible every aspect of it.
The most comfortable I feel when I have an area to test and complete decision on how to approach it. From one perspective for me testing is satisfying curiosity. Initially when I get a project I feel a little shaky, the internal procedure of the company is not usually very good, or at least rarely ideal. But when I get familiar with it, it starts to be like a roller-coaster.
Describing exactly is little harder for me, mostly everything happens at a subconscious level.That’s why I try to write down stuff, like in this blog to improve it.
I usually apply more than one testing technique, and is the ones that makes sense based on experience. Sometimes I try new stuff even that is not the best place to experiment just to see the technique.
I was playing one day one of the short type online games with chat, and myself and my opponent were presenting each other. And I was asked what I do as a living/profession. I said I am a tester. And then I was asked what is a tester? Assuming the person was not familiar with the software area, I replayed instantly that I find bugs. But my response was found funny because the other person was a biologist and worked with (real) bugs. I asked the person if bugs are bad from his view. The replay was that bugs are just us: live, eat and die. I was thinking then if my view that a tester is someone who finds bugs and I am not too sure about it, if is an accurate description. Bugs can be find by developers for example. Also the correlation of the term “bug” if it has a meaning that bugs live, they sneak and hide and die if found and fixed. It was a little interesting to think it like this.
When I have something to test I create a model first in my mind and then try to apply it to the object /part to test. I found out that this is usually called an oracle or just model. This model is based on the perception I have about the functionality and what experience/skills I have to deal with that situation.
There is a difference between testing how I do it ideally and the testing affected in a real situation for a client/company. The internal procedures could affect the good testing unfortunately and this is quite often. I encounter situations where the client wants everything automated or client where they don’t want anything automated even if I though each time the problem is not well put anyway.