Software testing: How foolish is to try to make a fool proof software?

Sat, 01 Sep 2007

A human is a most sophisticated machine ever developed and for this very reason, humans tend to loose sight of original intention when working to increase productivity or results. As someone said “your worst enemy is none but you”.When a salesman from a credit card company begs you to fill a form for credit card and goes on to say that he doesn’t even care whether the form is accepted or not, you know that he is working for incentives.

When a developer pretends that he has finished his job because he has exhausted his allotted quota of time, you know that he is working to meet some time line and not to deliver the best product.

When you see a tester reporting problems which a practical user will never bother about, you know he has been instructed to find as many problems as he can.

As an experienced developer says “A well-designed system makes it easy to do the right things and annoying (but not impossible) to do the wrong things”. Sometimes testers go on requesting to restrict things which they think are wrong in some context. But I have seen restricting the same things coming back as problems in some other context in future. For example, does Microsoft Outlook stop you from sending a meeting request with just one minute duration when any sane person can tell you that a minute long meeting (if it qualifies to be called as a formal meeting) just doesn’t make sense? When you resize your taskbar to half of the screen size, does Microsoft Windows stop you? Will anyone stop you if you will break the windscreen of your new car with your old golf club?

I do understand the importance of directing and warning user if what he is doing might be nasty but I feel that trying to program for a person who is determined to mess up everything, just doesn’t make sense. What do you think?


One Response to “Software testing: How foolish is to try to make a fool proof software?”

  1. Kangkan Says:

    A good point of discussion. In the ever growing passion for object oriented development and agile development world, we have started loosing the base. At most of the times we forget that the object-oriented approach is derived from the core object – the universe or the real life.

    If we see most of the real life objects does not block wrong usage. But it is the user who need to be sensible. Destructive testing is not negative, but its degree and rigor should be as per the goal of the software.

    Of course, in most of the contexts, the testing team hardly knows the target or positioning of the product under development. This is because we hardly are united. The product planning, design, development and marketing are done in isolation in most of the failing teams.

    We need to have an effective unification of all the stakeholders (in reality) to make the success of our solutions in reality.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: