"Some birds aren't meant to be caged, their feathers are just too bright"- Morgan Freeman, Shawshank Redemption. This blog is from one such bird who couldn't be caged by organizations who mandate scripted software testing. Pradeep Soundararajan welcomes you to this blog and wishes you a good time here and even otherwise.

Monday, July 31, 2006

Where excited testers go wrong?

Hi Reader,

Thank me for this post, not that I am sure this is going to be interesting and informative to all readers but for dropping 2 posts to write this one, as I felt this makes more sense to you.

"Pradeep, what do you mean by excited testers?, I have not heard of any such classification"

Yea, most testers you see around you are excited testers and I would want to give some valid data which may make you think "Where are excited testers going wrong?".

Before all that, why dont you people ask me "Pradeep, what is excitement?"

Excitement, according to me, is a state of mind or heart which makes a person feel guilty later for revealing information that was not supposed to. ( in the context of what I am going to explain below)


_ Where excited testers go wrong? _

Ah before I start sharing gyaan let me tell you that, I am not the first person to have thought of this but got a hint from a book Learning Software Testing by Cem Kaner, Jack Falk and Hung but I did carry forward a small research and experiments about what I you may read below.

You must have attended an interview or conducted one by now, if you are a tester working in any organization and you must have come across one question for which you answered with a lot of excitement. Can you take a guess, honestly without peeking below?

"Can you give an example of an excellent bug you found in the recent past?"

Waiting for that moment to show how good testers we are, many of us answered the question and by chance, we may would have got a job in that organization and may even be reading this post using the organizations PC.

What is wrong in answering a question in an interview?

Yes, it is wrong to answer such questions because you are revealing confidential information. If you think in a stupid way that "If by not answering such a question, What if I loose the job opportunity, time for you to read and understand this post.

Every bug you find in a product you are working is a confidential information and you must have signed an Non Disclosure Agreement which may have put you liable for revealing information about the product you are working.

Why a bug is confidential information?

Assume, you are working for a mobile phone company and you are testing Multimedia feature of a particular mobile phone. A version of a the mobile you are working has been released to the market and you happen to attend an interview from one of the competitor.

Being naive, if an interviewer asks "What is the most interesting bug the phone you have tested has and how did you find it?"

If you reveal the information and say you are not hired, it gives an edge to your competitor by marketing his product comparing it with the bug you have revealed to him/her.

Also, when you leave an organization, you are aware that your colleagues, friend or girl friend is still working in that company. You should take care to ensure they do not loose their job because of the fall of a company's reputation. Moreover, all bugs cannot be fixed due to limitations in the processor or some other limitation and hence the company you are working for is at stake if you reveal it.

"Pradeep, how do I tackle such a question and still ensure I get a job?"

If I were you, I would answer "This is an interesting question and makes me think a lot. The first thing I am able to remember is the NDA I have signed in that company, which dis allows me for revealing such an info. Can you ask a question which does not affect such parameters?"

"Moreover, if you hire me, you can be assured that the next time I am looking for a job, I would not reveal any confidential information about your company/product/technology.

This will make the person who asked the question feel guilty, correct his mistake and give another good reason to hire you.

"Thanks Pradeep, what are the other ways a tester reveals confidential information?"

That is a good question from you. They reveal confidential information by asking questions on the project/product you are working to a group/forum where there are other testers, developers... Also, word of mouth is known to spread fire and be cautios when you speak about your product to other testers you meet outside the organization.


"Pradeep, are all bugs confidential?"

Most of them, yes.

"Pradeep, does this restrict us to discuss about the product/technology we are working to someone?"

No, not always, but ensure you give them examples and not the clear picture.

For example -

Assume, I want to ask you that "I found a bug in the phone I am testing, whenever I try to give a missed call to someone, I see my phone vibrates until you power cycle the phone. Is there any other way to reproduce this bug?"

