"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.
Showing posts with label fun. Show all posts
Showing posts with label fun. Show all posts

Tuesday, January 03, 2012

How Pradeep teaches software testing - Part 4

If you didn't know how Part 4 came up? Here is how it came. I first wrote Part 1, then Part 2 and then Part 3 ;-) So, logically here is Part 4 of the series How Pradeep teaches software testing.

"I know how to do certain types of testing but if someone asks me to explain what I did, I struggle to explain" was a problem statement I heard from a tester today. I replied in a confident tone, "I know why that happens. It doesn't just appear to be your problem but I know a lot of testers who appear to have the same problem." 

I continued, "You should consciously practice explaining what you did, first to yourself and then to your colleagues although they probably know how and why you did it. Why? I am going to explain how your brain works (or how I think it does). It has two nodes. One that contains what you know and the other that controls your explanation of what you know. When you make a conscious effort, you are forcing a connection between these nodes in your brain. When you force your brain to connect those two nodes too often, at some point it will judge the need for a permanent connection and create it for you. After that you have a free flow of what you know and your explanation of what you know." 

After I said the above, I could see a smile in the face that reflects, "Yes, I now know how to solve this problem". I read a person's understanding not by their head nodding or when I hear, "I get it", but by the emotions and expressions on their face and the body. 

James Bach identified that I was a metacog. I didn't know I was one. After that, it has been very helpful for me to understand why I do things the way I do. I guess I turned myself into a metacog because I thought it suits the kind of testing I wanted to. It's not a special status, it is just a way of life.

I don't even know if the brain works the way I explained it to be but I guess you can understand why the above explanation makes sense. I make sure I tell people that I am not trying to misinform them about anything when I use such examples. I am just helping the tester imagine why there is a problem and how to solve it. A lot of my coaching is consulting.

Examples like the one you read above govern a major part of my coaching. I observe a lot. I practiced consciously making connections between what I have seen, heard, thought, experienced and know to being explain it when the context demands.

Analogies and Examples are powerful approaches to teaching. I need to know what connects to my audience very well. Although all my audience are testers, I can't use the same analogies and examples, it just doesn't work. Bangalore testers need a different example than those in Pune. In Pune, I would talk about Raj Thackery and in Bangalore I would talk about Vattal Nagraj, in Chennai about Goundamani and not about Vattal Nagraj. Now, for those of my readers from United States or Europe, you wouldn't know Goundamani or Vattal Nagraj and hence I would use examples of Chuck Norris, Sarah Palin, Julian Assange. If you are a F1 fan, I'd talk about testing through specific GP incidents. That's how the examples need to adopt based on audience. I also use a lot of examples from what I think the world connects to. For instance, I closely read and watch Air Crash Investigation in Nat Geo channel. OMG! There is so much to learn from the way NTSB (National Transportation Safety Board) deals with it. So, basically as a coach, I have to keep connecting to various thoughts and happenings to be able to connect with my audience. 

Similes, Metaphor or if you choose to call them Analogies are interesting and tough piece of cake, if you are the one providing it. People tend to take it in their own interpretation than what you intend to. It is good in a way, I get to learn when not to use what type of analogies to what kind of people :)

I use Fishing for explaining test coverage. I know a few other people have already used fishing as an example for teaching testing, so I didn't invent it but I know how to explain different concepts of testing with the fishing example. I think that most learning happens when you are interacting with the audience and not when you are explaining. That's where I do better with the fishing analogy.

I start drawing different types of fish, from guppies to clowns and from star fish to sharks. I then draw a size and shape of a specific type of net to catch fish. I give them a goal of catching as many different fish as possible in a limited amount of time. Some audience come back and tell me, "Ah with this net the guppies will escape"... what's your immediate thought? You would tell them to build a net that has smaller squares to catch guppies?  (Why say it? They know it) I would probably be Pradeep and say, "Fantastic. A lot of time spent celebrating the success of finding one good bug steals away the opportunity to find more good bugs. How do you want to celebrate? 3 minutes left."

