22 November, 2009

Software Testing Conference 2009

The 9th Annual International Software Testing Conference 2009 in India was held at Hotel Le Meridian, Bangalore on 19th and 20th November 2009. This was my first time at a software testing conference. Naturally, I was thrilled.

Conference Highlights

Exploring Testing Leadership
The Conference kick started with Michael Bolton. Michael spoke about ‘Exploring Testing Leadership’ which is the need of the hour in India. Testing provides quality related information to make informed decisions. It is the leadership who assures quality. Michael focused on how the leadership needs to change its mindset towards exploratory testing and its benefits. As always, Michael left the audience spell bound. Great start to a great conference.

Weekend Testers – Test, Learn and Contribute
Weekend Testers is a peer testing group that started on 1st August 2009 in Bangalore. This group is a common practice ground for freshers and junior testers now. Till Date, the group has successfully run 15 weekend testing sessions for the benefit of the testing community. Ajay Balamurugadas, one of the key initiators of Weekend Testers group delivered an electrifying speech on how this group was formed, how many open source products have been tested so far and the future roadmap. This presentation received a standing ovation from Michael Bolton, Pradeep Soundararajan, Shrini Kulkarni, Dr. Meeta Prakash, Rahul Mirakhur, myself and many others seated in the hall. During later part of the day, Michael was kind enough to mention that Weekend Testers was one of his best presentations in any testing conference ever. Pradeep Soundararajan has been quietly mentoring Weekend Testers from the time of its inception. This success is owed to him and to all the participants of Weekend Testers who have made it a grand success.

Exploratory Testing – The Steroid of Testing
Shaham Yusuf from Deloitte Consulting presented Exploratory Testing – The Steroid of Testing. Shaham went on to show how he made the shift from scripted approach to exploratory approach to provide quality information about the product to the management. He also mentioned about the support he received from the management. How lucky? Or should I say that is lot of hard work. Shaham’s experience report received rebuke from a few scripted testers who asked a lot of questions which Shaham answered very elegantly.

Meetup with Testers
I was thrilled to meet Shrini Kulkarni after the keynote sessions. His energy and willingness to talk was amusing. We discussed a bit about exploratory testing and how scripted testers see ET more as a threat and less as a complimentary approach. He also asked me about my writing challenges. I was glad to know that he reads my blog because he spoke quite a lot about my post on writing.

Pradeep Soundararajan was there wherever there was a false claim related to testing. He was in his usual best to question and it was fun to watch him. Pradeep’s joy knew no bounds when he witnessed the response to Weekend Testers presentation. He also introduced me to a few testers like Tarik Sheth and Shaham Yusuf in later part of the day. It was fun discussing about the topics in the conference. It was also fun to see his bag carry a paper badge saying 'I don't support Certifications'.

Rahul Mirakhur is a geeky tester specialized in Apple Macintosh. I have known him from my previous company, but he got to know me at the RST workshop the previous day. Though Rahul is the Director of QA in the company he works for, he still tests the products like any other tester. I had very good discussions with him spanning Team egos, Software Testing, Audio books, BBST and weekend testing sessions. He is a very good listener and a good mentor. I want to meet more and more testers in India who choose testing over managerial roles. It is so sad to see that most testers here are merely interested in designations and managerial roles than actual testing. That way, Rahul is very encouraging.

Dr. Meeta Prakash is the first woman tester in India with a PhD in Software Testability. She is also one of the first woman bloggers in India. As a woman myself, I look for the firsts’ in Indian woman because it very hard for a lot of woman to come out of the social dogma and make a mark in their professional lives. It’s good that times are changing for the good. I met Dr. Meeta at the RST workshop. We met again at the conference where we spoke about testing, blogging, discussed about certifications. When I asked her about certifications, she said that she did not have any and did not believe in them. To her surprise, there was an annoucement that she had to distribute prizes to the toppers in CSTE in 2009! Rahul and I had a good laugh while she was annoyed. Dr. Meeta helped Weekend Testers by suggesting a lot of improvements in the regional qualifying rounds and fine tuning the presentation for the conference. I am bowled over by her humble nature and willingness to help upcoming testers.

