Thursday, February 25, 2010

Certifications : Good or Bad

So, there has been a lot of confusion over this. I would restrict my opinion on the software testing certifications.
Here are my five+five cents on the topic:

Certifications are Good:
1. Certifications are good if you are looking for entry into an organization that values them so much so that these organizations even mention the certification requirement in the job profile. A good testing team of its worth would NEVER mention that in the job profile. (if they have a say...)

2. Certifications are good if while preparing for them, you reach out to the good information sources, read and understand them rather than the only prescribed study material.

3. Certifications are good if you are from the certification board (because this will fetch you a lot of moolah)

4. Certifications are good if you are like me. You treat certification date as a deadline and try to gain as much knowledge in the subject as possible before that date. Helps... (yeah yeah... I know internal motivation)
Does it sound a little related to agile philosophy?

5. Certifications are good if you are an interviewer and the guy with certification is at the other end of the table. Ask some basic practical testing scenario question and if the so-called testing expert does not have a clue about it even though he just gave you a perfect definition of it, you know what you have to do with that candidate. Thanks certification for helping screen candidates.



Certifications are BAD: 
1.Certifications are bad if they force you to just mug up some definitions and do not have practical life questions. 

2.Certifications are bad if you think you will learn testing (or worse, will become an expert) by passing the certification.

3. Certifications are bad because many employers are asking for that and some person who is good at testing does not get that job because he did not have enough money to pay for the certification fees. :(

4. Certifications are bad because they make you feel great for a while, and then later when you get to know the reality, it's hard!!!

5. Certifications are bad because you can get around them. How big can the examiner's question database be???
We all know how many theoretical questions can you make???


:o) :o) :o)

Monday, February 1, 2010

My First Lesson with James Bach, the testing legend

I never knew legends were so accessible. I am very thankful to James Bach, who wants to spread his knowledge to the world.

I had my first lesson from James on "Friday, January 29, 2010 12:44am to 3:37 am".
It felt so great to have two words with James Bach that the first time I got a response as hi from him, I took the screenshot of skype, even though I knew skype archives your chat.

I want to forward the learnings that I got from him to other proud testers:

Verse 1: 
James asked me to describe a test.

And I was very bad at it. I actually defined the test.
My Definition: A test is to explore a product to find out more about it, specially the issues in it. These issues are problems that might affect the user's experience adversely.
(I personally thought I did great there. But alas, what I did was defining the test)

After knowing that what I did was defining the test, I made one more attempt at describing the test.
And that was a little close to describing the test, but it was mentioning instructions to test.
And then James gave me the pearl of wisdom. Mentioned below "as is" in words of the legend:

[1/29/2010 2:04:20 AM] James Bach: If you were actually doing the test
[1/29/2010 2:04:30 AM] James Bach: and I were a blind man standing next to you
[1/29/2010 2:04:40 AM] James Bach: and you were telling me what you were doing, thinking and seeing
[1/29/2010 2:04:46 AM] James Bach: that's what I want

And I learnt now that when we describe a test. It is something like:
"I want to verify that... So what I do is... and then I see this... therefore I think that's working..."


Verse 2:
Do testers make assumptions?
It is a nice way of legends to teach, they do not give you the answer. They guide you to the answer and let you find it. Thanks James.
I started with the bookish answer that I will not assume but I will ask for the requirements or search for them.
And James guided me to the answer...

[1/29/2010 2:22:14 AM] Santosh Shukla: Testers do make assumptions sometimes as a last resort, but they also communicate/state it
[1/29/2010 2:22:23 AM] James Bach: good answer
[1/29/2010 2:22:30 AM] Santosh Shukla: thanks
[1/29/2010 2:22:30 AM] James Bach: of course we make assumptions
[1/29/2010 2:22:42 AM] James Bach: what we need to do is be aware of the critical assumptions
[1/29/2010 2:22:47 AM] James Bach: and trying to declare those


Verse 3:
Complete list of Expectations from the test.

Can you ever list the complete expectations from the test?  NO. 
What we always mention or list is the partial list of expectations. There are many expectations that go unwritten but those are still our expectations.

(My interpretations:)
Verse 3.1 Never promise for something you can not deliver.
Verse 3.2 Can we as a tester deliver complete test coverage? NO
Verse 3.3 Can a test team certify that the product is 100% bug free? NO

"What we CAN do is state clearly what we can do and to uncover the maximum amount of unpredictability from the product that we can." - yours truly

Verse 4:
"Also...Not..."  heuristic.

When I thought that I was done mentioning the expectation from my test, James pointed me to the Also...Not... heuristic. Using this heuristic one can add many more expectations to the already stated expectation by adding Also...Not... heuristic.


One important thing that I learnt while interacting with James was the importance of communication in the tester's life.
(If you being a tester think you can communicate well, explain "clickable" and reply to this post.)


-Sharing is the essence of learning.-
Thanks to James for allowing me to blog about the chat.
My chat with James Bach is my prized possession and I am open to sharing it with another proud testers. Thanks to James for allowing me to blog about our chat.