So, after they come out with strategy and different nets, I tell people that just because they have nets (tools) to catch a specific type of fish it doesn't mean they can really catch a plenty of it. I then tell a story and examples from my life. One of them: I consulted for an organization who had bought an expensive automation tool hoping that they would now be able to find more bugs. They spent all their energy to set up tests on it and found fewer bugs over the year. I drive points like: Tools don't help you unless you know how to help the tools to do what you think they can.

For a while people think it is possible to catch a shark from a net. It is possible, maybe. I explain how a powerful shark can bring their boat down if they try to catch it through a net or a fishing rod and how a harpoon is better than a net. Sometimes people try to think of similar approaches to solve many different problems. The example of shark, net and harpoons are cool for people to relate to something they have done in the past that shouldn't have been done the way they did it. I then equate different types of fish to different quality criteria. I ask my audience what type of fish are they mostly catching and I hear a shout, "Functionality". 

After a lot of back and forth between me and my audience, we all discover what good test coverage could mean. I then start probing into their projects and figure out how much of fish they are missing that they shouldn't be and try to help them understand why they shouldn't be catching too much of the same fish. Sometimes it upsets the food chain :) 

While there is fishing in my class, there is also plenty of room for Sine and Cosine for Test Techniques, Brian Marick's Minefield Analogy for Regression Test Strategy, Tom and Jerry examples for How Scripted Testing is dangerous, what lessons can we learn from Saurav Ganguly's come back, how to read Sachin and Kambli's career graphs, farming... It must be fun to sit in my class. I don't know, I have never been able to.

Happy New Year!

Tuesday, January 18, 2011

the 5 years of blogging as Tester Tested

I am a changed man today. I didn't know I would be here when I started this blog exactly 5 years ago. I want to thank you all. I don't know if this blog has influenced you in any way but it has definitely had a huge influence on one tester I know - me.


Thanks to all those who motivated me to reconsider blogging when I almost announced I will stop after a lot of plagiarizing incidents. Today, I am least bothered if someone plagiarizes. I have learnt sick people exist in this planet. Hey, it wasn't bad learning. It also told me that there were great people and I should care for them.


Instead of me doing my usual blah blah, why not you comment and tell me the posts you like from this blog and why? If you don't comment, I won't assume anything :)

Thursday, January 13, 2011

Who do you think is the legend behind the success of all these leading testers?

This is a true story that happened sometime ago. I met Andy Glover (the famous Cartoon Tester today) on my flight to Sweden. We were sitting in adjacent seats. He was drawing cartoons and I was trying to see if I can do one related to testing.  That's when he started a conversation with me asking, "Are you a tester?" and then I instantly replied, "Yes". Back then, no one knew Andy Glover. He was yet another tester out there.

The next thing he said was a bit disappointing though. "If you are a tester why don't you recognize that your cartooning skill is too bad?". I challenged him at 35,000 feet to see if he can do some good cartoons  in testing. He was initially saying, "Nah". I realized he was passionate about testing and cartooning and then had the following conversation when he finally agreed.




He has done superb ever since. He has rocked the entire industry with his cartoons. Now that the world thinks about him in many great ways, I want to tell the world who has been the reason behind all this success he has got in just one year. Its me, the legend of software testing, yes, the great Pradeep Soundararajan.

OK, you may ask me why I am a legend. I am a legend because I have had my own role, a very important one in success of other testers.

For instance, I met James Bach online in a chat room for testers and was sharing my plan to start a Test Consulting Blog  and then he started Consulting Tester Blog. He is the top blogger today.

Michael Bolton before he started Developsense blog was playing 2+2 exercises with me and I said 2+2= Developsense blog and then told him, I plan to start one. He apologized for giving such exercises to me that made me think of starting the Developsense blog. Today Developsense blog has influenced the world. Did you check it out?