It is better to ask it in this way "Do you think a mobile phone software will get into an infinite loop and keep doing an operation which irritates the user? Can you suggest some ways of reproducing it in multiple ways taking your own example?"

Also, be smart, in answering a question about a product which you do not know, in an interview, by telling "Well, that touches the confidential info which I guess, I am not supposed to reveal" at your own risk of the job. :-P

_ End of _ Where excited testers go wrong? _

"When a tester gets excited, he reveals more than what he could reveal after boozing"

Regards,

Pradeep Soundararajan
pradeep.srajan@gmail.com

Disclaimer: The bug I have mentioned above, is my own imagination and any co incidence with your phone/company product's bug is surprizing, to me. There is no confidential information in this post pertaining to any company, I am and was associated with. I am not responsible if you loose a job opportunity for not answering such a (stupid) question asked in an interview you may attend. Catch me highly responsible, if you turn ethical after reading this post.

Monday, July 24, 2006

Every software tester should become a good developer of test ideas

This post is re-written and published on June 23, 2009 and the old post is left at the end.

The idea of "developer" seems to be misunderstood by many and I wasn't an excuse till a few years ago. You must have heard of Real Estate Developers. What are they doing? Are they writing programs on buildings? Well, the idea of a developer is someone who performs activities in building something or bringing something from an idea to a working or physically available form.

So, testers are developers as well, who develop test ideas and why shouldn't we call them as developers as well. I know this might look contradicting to all that you have learned but my idea is to help you understand that we do some tasks that falls under the category of "development" as well. Developers do some tasks that falls under the category of testing.


The value of thinking testers as developers of test ideas

Developing test ideas is an essential skill for a tester that the whole world of software testing might agree with me. Now that we realize it is an essential skill, what are we doing to it? Nothing, actually.

However, we may start focusing on developing it by practicing skills like questioning with combination of vertical thinking, lateral thinking, logical thinking and more.

Let's take an example:




That's a familiar thing to you. A Gmail login section. Now, there are tons of possible tests we can perform on it but given a short span of time, how can we develop some good test ideas?

I am taking this challenge and giving myself just 10 minutes and let's see what I can do with it?
Every test is a question we ask to the product - James Bach
  • What's the minimum and maximum value these fields can take?
  • How do I know that? Why should I believe what the developer says?
  • I use perlclip to identify the max values and identify: I input 100000 characters from Perlclip and I find that it does take so many characters but it so happened that IE7 appears to hang after taking so many values on the username field. I had to close the window and IE crashed. We found a cool bug right away!
  • Why would a username and password field be given so much width and why there doesn't appear a max value to it? ( that's an important question: How many testers would ask that question? )
  • Why is it placed on the right pane of the window?
  • What usability does the right one indicate?
  • Yahoo Mail provides it on the left and Google on right and that indicates to me an inconsistency for Yahoo users moving to Gmail because their eyes and brain are tuned to finding the login section on the left.
  • When I look at the source code of the Gmail login page, it appears to show me a maximum size as 18 however, we identified it appears to take more. Maybe in a different browser or a different version, 18 stays on. I urge you to look at the source.
  • The text indicates: Sign in to you Gmail with Google account. That text is confusing me: I never created a Google account but I created a Gmail account. Could there be more users like me who are confused about what it is asking us to do?
  • What about the alignment of Stay signed in? Why is it aligned such way? Why isn't there a full stop after the word "in". Is that grammatically fine?
  • Why is the "I cannot access my account" in a smaller font size as compared to other text within that specific box?
  • Why should it be so small? What is the purpose?
  • Ah! The text box size is 18 but not the number of characters that it can take. So how many ever characters you type as input in the username or password field, you can only see 18 characters.
  • The background is light blue and the "I cannot access my account" link is dark blue. I am not sure if the color combo goes well with many color blind users who might not be able to see that as a link or might be unable spot it as a link to some other page.
  • Is there a test report for this already published on the net?
  • I use TestersDesk to generate test inputs to that and following are my test inputs and create test inputs of Greek Characters, Indian language characters, password tool generator, Name generator and right away I have thousands of tests that I can hire testers to run and find many different kinds of bugs with it.
  • Username, Person Name Generator of Testers Desk helped me with:
  • Person Names
    DORNBOS, EZEKIEL
    EBRAHIMI, ISAIAH
    FOGGIE, FERDINAND
    FRANCISQUE, SHERMAN
    GUN, DOMINGO
    HENNESSEE, FABIAN
    HOKAMA, BRAD
    HONAN, WALTER
    KULIS, NORMAND
    MALLIE, MAJOR
    MELISH, TRISTAN
    MYERS, ALFRED
    NABORS, BRYAN
    NEIHOFF, HAL
    OBI, MARQUIS
    PETET, EMMITT
    RAMBERG, RICKIE
    ROWLISON, LANE
    SENFF, MITCHELL
    SHACKLEFORD, DINO
    SKORUPA, MITCHEL
    SKREEN, WESTON
    STANBERY, JOSPEH
    VEAL, CLAYTON
    WALT, GRANVILLE
  • Could I have thought about those names? Not at all.

