Having deep interest in cooking forced me to think how it is similar to software and services testing – perhaps I get a lot of time for thinking during this hobby. A healthy dish preparation requires a must to follow process clubbed with ingredients and finally the dish consumption totally depend on the taste. I want food prepared by me should not be left on the plate which can be ascertain by proper testing of the food.
Well while I am in my profession, I correlate the above two in great way. When a project is complete from developers, the cooked dish comes to me for testing. When I recommend the changes in terms of bug fixing, it resembles my hobby. It resembles how I add wheat ball to nullify the effect of extra salt in the dish. It resembles how I add cheese to make the dish less spice. It resembles how I add extra lemon to make dish more tasty.. Yes sometimes just to add little salt and the dish is tasteful. Great crazy experience – the more you do yourself, you’ve got over the result – and the more fun you will have too.
As experience grows day by day , we start combining tests ,add new ways of testing and then start thinking differently similar to the cooking. In cooking also we keep on trying different methods to develop a dish, taste it and fine tune for next preparations.
I like to test software similar to a chef tasting their dish .But without any document or proper preparation how is it possible , it’s just like a cooking without proper recipe we cant even think to start cooking .
If we start cooking also then dish will be tasteless same is with testing if we will start testing just like that we will all made huge mistakes. But yes, we can wait until we have all documentation & “working” software before we start testing. So for this we keep cook books with recipes similarly we also keep test cases and test scenarios , working software and so on.
As testers we can’t be expected to test everything, right? We can make our testing more effective so that our testing enables us to provide great feedback on the state of the software.
I see development teams as being made up of people fulfilling software development roles & tasks. In that they fulfill a role on a development team, as do programmers as like chefs fulfill roles in a kitchen . So developers and tester both work together to deliver any software.
For an example: Programmers write code which testers help to reduce the mistakes in . We both help to deliver software to a customer. Without either of us, we can not deliver a good software according to his requirement . It’s all similar to the chefs in the kitchen they are all chefs preparing one element of a dish. Other people of development team and testing team both are responsible to for delivery just like food suppliers & delivery guys without them there would be no food to serve.
I take the example of tasting food for it’s spicy content – we would not say the food was too spicy or not spicy enough. We could say that there is more chilly compared to the same dish prepared last week. Is there a reason for the extra chilly? Is the extra chilly a problem? Was the reduced chilly a problem?
Testing isn’t only sampling it just like a chef, tasting the food before serving it only makes up a small portion of the job.
In Summary, we test a software at each and every stage just like chef taste his dish at each and every step following a particular recipe. As we need all the required stuff for cooking like ingredients,cook book etc. similarly for testing also we need all the required software and documents for the testing also.