I even asked Jerry Weinberg if I should write Perfect Software & Other Illusions about Testing, when we met in Tortonto Workshop on Software Testing 08. He then wrote the book overnight to save the craft of software testing. He released it the next day in CAST 08.

My contributions didn't stop there.Ask Rosie Sherry for instance. She and I were chatting on Gtalk and then I said, "Hey, I am planning to launch a software testing community over Ning" and then she instantly registered the name I planned to and saved you all from the club I could have started.

With others, I have signed an agreement that I won't reveal that I am the reason behind they getting all the success in life but the agreement doesn't state I can't mention their names, it just states I can't mention their blog links :)

So, here is the list

Adam Goucher - was telling him about my plans to become an expert in Selenium & consult for all companies in Canada. He just instantly turned into a consultant.
Maik Nogens - I recently threatened him :)

Matt Heusser - shared my plans with him to start a new blog called XNDEV and my plans to write for SoftwareTestPro. He thought Software TestPro shouldn't die and volunteered to save them.

Lisa Crispin - During her India trip, I was sharing my notes about Agile Testing with her and said I may write this out as a book. She wanted to save the agile testers and requested me to not write one so that she could.

Elizabeth Hendrickson - Again, she had been to India for consulting. I met her and shared my plans for starting a blog titled Testobsessed and write some real good posts that hit people hard. She was nodding her head in dismay and pulled out her computer and started writing the blog.

Ben Kelly - into learning martial arts and testing. He mastered it over five hours.

Tim Coulter - Told him, I am planning to start corkboard :) It was live within hours. It had so many corks just thanking Tim that he silently thanked me for each cork.

James Lyndsay - Talked to him over skype and shared some test machines with him and discussed my plans to go ahead and make it free for testers. He requested if I could wait for one hour and bang he had half dozens of them.

Santhosh Tuppad - Shared with him my plan to win all Utest bug battles and then he wanted to save the world. He then became a multiple and serial bug battle winner.

A few years back BJ commented on my post and we had an argument. The argument ended in me threatening him that I would write a book of how they test software at Microsoft. Next day I wake up to get a news that Microsoft Press has released the same book written by BJ, Alan & Ken.

Show me a successful tester and there is this kind of magical touch of mine on that tester. I am the legend. I am the legend!

Blessings cost $500 per minute. Who else wants to be successful in software testing?

Tuesday, June 01, 2010

Usability of usability & performance of performance

Hiya there. My name is Pusher V9.3.4 and I am a web application software living in thousands of computers worldwide. I am twenty four years old. I was born to help humans transfer data from one secured location to another and to provide them with a report of all transfer they have done in the past. I have traveled around the world and for every economic meltdown, I was moved from one country to another. I don't do anything different from what I am programmed to do. However, in several situations, humans using me make conjectures that I do things I am not supposed to.

For twenty four years, I have been silent, mostly because software applications like me need to listen to Windows XP and Internet Explorer for our survival. Today, I was transferring some data for one of the human and just peeped in to see what is he browsing. I hit upon this blog and read the words "Some birds aren't meant to be caged" and instantly decided that I belong to that category. I feel happy to have broken my silence.

This would also be the first time I am going to be doing something that I am not programmed to do. I started writing this post when Chandok from Turkey hit the "Generate Report" button. I am aware that I am running a risk of being kicked out of CoWAP (Community of Web Applications) for violating the rules. I care a damn, I want to be of value to you.

I don't plan to take a lot of your time. I want to tell you a story that I witnessed and was forcibly a part of. So, here it goes...

As the number of computers grew so did the number of users. To those who were developing and testing me, it meant they had to help me handle thousand times more data than I ever did an year back. Someone came up with a plan to test my limits and I could hear a term, "performance testing" being used very often. I don't have any physical feelings like what humans have. To me, if you do a load or functional or stress test, its all the same. I won't empathize with a user when he is stressed. I am not programmed to do that, mind it.