Now, that's 10 minutes over. In fact to be more precise, I took 10 minutes and 47 seconds to do that. So, I think I developed ideas on the fly and I used my skills that I talked about to come out with tests. That's valuable given the 10 minute constraint.

Tools: You migt have seen how me being aware of tools like Perlclip and TestersDesk helped me in coming out with tests that many other testers could not have come out with. These tools might not be as popular as your ( not mine ) QTP but they are more valuable than your QTP. However, I believe, "A fool with a tool is still a fool" -- Marshal McLuhan


Traditional Test Design techniques suck: Traditional boundary value analysis isn't any analysis. It is arithmetic of adding one and subtracting one from a given number but an ability to explore is something that a tester should be looking for no matter if boundary values are given or not.

Practice: I bet that more I practice the skills that I mentioned the better test ideas I might be able to come out with. So, you might want to ask me after an year what more valuable tests can I come out with in the same constraint of 10 minutes.

Look at how quickly I came out with test ideas and compare to my previous post which had only few good ideas. So, me and you play a role as a developer and tester. We just aren't conscious about it all this while, maybe.

I pray God you dont practice all these things since the more you dont practice and the more I practice, I have lesser competition. :-)



Following is my old post
( which obviously is poor in English compared to the above yet some good ideas may lie there as well )


"Pradeep, have you gone crazy? It is you who said in your previous posts that testers should develop passion towards testing and it is not good always for all testers to think of jumping into development".

I still remain the same, just that I did want you to read this entire post to make you understand why a tester should become a good developer.

_ Every tester should become a good developer _

Do you belong to the category of thinking that development means coding?

Testers do development, how many of you are aware of it?
Yes, as testers, you and me have done development.

"Pradeep, do you mean test automation?"
No but yes, inclusive of that.

Well, let me break the ice, it is late, I am aware.

Testers should become good developer of test ideas !

Ah, now I am sure you would have got a better reason for going through this post.

One of the testers who is in touch with me posed me a question on chat, I am sure you would be interested to go through the whole discussion:

Anonymous: Hi Pradeep
Anonymous: How u doing?
prad_intel S: Hi
prad_intel S: I am doing great
prad_intel S: wats up
Anonymous: Nice to hear this
Anonymous: are you busy now?
Anonymous: I have a doubt
prad_intel S: tell me
Anonymous: write 10 test cases for the triangle which takes input values as length of side of the triangle from a data file & displays the message whether triangle is scalene, isosceles or equilateral triangle.
Anonymous: Data file i didnt get it..
prad_intel S: what for is this?
Anonymous: This is a Question which was asked in Adobe Interview
Anonymous: I just saw this Question in Geek Interviews
prad_intel S: well could you not think of it ? ( I would want everyone of you to think before you pose a question to me or someone else whom you would want to ask a question,sometimes, you yourself could have an answer and may end up making others feel great for answering your questions)
Anonymous: Yes
Anonymous: But i just want suggestion from ur side
prad_intel S: ok
prad_intel S: let me start off with it
Anonymous: Ok
prad_intel S: my understanding : there is a program which takes the values from a file for the 3 sides of the triangles and throws out a message of what type of triangle is it
Anonymous: ok
Anonymous: Yes right
Anonymous: So input will be taken from the file itself
prad_intel S: my understanding 2 - all three sides value will be taken by the file and the value is taken either sequential or random
Anonymous: ok
prad_intel S: the above was an assumption and not understanding
Anonymous: yes
prad_intel S: test cases could be ...
prad_intel S: 1) Input values 5, 5.0 and 5.00 to check for equilateral triangle
Anonymous: ok
prad_intel S: 2) (5, 5, 5),(5,3,2) and ( 5,5,4) to check whether the message shown maps to the type of triangle
Anonymous: ok
prad_intel S: 3) 0 0 and 0 - to check for error conditions
Anonymous: ok
prad_intel S: 4) 10000 , 1 and 1 - which cannot make a triangle ( am i right)
Anonymous: ok
Anonymous: yes
Anonymous: Perfect Test Cases
Anonymous: Good Suggestion
prad_intel S: 5) a mix of positive and negative values/fractions
Anonymous: Yes
Anonymous: Thanks for giving suggestion Pradeep
prad_intel S: 6) values as co ordinates like - 2,3 and 5,4 and 6,8
Anonymous: ok
prad_intel S: 7) values in words like - nine , six and four
Anonymous: ok
prad_intel S: 8) the file is a program that depends on some other file for its output value
Anonymous: ok
prad_intel S: 9) numbers in ASCII/UNICODE ...
Anonymous: oh nice
Anonymous: this i was not aware off
prad_intel S: 10) Last but not least, the program trying to open locked files
Anonymous: yes
prad_intel S: Extra cases
Anonymous: perfect
prad_intel S: 11) Reading from different file formats
prad_intel S: 12) Reading values from charts( example - excel charts)
Anonymous: ok
prad_intel S: I can probably think of 100 cases on this,all useful ones, of course.
Anonymous: Hahaha !


_ end of _ Every tester should become a good developer _

"The birth of a test case should be the death of a bug" -- Pradeep Soundararajan


UPDATE: There was an original name instead of "Anonymous" till Sep7 2006 and the person sent me an offline shouting at me as its insulting him/her, since he/she searched his/her name in google and this post topped the search result. I am puzzled to as what made someone think a learning experience as an insulting one and hence have changed his/her name to "Anonymous". Long live such attitudes.

Tuesday, July 18, 2006

Time for Indian testers to be very proud

Hi Reader,

I have a happy news for you all and can you all guess what it is ?

No, you cannot, I am sure.

Well, let me break the news for you "In a poll conducted about the quality of Indian Testing Services with around 150 managers in US, whose company outsourced testing to Indian companies - all managers had to unanimously say about Indian testers... “Those people need their tests fed to them through a straw” and “They say ‘yes’ even when they don’t understand what we are asking for.”

"Pradeep, why is it a happy news, isn't it dissapointing" if you by mistake utter this..
I would say ...
"Come on, we have achieved of getting the name we deserve as we do not want to think, want to be spoon fed always, want to remain lazy..."

Ah guys .. let me walk you through some more interesting stuff ...

__ Time for Indian testers to be very proud __