I also met Allmas Mullah, Govindaraja Gupta, Sathya Thambuswamy, Satabdi Roy, Sheeba Elizabeth Ninan, Subramanya Gupta Boda and many others at the conference. Like I mentioned earlier, the participants at the workshop and the conference represented organizations, backgrounds, cultures that were unique in their own sense. It was superb to learn about testing in such a diversified setting.

What I disliked about the conference?
The first day went awry with Bangalore traffic playing a demon to the conference attendees. Couple keynote speakers got delayed and a few sessions were shuffled. This directly had an impact on the Q & A session after every presentation. A lot of good questions got missed because the organizers shooed away most of the questions.

Most fruitful discussions happened outside the sessions with testers and managers from different organizations. This also meant skipping the presentations in the conference. Maybe, this is the way it works in most conferences. This tells me I need to attend more conferences in and outside India. I need to work on being a presenter than an attendee.

A few presentations were so boring that it just went over my head. I also thought that many people like you and I could present better than some of these presenters. When I told this to Pradeep, he said 'There will be more people who feel the same when you are presenting right up there'. It’s human, Isn't it?

Time for Reflection
I was left with mixed feelings about the conference. On one side, there were many presentations that were designed around buzzwords like Agile development, Cloud Computing and tons of automation tools. On the other side, there were people who talked about predictability models which help in predicting the number of test cases and the number of defects in the software. I was shocked by this particular presentation where the speaker went on to say that the defects and test cases could be predicted and the testers would achieve these targets. What crap!

Overall, given that Indian testing industry is tightly focused on scripted approaches to testing and 100% automation dreams, it was no surprise that the conference focused more and more about these and less about exploratory testing. Nevertheless, it was a good learning experience for me.

October 2009 and November 2009 have been the most hectic times in my life. These are also times where I have learned a lot of different things. BBST, RST, STC 2009 – great experiences. It’s time to put my learning’s to use. It’s time to test better than ever.

Happy Testing,
Parimala Shankaraiah

20 November, 2009

Michael Bolton – The Magician Tester – Rapid Software Testing Workshop

A couple of months ago, I was keeping my fingers crossed that Michael Bolton should make it to the STC 2009 Conference in Bangalore which also meant there were chances of his workshop in Bangalore. This is the first time I attended Michael Bolton’s Rapid Software Testing (RST) workshop at Bangalore on 17th and 18th Nov 2009.

I hated magic until I attended RST workshop. Michael stated ‘Magic fools people, so do bugs’. How about learning the tricks of magic (bugs) and stop getting fooled?

Debunking Magic Tricks from RST Workshop
1. Focus on the states of the product under test
2. Watch out for the change in states
3. Look for distractions while the changes happen
4. Observe the sequences
5. Believe that magic (bug) does not exist
6. Search for backdoor entry (Sneak in)
7. Turn on the lights
8. Record and watch in slow motion
9. Distract the magician (programmer)
10. Inject yourself into the process
11. Ask the magician (programmer)
12. Read a book
13. Search on the internet
14. Share the problem
15. Use visual, auditory and tactile skills
16. Take notes – Whoever takes notes controls history (Don’t know whose quote this is)
17. Ask questions
18. You may be right about bugs. But, let the product owner decide
19. Get around the constraints while testing
20. Critical Thinking (huh?, Really?, So? by James Bach)
21. Learn to make snap judgments
22. A visible bug is just the tip of an iceberg. Don’t rest until you find the iceberg
23. Don’t mind a bug if you know that it is not the tip of the iceberg
24. When you don’t know about something, you feel the pain. Get over the pain and learn about it.
25. Break the rules

Rapid Software Testing Workshop
Rapid Software Testing (RST) workshop is very experiential in nature with a good mix of testing exercises, puzzles, magic tricks and games. The workshop consisted of testers, leads, managers, senior managers, directors, development managers and independent consultants. It was a good mix of people from different domains which provided a great platform for discussion about different challenges faced in testing. RST is a once in a lifetime experience. If you have missed it this time, don't let it happen again. Wait for Michael to come back again.

Michael Bolton
Meeting Michael Bolton is one of the most special moments in my life. I have been following his teachings and writings for almost a year now. Talking to Michael in person was mind boggling. It was very startling to see an expert tester like him being so down to earth and open to listening and learning about new ideas. Michael was also very interested in interacting with testers after the workshop and spent time discussing about testing. He also posed for a lot of photographs with tons of energy and excitement.