So, one fine day, the product manager came up with a list of response times that I should possess for a set of actions that humans are likely to perform on me. I was wanting to know how good I am programmed to handle complex things quickly. The tests were planned and executed. 5 seconds was the target for a report generation. At that moment, I could generate a report in a little more than 2 minutes. So, there had to be a lot of tuning done on me. After five months of effort, they got me to perform the report generation in 10 seconds. Considering my earlier performance, they thought they had achieved something phenomenal. After they made necessary changes to the hardware on which I was hosted, they could see a further drop and I was generating reports in 3 seconds. To test if I would scale for future, they added about 10,000 more concurrent users performing complex operations while reports were being generated. I was varying somewhere between 8-12 seconds. That night they had a party. Only I knew why they shouldn't have had the party.

About 7.2.1 versions later or in other words, 11 years later, how long do you think the user takes to generate a report? 12 minutes.

While you might start suspecting that the reason behind 12 minutes is due to a highly expanded user base, I still take 5 seconds to generate a report but the user takes 12 minutes.

"How can that be?", is that what you are asking, too?  The math that you have learned is of actually little help in such situations. Allow me to explain that to you.


Due to changing requirements, the report generation which was a one click action was turned to a multiple entry and then do one click action in V6.3.1. So, a human has to input several things before he can actually do that one click on me, to see his data transfer report. For instance, he needs to input the date range, the kind of report he wants, the format in which he wants the report, the email id to mail the report, a couple of check boxes, huh, half a page of mandatory fields and rest half of optional fields.

Here is the scenario of 12 minutes : Most users enter incorrect values. I don't have a problem. Its not my problem if I crash. I want to be of help but if I am programmed not to be of help, I just do what I have to. When a user enters incorrect values in some fields, he is shown an error only for the first field and then he goes makes a correction, hits the "Generate Report" button. I then show him that another field has an incorrect value. He corrects that and then hits the button again. I then show him that the third field has gone wrong and force him to correct it. Like this I do for one full page of fields and check boxes. When everything filled in there appears to be right, I am forced to show a warning that a huge file will be emailed to the mail id given and ask them if they still want to go ahead with it. Finally, the human gets to hit the "Generate Report" button and I get into the branch of code that takes just 5 seconds to generate the report.

"Is that a problem?", you may ask. Trust me, those who developed and tested me believes it is not because they are not aware that the users are taking so much of time to generate a report. "How come?", again, you may ask. Simple, I have a page whose title is "Report Problems / Feedback", many thousands of users click on it and see a couple of fields and check boxes. I just giggle when they close me after seeing that page. That's what you might want to call as "Checkmate" if you are chess player.

I just wish I could have told those humans developing or testing me that, not paying attention to usability and focusing on performance would make them poor performing software professionals. I also wish I could tell them that the metrics they were collecting and the way they were drawing inferences was the best way to fool themselves and the people around them.

Even if I said that, would anyone bother to listen to me? No way. Am I bothered that they wont listen to me? No way.


Yikes, time to go back as it looks like the Chandok has finally passed through all the fields and check boxes.  Bye!

Wednesday, March 03, 2010

Progress Report 2009 : Pradeep Soundararajan



On clicking that image, the progress report should download. Hate that idea? You can download the same file by clicking on this link, too. 

Other updates: 
  • There is a public workshop on Skilled Exploratory Testing planned in Chennai on Saturday, March 27th, interested testers send an e-mail to me at pradeep.srajan@gmail.com OR if you know of any testers in Chennai who want to attend this please pass them on the information. The fees are very nominal but please don't ask for Ranganthan Street rates!
  • I am releasing a book this year. No, not the interviews book. Not that you have to pay for it. I am going to make it available online for free. I am tired of the process of getting it published. Maybe if it does well, some publisher would volunteer to slow down the process. Sharath Byregowda knows what book I am talking about. Hard bound printed versions shall also be available on demand. I need someone with real good English to help me copy edit the draft I have. 