What have we done to ourselves ?
  1. We, feared our career growth and did not escalate issues that were affecting the quality of a product. Sometimes sick minded colleague, co-worker, lead and managers contribute to a larger extent to the downfall of a product quality.
  2. We, as organizations, as management of a company are bothered on the head count and not on the quality of head count hired.
  3. We, as testers, used testing as an entry point to join software industry and later used faked or other stupid gimmicks to make it into development.
  4. We, as testers, when we found something going wrong with the whole process feared to complain and we know people are not receptive to ideas. If we further put up our views in a gentle way, the egoistic seniors snub and fire us. ( I have done this and can you guess the outcome?)
  5. We, as test leads and test managers have spent time expressing the powers of our position than on improving the efficiency of tester and mentoring them.
  6. We, as the Indian testing community, are worried whether automation tools will get us job or manual testing will spoil our lives.
  7. We, as the Indian testing community, want to compare our salaries with developers or with other testers or with testers in different organizations than comparing our skills and trying to better it.
  8. We, as Indian testing community, have specialized ourselves in confusing the fresh and young minds by pressing the need for certification in testing and tools.
  9. We, as Indian testing community, do not even know, whom to ask, where to ask, when to ask, what to ask and why to ask some of our doubts.
  10. We, as Indian testing community, do not even know that, we are spoiling our country's name just by sitting in our cubicles.

__ Time for Indian testers to be very proud __

"Pradeep, you have hyped this issue" - Are you one among who will ask this to me?

Not at all, Not a single bit of hype but plain truth!

"Pradeep, did you want to rename the title to ' Time for Indian testers to be ashamed ' ?"

Not at all, Let me tell you who among us have saved our name from sinking ...

Testers in MphasiS company, Bangalore have excelled and have satisfied their US customers with good results through ad-hoc testing.

I appreciate and am proud of still being in Bangalore, the software capital of India because of the testers at MphasiS who were able to get satisfy the customers with quality work.

Points to note before you extend your bad tounge -

  1. I am not against all other company testers but I have heard/seen and experienced that the quality of a tester even in some BIG BIG companies are worse and there are no signs of improving things.
  2. I have seen/experienced some testers being sent back from US to India by the customers for their poor quality of work and being replaced by another poor quality guy- Customer feels "If I send this guy too, I may have to meet another guy with same quality, so let this guy stay". (Leads and managers are no exception)
  3. I am sure, there are more companies that do good or even better testing than what MphasiS has done but I am sorry that I am unaware and cannot list it here.
  4. If you are one good tester and you are getting offended by this post, good, start thinking of making your colleagues as good testers too since you alone being a good tester did not bring a good name to the country.
  5. If you are in management, take the risk of getting just few customers rather than overloading your testers and help your organization to get such a good name.
  6. Say to yourself "Yes, I will prove and improve the country's name and then shout at Pradeep".

That's all I need from you !

"A small pat from the customer is a giant leap to your country"

Regards,

Pradeep Soundararajan

pradeep.srajan@gmail.com

Disclaimer: This post was to hurt those testers who have been spoiling themselves without being aware that they are contributing to their country's name being spoilt internationally. I would be deeply hurt if they are not hurt after reading this post. The above data of 150 Test Managers at US commenting about the quality of Indian testers and the fact of MphasiS testers getting a great pat from their customers was taken from THIS ! I should admit that not all testers at Mphasis would be good, there may be someone like us sitting there too.

Note: Pass this to the testers you may know at MphasiS, I would want to get in touch with them as I do not know any one there.

Tuesday, July 11, 2006

Are you the good tester ISRO needs?

Hi Reader,

You must have heard the news about ISRO's GSLV that failed to even cross the stratosphere. Its a joy for Indian media who project this as a failure of ISRO but as a Tester, I can see the need of a good tester for ISRO. ( if missing )

This rocket was carrying a communication satellite that could cater Direct to Home TV and as any other true Indian, I too wished we get the news that our BOY is doing well up there, unfortunately it didn't happen.

It is a loss of 256 crore INR. "Oh my God! the tax money I paid was in flames :( ".

Now let us start thinking smart, if at all we can think smart...

_ Are you the good tester ISRO needs?_

This loss of rocket, satellite, money, hopes and moreover efforts from lot of scientists is painful.

Let us analyze the problem that may would have happened - facts first -

