Showing posts with label Intelligent tester. Show all posts
Showing posts with label Intelligent tester. Show all posts

Monday, May 25, 2015

Its my baby, I don't want to break it

The old school philosophy of testing is "Break the software". I used to think this way and be driven this way. Then I realized something, when my focus is on breaking something, my approach is attack mode.....




If I want to break a glass vase, I throw it down and it breaks.

If I want to break my software, I find vulnerable spots and take a jab at it.
Then what?
I report, "hey, its broken" and probably feel proud that "Hey, I broke it!!"
Then what?
I don't know. 
I am not sure if this approach every worked for me.


I usually fall in love with most products I work on. They are my babies. I want the best for them. I want them to evolve and improve. I want them to co-exist with their sibling applications. I want them to have a unique name in the software industries. I want to give them the best opportunities I can provide with my team.




It takes a village
It take a village to raise a kid.
It takes a team to create a product.


Know the history
Know where the kids come from. Their background, family history, family health history and such.
Know where the idea for the application come from. The requirements and the needs that lead to creating the application.


Understand what they want
We want to give the best of the best to our kids. But that wont make them happy. Understanding what they want and trying to give them as much of what they want will make us happy.
We want to create the best possible application. But the application may not need the extra bells and whistles. It just needs that extra umph. Try to give what it needs with what we got.

Protect them from threats
Kids should be educated about pedaphiles and manipulators so that they can protect themselves when we are not around. Because, the bastards always make sure the kids are alone to take advantage of them. Provide them with whistle or phone or a process to attract attention when in trouble.
Software should be prepared to deal with hackers and hijackers so that they it can protect itself anywhere in the world. Provide them with Captchas or trace of analytics to understand what happened when.



Extra care when sick


We have to give extra attention to the kids when they are sick. Not hate them for being sick.
We have to give extra attention to the application when they are vulnerable. Not walk away and abandon them.








Rules have to be followed
Kids may not want to follow rules sometimes. But they should not be given an opportunity certain times. They have to follow the rules as part of the society
Application functionality may become dull or not enough adventurous some times. That is okay. It is for the application's own good. It is to follow some rules a it is part of the society.








They will leave the nest
Don't try to hold on to the application out of fear of being jobless. When it is time, it is time for the application to go through new process and into new departments and have a life of their own.


Enjoy them

Enjoy being with the kids. Explore the world with them. Talk about anything with them and see what they think. If they need to understand certain things more than the other, explain it to them.
Enjoy working on the application. Explore the software world with it. Input anything and observe what comes out. If the software needs to be tested in other ways using other tools, definitely do it.



Watch them grow and evolve
Watch your kids grow and evolve into something wonderful
Watch the application grow and evolved into what it is meant to be.

Sunday, June 16, 2013

Test the pencil

(Not to be mistaken for the pencil test)
 If the requirement for a pencil was to write 10 pages, and during testing the pencil ended up writing 12 pages.
What should the testers do? Pass it or fail?
Should the testers PASS the pencil test because the result was better than expected?
Should the testers FAIL the pencil test because the result was not per spec?
May the testers ask for more specs regarding the weight and thickness of the overall pencil?
May the testers ask for more specs regarding the weight and thickness of the lead core?
Should the testers re-test the darkness of the writing?
Should the testers use other kinds of paper for executing re-testing?
What would you do as a tester?
Why should you do anything else besides testing and giving a pass or fail?



Possible defects – 
  1. Longer pencil than mentioned in spec
  2. Thinner lead core than mentioned in spec;

Possible concerns – 
  1. More money is being spent on the pencil
  2. Less return of investment may be the result.

A few opinions I collected over the years - 
  1. Need more clarification and information
  2. It is a FAIL because the company could be losing its return on investment.
  3. It is a PASS because more the merrier
  4. When the requirement was to test till 10 pages, the tester should have stopped testing at 10 pages. The extra testing is exhaustive testing. We should limit our tests to the resources we are provided only.
What would you suggest and do, if you faced such a situation?

If testing was like sex

No wonder most Software out there is f...ed up and violated!!

According to Freud - the unconscious mind and the primary motivation for all things in life is sex. So, I am comparing software testing  behavior to making love during my leisure (bored out of mind) time. One more reason for doing this - both these subjects are kind of taboo even in the most open minded culture.

A first time virgin tester does their best, completes the job as their instincts tell them and from all the
documentation (videos) they had learnt from. But they know there is more to it than just completing the task.

In a stress free environment, the tester is enthusiastic and wants to give their best because the application deserves the best (in order to improve the product, make it bug free). So, they get the book that contains all the various techniques for completing the task. They learn and apply all that they learnt. During the process they understand there is no way in hell they can go through some techniques, due to lack of time or lack of more knowledge or it just does not make sense.

In a stressful environment, the tester does not dare to attempt more than what is expected. The job is complete and that is all that matters. They do not have the luxury of knowing the application more. Besides no on ever got fired for missing a bug.

In a perfect environment, the tester does not just jump in to finish the task. They get to know the application. The more they understand the application, the better they can plan their tests. They may be the one or they may not be the one. They wont know more till they explore.

A knowledgeable tester will realize it is the best thing to step down if they are not equipped to test the product.
An intelligent tester will train themselves to gain the knowledge necessary to test the product.
An average tester will just hang in there and look busy while doing their best.

A tester that takes the time to learn about the application and takes the time to explore it can come up with the best possible tests suitable for the particular application. Every application is unique with certain similarities. They may all look the same but they come from different places. Their needs are different. Their environments are different. They are made differently. They are made with sugar and spice and everything nice. (lol)

Do not assume your application is your female dog. Know your application accept it with all its flaws and respect it. Then custom design your tests. Never stop exploring. There is no stopping you now.

Why you should not delete Tickets

I am old school. Back in the day, logging a ticket was not everybody’s job. Prioritizing and removing tickets from the queue was also handle...