Oh, don't forget to checkout 2009 Progress Report. It is a PDF file for sure. Thank you all.

Thursday, January 28, 2010

Black Viper Testing Technique


The following conversation is a copy paste from LinkedIn's Software Testing & Quality Assurance group in which I write a lot.


Senior Software Engineer - Quality Assurance from somewhere responds:

Never heard about it?I googled the term and found one helpful link. http://www.phadkeassociates.com/index_files/robusttesting.htm but Wiki doesn't have any results for it, as per me its not as concrete as other testing techniques.


and then XXX, PMP, Associate QA Manager from some_organization

Robust testing means the degree to which a software system or component can function correctly in the presence of invalid inputs or stressful environmental conditions

Sr Software QA Engg from elsehwere responds


Is it something like the stability Testing? I never heard of this terminology.


Pradeep Soundararajan : Independent Software Tester with an experience of 7 million and 4 hundred mistakes in testing responds

Same as Black Viper testing.

Wednesday, December 02, 2009

Why testers need to learn to write code that works?

One of the things you thought I don't do often as a tester is - to write code. You are not completely wrong. I immersed myself all these days trying to be a tester who is /mostly/ black-boxish and interacts with the software through GUI. Did you read it as, "A black box tester doesn't need to write code?". Stop reading it that way! Read a sentence the way it is written and not the way you expect someone else to make a mistake that you like them to do.

You shouldn't be surprised to know that in the past I have written little tools, utilities and batch scripts that helped me or a test team I worked with. At the worst case I used to edit those scripts written by others to suit my needs or the mission. No matter how small they were, the value was the key.

Perl has been my favorite (you think I explored others enough, nah) since I first discovered it being used to automate checks in my first job. A couple of weeks back I decided to focus on shaping myself to be a tester who can write code in Perl for automating checks for most kinds of software I test. Irrespective of whether I am hired to do so or not, I'd want to be equipped.

In order to practice stuff that I learn in Perl, I decided to create exercises, puzzles and games for testers. That way I am trying to have more fun learning Perl. Perl itself is fun in its true nature and imagine adding more fun to it.

So wanna check out the puzzle I have for you? Hold on, don't be in a hurry.

Saturday, November 28, 2009

Weekend Testing : 16 : Test and Experience Report

Mission: To find three conditions where Defender wins, Defender loses, and Neither Defender wins nor Attacker Wins for SpeedSim.

Deliverable: Send the combat report of the simulated battle for each of the conditions in a zip file.

Tester: Pradeep Soundararajan
Time: 3:00 PM IST , 28th Nov, 2009

Later there were more missions that were added (bad I didnt pay much attention but was able to recover quickly )

Notes:

# I downloaded the application and asked questions about the version of the file before I installed.
# Having some time, I discovered the existence of an online version of what I downloaded and installed.
# I am spending time trying to learn what the application does. Wondering how I should learn this game.
# Found a tutorial of what this app is all about at : http://www.speedsim.net/index.php?page=tutorial. Quickly brushing through it.
# Working on achieving the mission at 3:20
# At about 3:35, I feel I am close to accomplishing the mission but not sure if there is a trap in there.
# I wonder what a partial win is? For instance in one of the report below I saw a 98% win for Defender ( Can I achieve a 50% win )
# I realize that I am not getting caught by the complexity of so many fields to achieve the mission. Keeping it simple.

Thursday, August 13, 2009

Bangalore Weekend Testers: Fun, Learn & Contribute

Let me brag a little bit and then get to the core. I don't believe in feedback forms that are asked to be filled by participants at the end of a training program. That's not a time to fill the feedback form because the value of the training can be determined only when participants get back to their work and apply the ideas they gained.