Guru Devo Maheshwara
I always wanted to meet Cem Kaner, Michael Bolton, James Bach, Pradeep Soundararajan and Shrini Kulkarni in person even if it was just saying ‘Hi’. I met Pradeep on 15th June 2009 - a superb moment. I met Michael at the RST Workshop on 17th November 2009 – a dream come true. I met Shrini at the STC 2009 Conference on 19th November 2009 – a big surprise. I never thought that meeting 3 of my Testing Gurus would happen so early in my life. What startles me about each of them is their humble nature and broad minded attitude to interact with, encourage and motivate thousands of testers like me. I am still waiting to meet Cem and James.

Great Learning, Great Moments!
Parimala Shankaraiah

16 November, 2009

Black Box Software Testing Foundations Course

I just completed my BBST Foundations course. BBST Foundations course is an online course which includes a basic introduction to black box testing. Ah! An online course, 1 month duration, black box testing. Yeah, Yeah, You have heard a lot about universities offering online/distance learning courses to working professionals who are desperate for university stamped paper certificates. I just figured out this is NOT such a course.

What I learned in BBST foundations course?

Basic knowledge of Computers
Before you think that I am challenging your ego, just answer this question ‘Do you know how memory storage works in computers?’ Compare your answer with actual facts of memory storage. Do they match? Basic knowledge of memory storage in computers is essential to being a good tester. This adds to the skill set of the black box tester. BBST showed me how miserable my knowledge of the basic computers is.

Basic knowledge of Arithmetic
While working on Matt’s Testing Challenge, I was surprised to see how the number of potential test cases was arrived at. At that time, I just wondered about that magic number. I did not realize that it was simple arithmetic computation. Knowledge of basic arithmetic computations is important to find the populace of tests that need to be executed.

Self-Inflicted Captivity
In India, test cases and scenarios are written by the leads and passed on to the sub-ordinates to test without questioning (in most organizations). In simple words, the trainees, junior/senior testers would not have scripted test cases or designed test strategies until they become leads themselves. The problem with these people is that they never stepped out of this captivity like me. Now I know why I failed in Matt’s Challenge. I am not concerned about winning or failing a challenge. I am concerned about not learning from these challenges. My ex-CEO Josh Pickus once said ‘Don’t be afraid to fail. Fail. But don’t fail to learn from your failure’.

Automated Testing
I worked very little on automated testing in my first job. Later on, I learned Perl which I never used. In my current job, I hardly find enough time for manual testing; forget about automated testing. Solid excuses. The truth is I have not made a determined effort to learn and practice automated testing. I realized this gap while I was studying BBST course. There were a couple of questions that focused on test automation and I was pathetic to say the least. Testers need to have a hang of automated testing. Like Elizabeth Hendrickson tweeted recently ‘I advocate 100% of *regression* tests being automated. But no, I don't know anyone who thinks 100% of all *testing* can be auto’.

Solving Practical Problems and Investigation
A tester needs to think beyond the testing job to be a good tester. Just testing may not make anyone a good tester. Being able to learn and solve different types of problems helps think differently. Identifying and solving real time problems as simple as ‘Door Lock not working’ or ‘Your car making strange noise while driving’ gives good experience in investigation skills. Investigate Now!

Careful vs. Sloppy Reading
All of us read blogs/articles/magazines/books on the internet. How much of it we really absorb and apply to our context matters over how many of these we read. Most of us fail to see the significance of careful reading. You never know when an idea strikes while you are reading. Read carefully. Sloppy reading hardly fetches anything.

Written Communication
Some of us fail to write as well as others who are good at it. Some of us write better in native languages and get intimidated to write in English for fear of losing the right ideas during translation. What if you are expected to work in a global setup where you need to interact with testers from different parts of the world? You need to interact in English and put across your thoughts precisely. You may be saying the right thing, but you may not be clear enough in your writing. This challenge was significantly seen in the foundations course where a few of us were unable to articulate our thoughts clearly resulting in more and more clarifications during group discussions. Written communication is a key skill for a tester. Start writing your experiences. Blogging is a great way to learn about writing. Start your own blog and practice writing.