#1 - ISRO sources said "this was the first time a vehicle had crashed at the first stage"
#2 - "There seems to be a mishap in the first stage separation. Things have gone wrong," ISRO chairman G Madhavan Nair said at a press meet after the incident ( accident, if you may want to call it as)
#3 - There was a delay and there was a postponement in the take off due to a so called minor problem and that minor problem was - One of the pumps with the cryogenic fluid had opened and failed to re-seal. A team had to be sent to close it and ensure that all parameters were normal before the lift-off.

Well are the above facts enough to analyze the situation?

Not at all, we need tons of data that was collected by the telemetry deployed in the rocket but unfortunately public do not have access to that data. As a tester, I would want to look at it but even if I have a solution for their problem, they wont allow me inside.

If a good tester was allowed inside ISRO -

1) When a minor problem of re-seal failure was detected at the last moment, chucking out time constraints and considering the loss if the rocket fails, a good tester would have asked the personnel to do a thorough check once more. ( Regression testing as some stupids may call it as)

2) I am pretty sure, simulation would have been used to test prototypes/pilots and after this incident, a good tester would want to re look at missing requirements of the simulation engine, design defects and carry forward a rigorous testing on the simulation software and of course, give a report on it.

3) A good tester, would guide other scientists there to concentrate equally on upper stages for the next launch and not to get biased by the failure of the first stage.

4) A good tester, would not blame a department or lab of ISRO but would come out and say "Hey guys it is time to share the learning across organization" and would have stressed on different teams and labs discussing the problems -

a) How they found the problem?
b) How they analyzed the problem?
c) Their experience of solving such problem?

5) A good tester, would want to focus more on integration testing as a ROCKET is the most complicated system because of zillion parts getting integrated to form one.

"The only limitation is your imagination".....

_ Are you the good tester ISRO needs?_

If I have to speak from heart, this is what I would say -

1) 99% of the engineers here do not want to join organizations like ISRO, DRDO and take up these challenges, All they want is to test some shit and they do not do that well finally.

2) We are nasty people, we keep asking each other "is there a future for testing, will we get good pay?". We know nothing better than this to ask about testing !

3) We join orkut communities, Yahoo groups, Google groups, Testing forums - a) to look at job postings b) to check which certification course is good for us c) To make friends to send our resume d) Spam- Forward so called funny mails about testing d) Confuse people with our little knowledge and humongous ego e) Honestly, we do a lot of bull shitting.

4) The base for all this to happen is we do not want to think and rely on spoon feeding. I am irritated about some of us here posting messages in a group which has hell lots of members, because one such among many is .... "I have been asked to test a CD for xxxx testing, Let me know as soon as possible how can I do it?" - Ah ! I can't tolerate it. Moreover, to irritate myself, I see the same person posting the same question in 20 different groups, getting 400 different answers and finally gaining nothing.

When I questioned one such guy, he has to say "I will take the most favorable answer".

Well Well Well, time to think to all those who have been reading this...

I have done such mistakes, I admit, also I have realized and come out of it.
Do I need to mention again that, I too have contributed to the nation quitting my high paying MNC job without expecting a return as I have already mentioned in one of my previous posts ?

I am not expecting you people to quit your job and do such things but whatever you are doing, do it with passion else ... else ... I still cant do anything to you !

"You can see bugs fly higher than you, if you miss them during testing a rocket"
.
Regards,
Pradeep Soundararajan
.
Disclaimer: I do not mean all people do the things that I have told from my heart but you too must agree most of us do it. The facts given above regarding the rocket incident are taken from an article from Times of India news and I did not add any flavor to it. I am not trying to sound that I am Mr Perfect but it is such people who are making me feel because of their repetitive silly mistakes. Don't make me feel so, is my request !
.
Message to Madhavan Nair : "Sir, Do not worry, someday, soon, we can make ourselves super powers in space. Lot of passionate and good testers are on the upcoming in India and Yes, we will join ISRO"