However, I ask all participants to fill it because the client who hired me wants it, so I don't necessarily change myself per se after looking at the feedback forms unless someone takes time to talk to me about it. As Mohan Panguluri says, "Pradeep, you are like Himesh Reshamaya. Either people fall in love with your music or they hate you at core" and its so true. My feedback forms hardly have an average rating. I am hoping that you saw this feedback report that I bet with all trainers of the world as hard to achieve. I either get a -30,000 rating or a 6 on a scale of 1 to 5. So, you see, how much they hate me?

Now, the actual feedback for me is when people go back and perform better at work. Of course you know about Sharath's great story that fetched him several awards at Mindtree. That's history now.

So, let's look at present. Quoting Jon Bach, "I prefer testers who are more curious than technical. Being technical does not make you more curious, but curiosity can make you more technical."


I mentor a few testers who are as curious or maybe even more curious than me. A co-incidence that these people also attended my workshops on Exploratory Testing and Rapid Software Testing. Among several good things they have done so far, I am starting to like their initiative of - Bangalore Weekend Testing


So, here is the deal of Bangalore Weekend Testing

They ( Ajay Balamurugadas , Manoj Nair, Parimala, Sharath Byregowda ) get together online, pick a product ( preferably open source ) and test together. At the end they publish a report that is helpful to the organization, team or open source project owners. Most important of all they have great fun and learn together.

I dont think you should be deprived of such fun and learning especially when it comes for free.
  • It can happen from wherever you are and is a great way to have fun during weekend if you claim that testing is your passion.
  • You will always have something to take back to your office on Monday and try out new things to help your organization.
  • You would get to meet a lot of other testers online and network.
  • You would learn from each other and better your ideas in testing.
  • You could end up meeting them and doing more testing together.
  • These people will also help you set up a blog and help you publish your experiences and could even mentor you.
  • You help the community of software testers by demonstrating your skills and or through your reports.
  • You help open source projects better their next release or plan for a next release.

Structure:
  • Once you are subscribed to weekendtesting@gmail.com you will receive updates on time and projects that is planned for the weekend or it may happen as you find the registrants online
  • A chat group is created on Gtalk by a facilitator ( say Ajay ) and invite all registered testers to it. ( Registration means sending an e-mail to weekendtesting@gmail.com saying "hey, I am curious" )
  • With the help of a Session Tester, testing for a product would go on for about 2 - 3 hours or even more as the excitement goes on.
  • Participants then spend time preparing their reports and share it across e-mail, get it reviewed and then publish it on their blogs ( if they want to ) or in a website that is coming up.
  • Will be so much fun as you are in direct control of your tests. No manager or Lead watching you and no time pressure and no customer waiting for your report. Just do it!
  • You wait for the next weekend.

Examples from the past:

Date:
01st August 2009.
Software:
Testers:
Ajay, Parimala.
Blogs posts:
http://curioustester.blogspot.com/2009/08/paired-testing-at-distance-part-1.html
Reports:
----------------------------------------------------------------------------------------------

Note : These people are doing thing to bring the community together. It does not matter who you are, what certifications you have, what school you belong to, whether you like our ideas or hate them. All it matters here is - do you have the curiosity and passion to have fun through testing and yet be valuable to the open source community. Only fun and learning can unite us all - that's their motto.

Curious? Wanna have fun and learn to test better? Shoot an e-mail to weekendtesting@gmail.com

Join Facebook group of Bangalore Weekend Testers



or Test Republic group to get updates about it or to keep a tab on their reports and activities.




To all those who were concerned that community was constantly being divided, here is what could make us all one - fun while testing together. Here are the guys who are doing it. Be a part of it and have fun.

Update: Aug 18th, 2009

Check out how Bangalore Weekend Testers - 3 went and see if you are fine missing the 4th?

Parimala's Report : http://curioustester.blogspot.com/2009/08/bangalore-weekend-testing-3-bwt-3.html
Ajay's Report: http://enjoytesting.blogspot.com/2009/08/weekend-testing-session-report.html