Reading about diverse topics
Being a science graduate, I found psychology books fascinating. I would read psychology text books for hours on Saturdays in my college library. This helped me be a good counselor among my friends to help with their problems (silly teen problems!). Back then, I felt very proud of this trait and I read more just for fun. Today, as a tester, I find that knowledge helping me understand the emotions of the humans much better while using the software. Read anything and everything that fascinates you. Don’t get bogged down by the fact that you can’t put what you read to immediate use. Knowledge is power. Get that power.

What I learned in BBST Foundations course does not make me a good tester overnight or over a period of few months or years. It makes me a good tester if I have assimilated what made sense to me and my context and put it to practice in my daily working life. This course clearly highlighted my strenghts and weaknesses. I need to enhance my strenghts and work on my weak areas to be a better tester.

BBST Foundations course is a MUST for all people who test and who manage people who test. It was a course of reflection for me and I am glad I took this course so early in my career. I now know where I was heading all this while and I also know where I want to be heading going forward.

BBST Foundations course emphasizes on learning through practice and experience instead of memorizing answers to objective questions like the ISTQB/CSTE/CSQA and other crappy certifications (I call them crappy because the value add after getting certified is so little). Being an online course, this is no easy one to get through. It is a well thought out and practically designed course with years of hard work, revisions and modifications. BBST does not certify that you are a good tester, it will show you different paths to be a good tester. You need to figure out which path to choose and how to make it work for your context. This course has taken me a little closer to James Bach's Personal Vision of Testing Expertise 'I can test anything under any conditions in any time frame relative to my standing in the local community, how hard I try and my technical insight'.

This course is by far one of the best learning experiences in my entire life. I am looking forward to the Bug Advocacy course already! Go Experience BBST!

Thank You BBST for the lovely learning experience,

Addendum on 1st Dec 2009:
I passed the BBST exam. Pari Pass Ho Gayi!

Happy Learning,
Parimala Shankaraiah

07 November, 2009

The Writer’s Block

Recently, I got a chance to write about testing. A couple of testing magazines called for testing articles for their upcoming publications. I thought I should try. I have never written a formal article before. By formal, I mean writing about testing for testing magazines. I did think a couple of times to write for stickyminds before I started this blog, but then it never materialized. I wasn’t probably passionate enough to write at that time.

I thought of a topic and wrote an article with a friend of mine because we thought that both of us could clear the writing hurdles easier and faster than if each of us wrote articles on our own. We wrote it, got it reviewed by a few generous friends. One of them termed the article ‘Dangerous’ – yet was kind enough to review it. We emailed the article to the concerned person. We did not receive an acknowledgment email. I and my friend knew that it was a good first attempt, but maybe not good enough even to be acknowledged. I was left depressed, but thought that I should not give up.

I got lucky second time when I got an email from a very great tester asking me if I could write an article. I was excited. I chose a topic, brainstormed a bit, gathered a lot of information by speaking to my friends about the topic and reading up a little on a few related areas. I wrote the article the second time not to mention I wrote it all by myself. The same set of generous friends reviewed it and provided feedback. One of them thought that my article sounded like an ‘Attack’ to the intended audience. This time around I was deeply hurt. For a moment, I thought I was useless. I am still struggling with this article while I write this blog post.

In the last few years, I have not found anything as hard as writing about testing. This has been the most challenging task for me in a long time now. What is stopping me from writing about what I know about testing? Why is it that I am unable to write better though I have good written communication skills? At least my blog posts aren't that bad in terms of writing (I think so). At this point of time, I am thinking that the reason for my failure in writing about testing has got to do with the following:

1. Insufficient knowledge about the chosen topic
2. Inability to brainstorm in the right direction
3. Lack of widened knowledge (there is a need to know a lot more beyond testing in order to write better about testing)
4. Lack of experience (more the experience, wider the perspective)
5. Not reading enough testing books, articles, blogs etc

I have been watching a few testers who can just write about anything related to testing based on a few catchwords (theme) given to them. That can’t be magic for sure though I know it involves a lot of hard work to get to that stage. I am not worried about failing. I would be worried for sure if I did not learn from my failure. I have not given up yet. I think of chasing every little task that challenges me. I am going to give it my best shot yet again. I am hoping I will get better each time I fail.

It is important to start practicing writing. If you cannot write well and express your thoughts about testing, how will you succeed in convincing your developer to fix a bug by writing a not-so-good bug report. Start writing and get better at it. This is a very important skill in our day-to-day job as testers.

Happy Writing,
Parimala Shankaraiah