Wednesday, March 27, 2013


Consular or Counselee – it’s about satisfaction

On the side track to testing there is an important factor that impacts everyone in this industry. Sometimes we understand the need, sometime we ignore. I believe it is important to have a consular for everyone. It could be just a well wisher or a professional consular. I am a self made man and so we all are but if we role back a bit and take a peek in our past we might find out few people who gave us right advice at the right time. I am grateful to many of them, specially the one who gave me the pointer to come to testing, seven long years back.

The consular could be anyone. Someone you worked with long back, someone you are working with or someone who just know you professionally. I am not sure why everyone needs one but I do because of some reasons and below are few to point:

  1. Dilemma - When you want to take a decision and you are not sure what to do, you might need some advice. The person who is giving advice is not in the same pressure and might think about it with open mind, more objectively than you will.
  2. Knowledge – Your wisdom could be more but what you need to know is the right direction and knowledge. Everyone has different interests and so has different knowledge zones. You might know sometime better than your consular but there still could be a side in shadow which can be enlightened by the right person.
  3. Comfort Zone - You have a comfort zone and you don’t want to move out of it but that person can guide you or motivate you to push you out of the comfort zone because they believe in you more than you do yourself.
  4. Reverse Satisfaction – Most importantly one day the consular can become the counselee and counselee can become consular. Again its just the above points which make you a consular or counselee. The satisfaction to support someone in the time when they need is beyond ‘words’ and each one of us has experienced the both side of it sometime in our lives.

I have a consular who is far far away from me, he is in USA but we meet often on the cyberspace. I guess the way you need a friend to kick back beer on Friday evening to lose yourself in the same way you need a professional friend with whom you can sit sometime to discuss, you know what…

If you don’t have one seek for them and just give it a try or if you are ready to be one, someone out there is seeking for you, so switch on your mind Bluetooth.

Thursday, March 21, 2013

10 Points for Testing from my experience


Each day brings something new and something beautiful which you might understand at that moment or it might take months. I remember one such day which taught me the importance of one of the key artifact of testing which I was aware off and used in past but never understood the importance of it till that day.

I was working in a web based testing project lets call it “Project Wolverine”. I don’t want to reveal the name of my project and this way it is fun and let’s face it we all love Wolverine from X-men. To give a little background,  the project is about performing functional testing on a web based application which has multiple tabs with various workflows affecting the data to flow from one tab to another. I would not say that is the most complex project I have worked in but it wasn’t the easiest one either.

We started working on the project with various stake holders from different directions to come together in a workshop to make this dream project come true. There were no written requirements so we as test leads needed to make as much as notes possible. Everyday I use to put all my notes into a format which can be understood after a month as well. Time was flying and with-in a month the development and architecture team started to work things out and soon there was a draft deployed for us to test.

The team was excited to test the new product with high energy to find 100s of defects everyday. I would not blame Development team for all the defects because there could easily be miscommunication of understanding the requirement.

The first cycle of testing was over and development request for some time to make a good defect fix build to reduce down the number of errors. We as testing team got some time out. We went out for lunch, games, movies and many more outings to celebrate our 1st journey through the mysterious island. Now we had to utilize the time and so we book a room. Sit together everyday, discussed each functionality in depth and build a document which had all the requirements that we tested as per our understanding. We sent it to the business and there were many rounds of review and changes and finally we came up with a good enough documents, called ‘The Black Book for Project Wolverine”

We were all set to take another ride but who would know that the disaster was about to come. From a team of five resources, three of them left the organization with-in two weeks. We two knew most of the functionalities but we never tested all of them. So we started to recruit few people internally and we found two awesome testers.

We decided to build a regression cycle to work along with our defect fix cycle and now the people with knowledge of some functionality are gone so it became hard for us to find the right test cases for regression testing cycle. I was in a discussion with one of the manager (let’s call him Boss X) over lunch and I still remember his response to my question, word to word:

I asked “We built the requirement document, we built the test cases, we have all the knowledge and we are the once who raise the defects even then why is it so hard to find out the correct regression suit?” I sounded frustrated. He was not the Test manager for Project Wolverine; He replied:

“Do you know in how many ways you can reach to our office from here?”
“Yes, there are three roads leading to it” I said and thought has he lost it? Was he even listing to me?

“Think again, and this time as a tester” He said and I gave it a thought and replied

“Ya, may be more” He looked into my eyes and said

“You might know the shortest part or the easiest path because that is what you will choose as a regular driver but what about if you can rent a chopper and fly, what about if you walk, can you trace pass few apartments or go from a walking alley. What about public transport, will it take the same route. The whole point is you may know all the paths but what you actually need is a way to find out all the traceable paths to reach then you will be able to choose which one will give a good coverage” I was still processing his statement and trying to relate it to my issue of building a regression cycle and suddenly it stuck to me what he was asking me to do is to build a Traceability matrix.

“Traceability matrix!!! you could have told so.” He looked at me and replied

“You know what it is. I just needed to remind you the importance of it.”

I went back to office and called my team in the room and started building a traceability matrix. It took us two days to map all the requirements to test plan and test cases. Another 1 day to map all the defects and risks to it. The only thing left was to use filter function to choose the right test cases for our regression suit.

Well the project was a good success and it went into production in few more months. I was happy with our performance and it was time for me to move on to another project. Boss X came to me and said

“Can you put down just 10 points about the learning from project, could be things you followed and could be things you should have followed. You don’t have to send it to anyone but you will thank me later.”

Here are the points I gave and I still think they make most sense for any project that I worked before and after that project. These points make a lot of difference if they are followed.

  1. The requirements were not given but that doesn’t mean the knowledge was not given. We as a team can always find sometime out to built a ‘Black Book’ by ourselves. Which made a huge impact in project wolverine
  2. If there would not have been any peer reviews (static testing) development and testing teams would have invested a lot of time in rework.
  3. Ad-hoc testing is as important as regular functional testing as it gave us few paths which were left unattended and not tested. It gave testers a freedom to think and explore without test cases.
  4. Never accept a piece of code without being signoff with unit tested by developers as it will invite a lot of time investment in defect logging and retesting.
  5. Biases in the team are only means to create differences among them.
  6. Maintaining standard documents for all the activities that every team member performs and doing cross training is important to avoid ‘Single point of failure’. Communication between the team members is far more important than it sounds as it can remove gaps, misunderstandings and build a trustworthy environment. So say yes to everyday meetings.
  7. Maintaining project status and keeping track of progress is not to monitor testers but it’s a means to know that are we on right track and right speed. It is one of the essential parts of testing.
  8. If something has failed in the past does not mean it will fail again. One of the example was using excel add-in for QC, which failed in the past because of lack of knowledge but later was a success and has proven effective.
  9. Transparency is the key for team to be presented as one. If everyone has the same knowledge might give insecurity to one but in reality makes a strong team. We used one mail distribution link instead of individual email ID. Especially for other touch point teams like Environment, deployment, development and BA teams.
  10. Last but not the least – Knowing the product does not make us an expert. It is important to document and built a traceability for each part that is being tested.