Monday, March 21, 2011

On being a better Tester

I am a software tester and have seen and met many software testers like me who want to make a accurate judgement about a test case if it has passed or failed. The obvious answer and the correct one is - compare the specification output of system to output that is observed for the test case being executed. Interesting thing to note here is that there are other influencing factors to change the decision of the tester.

Common factors include:
• Design discussion that is part of tester's knowledge base.
• Testing similar products and its output for somewhat similar test case.
• Heuristic output prediction that comes due to experience. e.g. if I have been testing many years I think you know the answer.
• Statistical characteristics judgement. e.g. I know this test case will work because it has worked most of the time.
• Changing product specs that influences comparison of results of one test execution to another.
• A model based approach is used because tester wants to be subjective and expect specific output set for specified input data set.

In all cases the tester is a voice of customer. I conclude that a better method is if tester and subject matter experts are two different people one working towards software specifications only and other towards functional specifications only.

Blogspot कीती छान आहे?

Now you can post in your regional language post on blogspot - here is sample snippet I have typed.

आपल्या मत्रुभाशेत ब्लॉग्गिंग करण्या सारखे दुसरे सुख नही बघा.. अखेर आम्ही मराठी अहोत हे स्वाभिमानाने सांगता येते आनी ते व्यक्ते पण करता येते. मस्त मजा मादी

चला दाम्लो अता लिहून

Wednesday, March 9, 2011

Designing Zero Knowledge System for Product Innovation

What is meant by being Zero Knowledge?
A Zero Knowledge System is the one who do not tell you anything if a. it has any knowledge about itself or b. its behavior and also c. its features. It is indeed an extreme condition of a high quality product. If you have a good quality product you will essentially find nothing wrong with it. The difference between quality product and a zero knowledge product is quality product will have a system that will highlight the various features by hints/tips so user can use them.

In a Zero knowledge system there is no highlight whatsoever e.g. if you install the product you get nothing out of it - at least at systemic level. Now take an example of accounting software. If you are an accountant and you install non-zero knowledge based software, the software will start creating a system by asking initial setup data input questions e.g. a company name and sales numbers, department etc...

In accounting software and many other software hypothetically it is possible to do nothing after the software is installed. A lot of software actually does so e.g. some Operating Systems, Word processing software etc... I think these are zero knowledge software and ideally a software should be a like that. E.g. for installing a browser you may need add-ons etc... these are now helping you create an incomplete system or not necessarily balanced set of usability. Though these are high quality products and there is nothing wrong with it you may be constrained due to its features and not take full benefit and innovative about its use. Note that if you are unable to use certain features intuitively that's also a problem because now you may report bugs. Such system is very much degraded and not zero knowledge compliant.

How does customer derive value of innovation?
By able to customize the data as per the need in zero knowledge based system the innovation is much more intuitive and predictable and need based thus giving a more value add for customer. If software are designed keeping this in mind and then tested the benefit will reach customer.

These are my thaughts and will be happy to know reader comments.